Timeline



Mar 31, 2014:

11:34 PM Changeset in webkit [166567] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r166553.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(_WebKitSettingsPrivate::_WebKitSettingsPrivate): Pass 'WebKit2.' as the second argument to WebPreferences::create().

11:09 PM Changeset in webkit [166566] by ryuan.choi@samsung.com
  • 16 edits in trunk

[EFL][WK2] Extract the control of page background out of color_set
https://bugs.webkit.org/show_bug.cgi?id=127539

Reviewed by Gyuyoung Kim.

Source/WebCore:

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

Added m_viewBackgroundColor to clear when m_setDrawsBackground is false.
(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

(WebCore::CoordinatedGraphicsScene::setViewBackgroundColor):
(WebCore::CoordinatedGraphicsScene::viewBackgroundColor):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
Added EFL guard not to set opaque as a default for MainFrameRenderViewLayer.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::ensureRootLayer):
Added EFL guard to apply page scale on RenderView like IOS.

Source/WebKit2:

EFL have a way to change the color using evas_object_color_set and we used it to change background.
But, We should not use it because the alpha value of color_set is used
for the transparancy of object itself including background and contents.

This patch added ewk_view_bg_color_{get|set} to change the background color.

  • UIProcess/API/C/efl/WKViewEfl.cpp:

Extracted controls of page background out of color_set.
color_set will be only used for the opacity of whole contents.
(WKViewSetBackgroundColor): Added to share page background color.
(WKViewGetBackgroundColor):

  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/efl/EwkView.cpp:

(EwkView::handleEvasObjectColorSet):

  • UIProcess/API/efl/ewk_view.cpp:

Removed ewk_view_draws_page_background_set which just control whether to draw background.
ewk_view_bg_color_set will conver it.
(ewk_view_bg_color_set):
(ewk_view_bg_color_get):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp: Added simple test case.
  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::setViewBackgroundColor):
(WebKit::WebViewEfl::viewBackgroundColor):

  • UIProcess/efl/WebViewEfl.h:

Tools:

Added an option(C) to change background color.

  • MiniBrowser/efl/main.c:

(window_create):
(elm_main):

11:01 PM Changeset in webkit [166565] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2]Implement ewk APIs of web local storage which have deletion functions of the local storage entries
https://bugs.webkit.org/show_bug.cgi?id=130577

Patch by Joonghun Park <jh718.park@samsung.com> on 2014-03-31
Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/ewk_storage_manager.cpp:

(ewk_storage_manager_entries_clear):
(ewk_storage_manager_entries_for_origin_del):

  • UIProcess/API/efl/ewk_storage_manager.h:
  • UIProcess/API/efl/ewk_storage_manager_private.h:

(EwkStorageManager::wkStorageManager):

  • UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:

adding and updating API unittest and fixing memory leak of the existing test case
(EWK2StorageManagerTest::getStorageOriginsCallback):
(EWK2StorageManagerTest::checkOrigin):
(EWK2StorageManagerTest::getOrigin):
(TEST_F):

10:44 PM Changeset in webkit [166564] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed build fix on the EFL port with latest EFL libraries since r166149

  • ImageDiff/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS to include dirs
10:37 PM Changeset in webkit [166563] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
https://bugs.webkit.org/show_bug.cgi?id=130955

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-03-31
Reviewed by Dean Jackson.

To avoid aliasing issues when we render content to WebGL canvas,

we need to implement MSAA support.

  • Imagination OpenGLES GPU Driver already support MSAA, so we need a separate code path to enable it.
  • platform/graphics/Extensions3D.h:
  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.h:

(WebCore::Extensions3DOpenGLCommon::isImagination):

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:

(WebCore::GraphicsContext3D::reshapeFBOs):

9:13 PM EFLWebKit edited by ryuan.choi@samsung.com
Removed WebKit2 from future plans (diff)
7:45 PM Changeset in webkit [166562] by Lucas Forschler
  • 5 edits in tags/Safari-538.26.1/Source

Versioning.

7:42 PM Changeset in webkit [166561] by Lucas Forschler
  • 1 copy in tags/Safari-538.26.1

New Tag.

7:13 PM Changeset in webkit [166560] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Rename policy enums to match the delegate methods
https://bugs.webkit.org/show_bug.cgi?id=131002

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

7:03 PM Changeset in webkit [166559] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add more preferences
https://bugs.webkit.org/show_bug.cgi?id=131001

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences isJavaScriptEnabled]):
(-[WKPreferences setJavaScriptEnabled:]):
(-[WKPreferences javaScriptCanOpenWindowsAutomatically]):
(-[WKPreferences setJavaScriptCanOpenWindowsAutomatically:]):
(-[WKPreferences suppressesIncrementalRendering]):
(-[WKPreferences setSuppressesIncrementalRendering:]):
(-[WKPreferences isJavaEnabled]):
(-[WKPreferences setJavaEnabled:]):
(-[WKPreferences arePlugInsEnabled]):
(-[WKPreferences setPlugInsEnabled:]):

6:52 PM Changeset in webkit [166558] by alex.christensen@flexsim.com
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Unreviewed build fix after r166496.

  • win/tools/vsprops/GStreamerCommon.props:

Added gio-2.0.lib to list of GStreamer includes.

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

Fix the build.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

6:34 PM Changeset in webkit [166556] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

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

(WebKit::RemoteLayerTreeHost::setLayerID):
(WebKit::RemoteLayerTreeHost::layerID):
(WebKit::RemoteLayerTreeHost::createLayer):

6:23 PM Changeset in webkit [166555] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add a couple of iOS specific preferences
https://bugs.webkit.org/show_bug.cgi?id=130999

Reviewed by Simon Fraser.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences allowsInlineMediaPlayback]):
(-[WKPreferences setAllowsInlineMediaPlayback:]):
(-[WKPreferences mediaPlaybackRequiresUserAction]):
(-[WKPreferences setMediaPlaybackRequiresUserAction:]):
(-[WKPreferences mediaPlaybackAllowsAirPlay]):
(-[WKPreferences setMediaPlaybackAllowsAirPlay:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

6:10 PM Changeset in webkit [166554] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r166415): JSObject{Get,Set}Private() don't work with proxies objects
https://bugs.webkit.org/show_bug.cgi?id=130992

Reviewed by Mark Hahnenberg.

Forward JSObjectGetPrivate() and JSObjectSetPrivate() to the wrapped object.

  • API/JSObjectRef.cpp:

(JSObjectGetPrivate):
(JSObjectSetPrivate):

  • API/tests/testapi.c:

(main): Added new test case to validate we are properly foarwarding.

6:02 PM Changeset in webkit [166553] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Add a new -[WKPreferences initWithUserDefaultsPrefixKey:] initializer
https://bugs.webkit.org/show_bug.cgi?id=130996

Reviewed by Simon Fraser.

Add a "key prefix" to the WebKit::WebPreferences create function, so we can use a different
key prefix ("WebKit") for the modern API and not pollute the user defaults namespace with
the old key prefix ("WebKit2.").

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesCreate):
(WKPreferencesCreateWithIdentifier):

  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences init]):
(-[WKPreferences initWithUserDefaultsPrefixKey:]):
(-[WKPreferences userDefaultsPrefixKey]):

  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::WebPageGroup):

  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::WebPreferences):

  • UIProcess/WebPreferences.h:

(WebKit::WebPreferences::create):

  • UIProcess/mac/WebPreferencesMac.mm:

(WebKit::makeKey):
(WebKit::setStringValueIfInUserDefaults):
(WebKit::setBoolValueIfInUserDefaults):
(WebKit::setUInt32ValueIfInUserDefaults):
(WebKit::setDoubleValueIfInUserDefaults):
(WebKit::WebPreferences::platformInitializeStore):
(WebKit::WebPreferences::platformUpdateStringValueForKey):
(WebKit::WebPreferences::platformUpdateBoolValueForKey):
(WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
(WebKit::WebPreferences::platformUpdateDoubleValueForKey):
(WebKit::WebPreferences::platformUpdateFloatValueForKey):

5:53 PM Changeset in webkit [166552] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove duplicate entries in Derived Sources.

Rubber-stamped by Anders Carlsson.

  • WebKit2.xcodeproj/project.pbxproj:
5:19 PM Changeset in webkit [166551] by ap@apple.com
  • 3 edits
    3 adds in trunk

Crashes in PageConsole::addMessage
https://bugs.webkit.org/show_bug.cgi?id=130991
<rdar://problem/14795232>

Reviewed by Geoffrey Garen.

Source/WebCore:

Test: http/tests/misc/detached-frame-console.html

  • page/DOMWindow.cpp: (WebCore::DOMWindow::printErrorMessage): Added a null check.

It's legitimate for this to be called for a window that is not currently displayed
in a frame.

LayoutTests:

  • http/tests/misc/detached-frame-console-expected.txt: Added.
  • http/tests/misc/detached-frame-console.html: Added.
  • http/tests/misc/resources/detached-frame-console-subframe.html: Added.
5:12 PM Changeset in webkit [166550] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):

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

Fix the build.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):

5:00 PM Changeset in webkit [166548] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r166144?): fast/preloader/document-write.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=130942

  • platform/mac/TestExpectations: Marking as such.
4:50 PM Changeset in webkit [166547] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed test correction after r166530.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting): No need to change preference for all tests. We set the proper
fine-grained setting for swipe tests. This prevents existing tests from breaking.

4:49 PM Changeset in webkit [166546] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Rename -[WKNavigationAction destinationFrame] to -[WKNavigationAction targetFrame]
https://bugs.webkit.org/show_bug.cgi?id=130994

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction description]):
(-[WKNavigationAction targetFrame]):
(-[WKNavigationAction setTargetFrame:]):
(-[WKNavigationAction destinationFrame]): Deleted.
(-[WKNavigationAction setDestinationFrame:]): Deleted.

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

4:30 PM Changeset in webkit [166545] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
https://bugs.webkit.org/show_bug.cgi?id=130768
<rdar://problem/16421471>

Reviewed by Benjamin Poulain.

  • Shared/mac/RemoteLayerBackingStore.h:

Make RemoteLayerBackingStore noncopyable.
Add flush(), which synchronously flushes painting operations on the underlying backing store.
Add storage for the CGContext that needs to be flushed, and ensure that it is flushed before we paint again.

  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::display):

(RemoteLayerBackingStore::drawInContext):
Don't flush the context immediately after painting.

(RemoteLayerBackingStore::flush):
Flush the current front surface/buffer's context.
Clear the new pending-flush members.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::flushBackingStoreChangesInTransaction):
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Crawl through all of the valid changed backing stores in the transaction and flush them.
Reset changed properties after encoding the commit.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::resetChangedProperties):
(WebKit::RemoteLayerTreeTransaction::changedLayers):
(WebKit::RemoteLayerTreeTransaction::changedLayerProperties):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
(WebKit::dumpChangedLayers):
Instead of storing a copy of the LayerProperties struct for each changed layer
while building the transaction in the Web process, store a list of changed layers,
and directly encode the commit from those layers' LayerProperties. This provides a few benefits:

  • We avoid copying LayerProperties for every changed layer, every commit
  • We can make RemoteLayerBackingStore noncopyable
  • We can walk the changed layers after building the transaction in order to flush backing store, and actually affect the layers' own RemoteLayerBackingStore instead of a copy.

The UI process will still generate a LayerPropertiesMap at decode time.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):
Don't copy the LayerProperties struct for the debug overlay. Instead,
adjust the properties which the debug overlay whacks directly on the layer,
after applying the normal LayerProperties.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::recursiveBuildTransaction):
Don't reset changed layer properties in the middle of building a transaction. Instead,
RemoteLayerTreeDrawingArea::flushLayers() will reset all the flags on all changed layers
after the commit is encoded.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

(WebKit::PlatformCALayerRemote::properties):

4:27 PM Changeset in webkit [166544] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Improve GC_LOGGING
https://bugs.webkit.org/show_bug.cgi?id=130988

Reviewed by Geoffrey Garen.

GC_LOGGING can be useful for diagnosing where we're spending our time during collection,
but it doesn't distinguish between Eden and Full collections in the data it gathers. This
patch updates it so that it can. It also adds the process ID to the beginning of each line
of input to be able to distinguish between the output of multiple processes exiting at the
same time.

  • heap/Heap.cpp:

(JSC::Heap::collect):

4:23 PM Changeset in webkit [166543] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

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

This is not the correct fix. (Requested by bfulgham on
#webkit).

Reverted changeset:

"Unreviewed test fix after r166530."
http://trac.webkit.org/changeset/166536

4:15 PM Changeset in webkit [166542] by Simon Fraser
  • 42 edits
    4 adds in trunk/Source

[UI-side compositing] Proxy animations to the UI process
https://bugs.webkit.org/show_bug.cgi?id=130946

Source/WebCore:

Reviewed by Tim Horton.

To proxy CA animations, make PlatformCAAnimation a pure virtual base class
and subclass for Mac, Windows, and Remote (just like PlatformCALayer).

Add coding support for TimingFunctions.

Do some minor #include tidyup.

Minor refactor in GraphicsLayerCA to share some animations code.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/animation/TimingFunction.h: Add setters need for encode/decode.

(WebCore::CubicBezierTimingFunction::setValues):
(WebCore::CubicBezierTimingFunction::setTimingFunctionPreset):
(WebCore::StepsTimingFunction::create):
(WebCore::StepsTimingFunction::setNumberOfSteps):
(WebCore::StepsTimingFunction::setStepAtStart):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::createPlatformCAAnimation):
(WebCore::GraphicsLayerCA::animationCanBeAccelerated): Minor refactor so we can share
code with GraphicsLayerCARemote.
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::createBasicAnimation):
(WebCore::PassRefPtr<PlatformCAAnimation>GraphicsLayerCA::createKeyframeAnimation):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCAAnimation.h:

(WebCore::PlatformCAAnimation::~PlatformCAAnimation):
(WebCore::PlatformCAAnimation::isPlatformCAAnimationMac):
(WebCore::PlatformCAAnimation::isPlatformCAAnimationWin):
(WebCore::PlatformCAAnimation::isPlatformCAAnimationRemote):
(WebCore::PlatformCAAnimation::PlatformCAAnimation):
(WebCore::PlatformCAAnimation::setType):

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h: Added.
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::addAnimationForKey):
(PlatformCALayerMac::animationForKey):

  • platform/graphics/ca/mac/TileController.mm:
  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  • platform/graphics/ca/win/PlatformCAAnimationWin.h: Added.

Source/WebKit2:

Reviewed by Tim Horton.

Add encoding/decoding of TimingFunctions. Add encoding support
for HashSet.

Add PlatformCAAnimationRemote and have PlatformCALayerRemote allow
animations now. PlatformCALayerRemote's properties are defined in the class,
as is the encoding/decoding (much cleaner than having them in the transaction
class I think).

Add support for the "animationDidStart" callback and sending this back to the
web process. This involves a HashMap of layerID->WKAnimationDelegate stored
on the RemoteLayerTreeHost, and a message send via the DrawingArea. On the
other side, RemoteLayerTreeContext stores a HashMap of layerID->PlatformCALayerRemote*
for layers which have just started animations, which is used to get the
PlatformCALayer* to call animationDidStart() on.

This requires that the RemoteLayerTreeHost* be passed down into property application,
and that the RemoteLayerTreeHost have a reference to the drawing area.

To every CALayer in the UI process we -setValue:forKey: to track the PlatformLayerID,
so we can get back to it in order to dispatch "animationDidStart".

Replace some "using namespace WebKit" with "namespace WebKit { }".

  • Platform/IPC/ArgumentCoders.h:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<LinearTimingFunction>::encode):
(IPC::ArgumentCoder<LinearTimingFunction>::decode):
(IPC::ArgumentCoder<CubicBezierTimingFunction>::encode):
(IPC::ArgumentCoder<CubicBezierTimingFunction>::decode):
(IPC::ArgumentCoder<StepsTimingFunction>::encode):
(IPC::ArgumentCoder<StepsTimingFunction>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/RemoteLayerBackingStore.mm:
  • Shared/mac/RemoteLayerTreePropertyApplier.h:
  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::applyPropertiesToLayer):
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):

  • Shared/mac/RemoteLayerTreeTransaction.h:
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::layerID):
(WebKit::RemoteLayerTreeHost::createLayer):

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):
(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):

  • UIProcess/mac/RemoteLayerTreeHost.h:

(WebKit::RemoteLayerTreeHost::animationDelegates):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::layerWillBeRemoved):
(WebKit::RemoteLayerTreeHost::animationDidStart):
(WebKit::RemoteLayerTreeHost::layerID):
(WebKit::RemoteLayerTreeHost::createLayer):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::acceleratedAnimationDidStart):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:

(WebKit::GraphicsLayerCARemote::createPlatformCAAnimation):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h: Added.
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: Added.
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::animationStarted):
(WebKit::PlatformCALayerRemote::addAnimationForKey):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
(WebKit::PlatformCALayerRemote::animationForKey):
(PlatformCALayerRemote::recursiveBuildTransaction): Deleted.
(PlatformCALayerRemote::addAnimationForKey): Deleted.
(PlatformCALayerRemote::removeAnimationForKey): Deleted.
(PlatformCALayerRemote::animationForKey): Deleted.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
(WebKit::RemoteLayerTreeContext::animationDidStart):

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

(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

4:00 PM Changeset in webkit [166541] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Double-buffer RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=130990

Reviewed by Simon Fraser.

We'll keep a front and back buffer for each surface; the front is generally currently
being displayed in the UI process, and the back is the one we'll paint into.

Swap the two surfaces each time we paint; since we synchronize with the UI process,
the old front surface will generally be out-of-use by the render server by the time
we paint again. However, since render server commits are asynchronous and we have
no way to syncronize with them yet, we have to check if the (swapped to front) back buffer is in use,
and create a new front buffer if it is.

Triple-buffering would solve this problem, as would synchronization with the render server,
as would a pool of surfaces - we will revisit these solutions in future patches.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::ensureBackingStore):
(RemoteLayerBackingStore::clearBackingStore):
Factor clearBackingStore() out of ensureBackingStore() and display().

(RemoteLayerBackingStore::display):
Swap buffers. Since m_backSurface will hold on to the back surface's CGContext,
we don't need to worry about tearing down the image first anymore.
Don't worry about creating a back image (nor copying it into the front image)
if we're going to paint the whole layer.

(RemoteLayerBackingStore::drawInContext):
Fix some names.

(RemoteLayerBackingStore::applyBackingStoreToLayer):
Reduce duplication.

(RemoteLayerBackingStore::createImageForFrontBuffer): Deleted.

3:52 PM Changeset in webkit [166540] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Synchronize Web process remote layer tree commits with CoreAnimation commits in the UI process
https://bugs.webkit.org/show_bug.cgi?id=130984

Reviewed by Simon Fraser.

There's no reason for the Web process to paint faster than the UI process
can apply to and commit the CoreAnimation layer tree.

Also, once we get proper double-buffering and purgeable back buffers, we
will need the ability to make some assumptions about in-use surfaces.

Unfortunately, we can't actually tell when the render server commits,
as this is an asynchronous operation in a process we don't control, so
for now, this is only an approximation.

This also means that the assumptions we would like to make won't be
strong guarantees yet.

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
When we commit, install a run loop observer to fire immediately after CoreAnimation commits.

(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
Fix a typo ('cmponents').

(WebKit::coreAnimationDidCommitLayersCallback):
(WebKit::RemoteLayerTreeDrawingAreaProxy::scheduleCoreAnimationLayerCommitObserver):
(WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers):
When CA commits, send a message to the Web process letting it know that we
swapped to the new backing store.

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

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Defer remote layer tree commits until we get didUpdate() from the UI process.

3:29 PM Changeset in webkit [166539] by matthew_hanson@apple.com
  • 13 edits
    3 deletes in tags/Safari-538.26

Rollout r166415.

3:28 PM Changeset in webkit [166538] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove the trigger for webkit1 tests on the gtk-linux-64-release bot
https://bugs.webkit.org/show_bug.cgi?id=130987

r166427 removed the WebKit1 GTK+ bots, so we don't longer need to
trigger the webkit1 bot tests on the gtk-linux-64-release bot.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-03-31
Reviewed by Martin Robinson.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:19 PM Changeset in webkit [166537] by benjamin@webkit.org
  • 7 edits in trunk/Source/WebCore

CSS JIT: compile the first-child pseudo class
https://bugs.webkit.org/show_bug.cgi?id=130954

Reviewed by Andreas Kling.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):
The compiler use the context's style directly when resolving style. An error introduced
in the rule collector would cause a crash in the compiled code which would be hard to debug.
Add an assertion early in the stack to catch errors where it is easier to debug them.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initForStyleResolve):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
Refactor those to be able to reuse the code getting a sibling element preceding the current element.

(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
Extract the code checking the current mode from SelectorCodeGenerator::markParentElementIfResolvingStyle()
in a separate function. This will be useful for all the pseudo class with marking.

(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::setFirstChildState):
This is the slow path for when the first-child pseudo class is on a fragment that is not
the rightmost.
The reason to use a slow path is accessing renderStyle() is not trivial and this case isn't not
as common. We should improve this later.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
This is just implementing the test for first-child plus the tree marking. Nothing fancy,
this is basically the same thing as SelectorChecker.

  • dom/Element.cpp:

(WebCore::Element::setChildrenAffectedByFirstChildRules):

  • dom/Element.h:

C++ fallback to set the flag, to be improved later with the other flags.

  • rendering/style/RenderStyle.h:

I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.

Also update the flags accessor to make them easier to work with from the compiler. In particular,
setFirstChildStateFlags() sets both isUnique and firstChild. Currently the JIT does not need to access
the value so individual flags are made private.

3:17 PM Changeset in webkit [166536] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test fix after r166530.

After switching to high-resolution continuous scroll output, forgot to update one test case.

  • fast/events/platform-wheelevent-in-scrolling-div-expected.txt:
  • fast/events/platform-wheelevent-in-scrolling-div.html:
3:16 PM Changeset in webkit [166535] by dino@apple.com
  • 12 edits in trunk

Remove WEB_ANIMATIONS
https://bugs.webkit.org/show_bug.cgi?id=130989

Reviewed by Simon Fraser.

Remove this feature flag until we plan to implement.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
3:14 PM Changeset in webkit [166534] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix iOS build.

  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):

3:04 PM Changeset in webkit [166533] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. iOS build fix after r166532. Add missing comma.

  • dom/DocumentMarker.h:
2:53 PM Changeset in webkit [166532] by beidson@apple.com
  • 8 edits in trunk/Source/WebCore

Add variant of phone number parsing that use DocumentMarker in the current selection
<rdar://problem/16379566> and https://bugs.webkit.org/show_bug.cgi?id=130917

Reviewed by Darin Adler.

  • dom/DocumentMarker.h:

(WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.

  • editing/Editor.cpp:

(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::scanSelectionForTelephoneNumbers): TextIterate over the selected range looking for numbers.
(WebCore::Editor::scanRangeForTelephoneNumbers): Scan the given range for a telephone number,

adding the DocumentMarker to any that are found.

(WebCore::Editor::clearDataDetectedTelephoneNumbers):

  • editing/Editor.h:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
(WebCore::InlineTextBox::paintDocumentMarkers):

  • rendering/InlineTextBox.h:
  • testing/Internals.cpp:

(WebCore::markerTypesFrom):

2:23 PM Changeset in webkit [166531] by Simon Fraser
  • 20 edits in trunk/Source

[iOS WK2] Hook up scroll events for accelerated overflow:scroll
https://bugs.webkit.org/show_bug.cgi?id=130976

Source/WebCore:

Reviewed by Tim Horton.

When an accelerated overflow:scroll is scrolled in the UI process,
tell the WebProcess that the scroll happened to update RenderLayer
state and fire events.

In the WebProcess, RemoteScrollingCoordinator gets a message from the
UI process and calls AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
Fixed that function to handle scrolling nodes other than the root, which
required storing a map of ScrollingNodeID->RenderLayer* on RenderLayerCompositor,
accessible through FrameView::scrollableAreaForScrollLayerID().

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollableAreaForScrollLayerID):

  • page/FrameView.h:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Handle
overflow as well as main frame scrolling nodes.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Use isScrollingNode().
(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): When an overflow
scroll node was scrolled externally, we have to update layers in decendant nodes,
and then call scrollingTreeNodeDidScroll() which tells the ScrollingCoordinator that
we scrolled.

  • page/scrolling/ScrollingTree.h: Try to reduce confusion between the roles played

by these various functions, some of which happen in the UI process with UI-side
compositing.

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Need some functions to be

callable by subclasses.

  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Add
scrolling layers to the m_scrollingNodeToLayerMap
(WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Remove
layer from the m_scrollingNodeToLayerMap.
(WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID):

  • rendering/RenderLayerCompositor.h:

Source/WebKit2:

Reviewed by Tim Horton.

When an accelerated overflow:scroll is scrolled in the UI process,
tell the WebProcess that the scroll happened to update RenderLayer
state and fire events.

Add a WKOverflowScrollViewDelegate which is set as the delegate of
UIScrollViews, owned by ScrollingTreeOverflowScrollingNodeIOS, and propagates
-scrollViewDidScroll: messages to ScrollingTree::scrollPositionChangedViaDelegatedScrolling(),
which updates child layers and then, via RemoteScrollingTree::scrollingTreeNodeDidScroll,
tells the RemoteScrollingCoordinator which sends a message to the WebProcess.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll): Name change
to try to reduce confusion.
(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged): Deleted.

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

(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):

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

(-[WKOverflowScrollViewDelegate initWithScrollingTreeNode:WebKit::]):
(-[WKOverflowScrollViewDelegate scrollViewDidScroll:]):
(-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndScrollingAnimation:]):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll):

  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode): No need for
rounding.

2:22 PM Changeset in webkit [166530] by Brent Fulgham
  • 19 edits in trunk

Reduced Latched Scroll Test Flakiness
https://bugs.webkit.org/show_bug.cgi?id=130983

Reviewed by Darin Adler.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting): Test user should have 'high resolution' scrolling.

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Generate mouse wheel events
with high resolution flags turned on.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Ditto.

LayoutTests:

Rebaseline test output for 'hasPreciseScrollingDeltas' behavior.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt:
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt:
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt:
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt:
2:18 PM Changeset in webkit [166529] by Antti Koivisto
  • 11 edits
    10 moves in trunk/Source

Rename TileCache to LegacyTileCache
https://bugs.webkit.org/show_bug.cgi?id=130986

Reviewed by Simon Fraser.

../WebCore:

Rename iOS WebKit1 tile cache classes to reflect its status.
This also frees some good type names.

TileCache -> LegacyTileCache
TileGrid -> LegacyTileGrid
TileGridTile -> LegacyTileGridTile
etc.

../WebKit/mac:

  • WebView/WebView.mm:

(+[WebView drainLayerPool]):
(+[WebView _setTileCacheLayerPoolCapacity:]):

2:10 PM Changeset in webkit [166528] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Small adjustments to WebCore::IOSurface
https://bugs.webkit.org/show_bug.cgi?id=130981

Reviewed by Simon Fraser.

  • WebCore.exp.in:

Export some more things.

  • platform/graphics/cocoa/IOSurface.h:

createImage() can't be const because it calls ensurePlatformContext().

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::createImage):
We should be able to create an image even if the CGContext has been cleared (or never created).

(IOSurface::isInUse):
Rename inUse() to isInUse().

(IOSurface::clearGraphicsContext):
Add clearGraphicsContext().

2:08 PM Changeset in webkit [166527] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Allocate IOSurfaces with the same cache mode that CoreAnimation uses
https://bugs.webkit.org/show_bug.cgi?id=130982

Reviewed by Simon Fraser.

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::IOSurface):
CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.

2:07 PM Changeset in webkit [166526] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[CSS Blending] Blend mode property is propagated to multiple GraphicLayers
https://bugs.webkit.org/show_bug.cgi?id=130337

Patch by Ion Rosca <Ion Rosca> on 2014-03-31
Reviewed by Dean Jackson.

Source/WebCore:

Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.

Test: css3/compositing/blend-mode-ancestor-clipping-layer.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateBlendMode):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateBlendMode):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • css3/compositing/blend-mode-ancestor-clipping-layer-expected.txt: Added.
  • css3/compositing/blend-mode-ancestor-clipping-layer.html: Added.
2:06 PM Changeset in webkit [166525] by commit-queue@webkit.org
  • 12 edits in trunk

[CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
https://bugs.webkit.org/show_bug.cgi?id=130922

Patch by Ion Rosca <Ion Rosca> on 2014-03-31
Reviewed by Simon Fraser.

Source/WebCore:

This change only updates existing tests involving blending. No new test required,
as there is no new or changed functionality.

  • rendering/RenderLayer.h: adding blendMode() getter.
  • rendering/RenderTreeAsText.cpp:

(WebCore::write):
adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).

LayoutTests:

Tests are adapted after adding blending information to RenderTreeAsText.

  • platform/mac/css3/compositing/blend-mode-background-expected.txt:
  • platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.txt:
  • platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.txt:
  • platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.txt:
  • platform/mac/css3/compositing/blend-mode-layers-expected.txt:
  • platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt:
  • platform/mac/css3/compositing/blend-mode-simple-expected.txt:
2:04 PM Changeset in webkit [166524] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

CSS JIT: clean up the functions ending when generating a checker with context
https://bugs.webkit.org/show_bug.cgi?id=130959

Reviewed by Andreas Kling.

This code got refactored over time and now both branches do the exact same action
on the stack.
This patch removes the stack split and move the stack cleanup in the common ending
just before restoring the callee saved registers.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

2:00 PM Changeset in webkit [166523] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

ThemeMac should use std::array instead of IntSize* for control sizes
https://bugs.webkit.org/show_bug.cgi?id=130985

Reviewed by Darin Adler.

Replace uses of const IntSize* with const std::array<IntSize, 3>

  • platform/mac/ThemeMac.mm:

(WebCore::sizeFromNSControlSize):
(WebCore::sizeFromFont):
(WebCore::controlSizeFromPixelSize):
(WebCore::setControlSize):
(WebCore::checkboxSizes):
(WebCore::radioSizes):
(WebCore::buttonSizes):
(WebCore::setUpButtonCell):
(WebCore::stepperSizes):

1:55 PM Changeset in webkit [166522] by hmuller@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSS Shapes] Simplify RasterShape implementation
https://bugs.webkit.org/show_bug.cgi?id=130916

Reviewed by Dean Jackson.

Since only floats can specify shape-outside, the RasterShapeIntervals
class only needs to track the first and last above threshold pixel column
(x1 and x2 in the implementation) for each row. Removed code for dealing with
multiple "runs" per row as well as shape-inside internals.

No new tests, since functionality was only removed.

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
(WebCore::RasterShapeIntervals::initializeBounds):
(WebCore::RasterShapeIntervals::buildBoundsPath):
(WebCore::RasterShape::getExcludedIntervals):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShapeIntervals::RasterShapeIntervals):
(WebCore::RasterShapeIntervals::intervalAt):
(WebCore::RasterShape::RasterShape):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/shapes/ShapeInterval.h:

(WebCore::ShapeInterval::unite):

1:48 PM Changeset in webkit [166521] by akling@apple.com
  • 2 edits in trunk/Source/WebKit

Blind Windows build fix. Check my mangle-fu.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
1:23 PM Changeset in webkit [166520] by akling@apple.com
  • 5 edits
    1 copy in trunk/Source/WebCore

Always inline toJS() for NodeList.
<https://webkit.org/b/130974>

This is a pretty cheesy optimization, but it's a 3% progression on
Dromaeo/dom-query.html on my MBP.

Reviewed by Benjamin Poulain.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSNodeListCustom.h: Added.

(WebCore::toJS):

  • dom/NodeList.idl:
1:03 PM Changeset in webkit [166519] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the 32bits debug builds

The additional debug flags in RefCounted cause the structure to have different alignment
with the 64bits flags.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-31

  • rendering/style/RenderStyle.cpp:
12:42 PM Changeset in webkit [166518] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Fix scrolling on OS X with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=130930

Reviewed by Tim Horton.

On iOS, we rely on visible rect updates to propagate scroll offset
changes to the WebProcess. RemoteScrollingCoordinatorProxy was thus hardcoded
to bail from scrollPositionChanged() when the scrolled node was the root node,
but this broke OS X. Fix by adding a behavior flag to RemoteScrollingCoordinatorProxy.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:

(WebKit::RemoteScrollingCoordinatorProxy::setPropagatesMainFrameScrolls):
(WebKit::RemoteScrollingCoordinatorProxy::propagatesMainFrameScrolls):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage):

12:42 PM Changeset in webkit [166517] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

Clarify some scrolling tree terminology
https://bugs.webkit.org/show_bug.cgi?id=130929

Reviewed by Tim Horton.

Attempt to reduce some ambiguity in scrolling tree terminology.
When async scrolling occurs, there are two tasks we have to perform:

  1. Layers need to be updated to reflect the scroll
  2. WebCore state has to be updated.

The "updateForViewport" name didn't clearly reflect which of these
tasks was being performed, so rename it to updateLayersAfterViewportChange()
to reflect the fact that it only does the first.

Remove the Mac implementation of updateLayersAfterViewportChange(), since
it was confsued about this, and was never called anyway.

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

(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.

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

(WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.

12:37 PM Changeset in webkit [166516] by timothy_horton@apple.com
  • 18 edits in trunk/Source

[iOS WebKit2] Disable tile cohort retention for now
https://bugs.webkit.org/show_bug.cgi?id=130926
<rdar://problem/16465413>

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.

  • page/Settings.h:

(WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.

  • page/Settings.in:

Use Settings.in for these simple settings.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
(WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
(WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayerClient.h:

(WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
(WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
(WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):

  • rendering/RenderLayerBacking.h:

Plumb the two tile-retention settings through to TileController in a pull manner
instead of a push manner, as there were some cases (especially on iOS) where
the settings weren't always getting pushed down.

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

(WebCore::TileController::TileController):
(WebCore::TileController::tileRevalidationTimerFired):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::drawTileMapContents):
Aggressive tile retention wins over temporary retention. If we aren't
using temporary (cohort) retention, throw away the cohort as soon as it
is created.

  • Shared/WebPreferencesStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
Add a preference for temporary tile cohort retention (essentially, provide a setting
that means that we will never retain tiles at all once they leave the tile coverage rect).
Defaults to true to maintain existing behavior, except for iOS WebKit2, where
it defaults to false because we don't have the requisite support for purgeable tiles yet.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

11:15 AM Changeset in webkit [166515] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

run-webkit-tests should have a --no-timeout option
https://bugs.webkit.org/show_bug.cgi?id=128286

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-31
Reviewed by Joseph Pecoraro.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(Worker._run_test): Renaming _run_test_with_timeout()
(Worker._run_test_with_or_without_timeout): Renaming _run_test_with_timeout(), because tests can now run without timeout.
(Worker._run_test_in_another_thread): Passing the --no-timeout option to the driver
(Worker._run_test_in_this_thread):
(Worker._run_test_with_timeout): Deleted.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args): Added the --no-timeout option

11:10 AM Changeset in webkit [166514] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Radio buttons and checkboxes should share code
https://bugs.webkit.org/show_bug.cgi?id=130915

Reviewed by Sam Weinig.

Radio buttons and checkboxes now share a lot of code. The common term for both is
toggle buttons.

Move these radio-sizing functions up in the file to be next to the checkbox sizing
functions.

  • platform/mac/ThemeMac.mm:

(WebCore::radioSizes):
(WebCore::radioMargins):
(WebCore::radioSize):

Configures a radio button or a checkbox.
(WebCore::configureToggleButton):

Creates a radio button or a checkbox.
(WebCore::createToggleButtonCell):

Still have a shared cell for each.
(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):

Does the work of the old paintRadio() and paintCheckbox().
(WebCore::paintToggleButton):

Use sharedRadioCell() here.
(WebCore::ThemeMac::inflateControlPaintRect):

Call paintToggleButton() for radio buttons and checkboxes.
(WebCore::ThemeMac::paint):

All gone.
(WebCore::configureCheckbox): Deleted.
(WebCore::createCheckboxCell): Deleted.
(WebCore::paintCheckbox): Deleted.
(WebCore::radio): Deleted.
(WebCore::paintRadio): Deleted.

11:02 AM Changeset in webkit [166513] by Samuel White
  • 16 edits
    2 adds in trunk

AX: Need ability to get line range for text marker.
https://bugs.webkit.org/show_bug.cgi?id=130906

Reviewed by Chris Fleizach.

LayoutTests:

Added test to ensure we can get the correct range of a line from a given marker.
Also updated existing bounds-for-range test to include new attribute.

  • platform/mac/accessibility/bounds-for-range-expected.txt:
  • platform/mac/accessibility/line-range-for-text-marker-expected.txt: Added.
  • platform/mac/accessibility/line-range-for-text-marker.html: Added.

Source/WebCore:

Added ability to get line range from any marker on that line. This matches the functionality of existing
attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.

Test: platform/mac/accessibility/line-range-for-text-marker.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::visiblePositionRangeForRange):
(WebCore::AccessibilityObject::lineRangeForPosition):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

Added a new function in DRT and TestRunner to test that AXLineTextMarkerRangeForTextMarker works as expected.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(lineTextMarkerRangeForTextMarkerCallback):
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):

10:32 AM Changeset in webkit [166512] by andersca@apple.com
  • 7 edits in trunk/Source

Fix iOS build.

Source/WebCore:

  • page/ChromeClient.h:

(WebCore::ChromeClient::updateViewportConstrainedLayers):

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:
  • WebCoreSupport/WebFixedPositionContent.mm:
  • WebCoreSupport/WebFixedPositionContentInternal.h:
10:13 AM Changeset in webkit [166511] by ap@apple.com
  • 2 edits in trunk/LayoutTests

transitions/3d/interrupted-transition.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=130972

  • platform/mac/TestExpectations: Marked as such.
9:50 AM Changeset in webkit [166510] by fpizlo@apple.com
  • 5 edits in trunk

More validation for FTL inline caches
https://bugs.webkit.org/show_bug.cgi?id=130948

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):

  • runtime/Options.h:

Tools:

  • Scripts/run-jsc-stress-tests:
9:43 AM Changeset in webkit [166509] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Support lease-renewal.
https://bugs.webkit.org/show_bug.cgi?id=130919

Reviewed by Eric Carlson.

Trigger a new key request when receiving an update message containting "renew".

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

(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8

based array.

(WebCore::CDMSessionMediaSourceAVFObjC::update):

9:41 AM Changeset in webkit [166508] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/track-remove-track.html is flaky, crashing and failing
https://bugs.webkit.org/show_bug.cgi?id=130971

  • platform/mac/TestExpectations: Marked as such.
9:32 AM Changeset in webkit [166507] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Remove special handling of soft hyphens in search code
https://bugs.webkit.org/show_bug.cgi?id=130940

Reviewed by Anders Carlsson.

ICU knows to ignore soft hyphens, so we don't need to replace them before searching.

Covered by existing tests.

  • editing/TextIterator.cpp:

(WebCore::foldQuoteMark):
(WebCore::foldQuoteMarks):
(WebCore::SearchBuffer::SearchBuffer):
(WebCore::SearchBuffer::append):
(WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
(WebCore::foldQuoteMarksAndSoftHyphens): Deleted.

9:30 AM Changeset in webkit [166506] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Preparation for using Soup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=130615

Patch by Alex Christensen <achristensen@webkit.org> on 2014-03-31
Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Added Soup source files in WinCairo build.

  • loader/soup/CachedRawResourceSoup.cpp:
  • loader/soup/SubresourceLoaderSoup.cpp:
  • platform/soup/SharedBufferSoup.cpp:
  • platform/soup/URLSoup.cpp:
  • platform/network/NetworkStorageSessionStub.cpp:

Only build if USE(SOUP) to prevent building when USE(CURL) is true.

  • platform/network/soup/ResourceHandleSoup.cpp:

Only include unistd.h in non-Visual Studio builds.
This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
but that would need to be left undefined for Visual Studio.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:

Add all gobject source files in WinCairo build.

  • wtf/gobject/GRefPtr.h:

Export refGPtr and derefGPtr overloads in WTF.dll to fix linker errors with WebKit.dll when using soup.

9:21 AM Changeset in webkit [166505] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

LLVM IR for store barriers should be nicely arranged and they don't need exception checks
https://bugs.webkit.org/show_bug.cgi?id=130950

Reviewed by Mark Hahnenberg.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):

8:16 AM Changeset in webkit [166504] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Do not run WebKit1 unit tests by default
https://bugs.webkit.org/show_bug.cgi?id=130968

Reviewed by Martin Robinson.

  • Scripts/run-gtk-tests:

(TestRunner):

8:05 AM Changeset in webkit [166503] by rakuco@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] Stop checking for WTF_USE_ICU_UNICODE.
https://bugs.webkit.org/show_bug.cgi?id=130965

Reviewed by Martin Robinson.

This is somewhat of a follow-up to r162782, which got rid of
WTF_USE_ICU_UNICODE in CMake but did not remove the check in JSC's
CMakeLists.txt. This meant the includes and libraries were not
being properly included since then.

  • CMakeLists.txt:
7:51 AM Changeset in webkit [166502] by pmolnar.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WebKit2

Buildfix after r166497.

Reviewed by Csaba Osztrogonác.

  • UIProcess/API/efl/ewk_context.h: Missing EAPI added.
7:44 AM Changeset in webkit [166501] by rakuco@webkit.org
  • 2 edits in trunk

[CMake][GTK] Do not expand variables twice in if() checks.
https://bugs.webkit.org/show_bug.cgi?id=130964

Reviewed by Martin Robinson.

In CMake, `if (${foo})' causes $foo to be evaluated first and its value
to be checked by the if clause. This is not what we want, and
configuration fails when, say, GLX support wasn't found as the if
clause is actually evaluated as `if (TRUE AND (OR TRUE))'.

  • Source/cmake/OptionsGTK.cmake: Pass if (FOO) instead of if (${FOO})

where necessary.

7:39 AM Changeset in webkit [166500] by Martin Robinson
  • 7 edits
    2 deletes in trunk

[GTK] Remove scripts code only applicable to autotools
https://bugs.webkit.org/show_bug.cgi?id=130841

Reviewed by Anders Carlsson.

.:

  • Source/cmake/WebKitPackaging.cmake: No longer need to consider autotools files.

Tools:

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build): Update file list to reflect GTK+ CMake port.

  • Scripts/webkitpy/common/config/watchlist: Remove the GTK+ build watchlist.
  • Scripts/webkitpy/style/checker.py: The GNUmakefile doesn't exist any longer.
  • gtk/find-make-dist-errors: Removed.
  • gtk/generate-feature-defines-files: Removed.
  • gtk/manifest.txt: No longer need to consider autotools files.
7:38 AM Changeset in webkit [166499] by Martin Robinson
  • 6 edits in trunk

[GTK] Use PROJECT_VERSION_* instead of WEBKIT_*_VERSION
https://bugs.webkit.org/show_bug.cgi?id=130936

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake: No longer emulate the Autotools macro names.

Source/WebKit/gtk:

  • webkit/webkitversion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitVersion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.
7:36 AM Changeset in webkit [166498] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Addressing reviewing comments for r166491 that I forgot
to address before landing.

  • html/FormController.cpp:

(WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
object on the way out.
(WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
allocated on the stack.
(WebCore::FormController::formStatesFromStateVector): Use auto.

5:59 AM Changeset in webkit [166497] by pmolnar.u-szeged@partner.samsung.com
  • 7 edits
    1 add in trunk/Source/WebKit2

[EFL][WK2] Add ewk APIs to control TLS error policy on WebContext.
https://bugs.webkit.org/show_bug.cgi?id=129740

Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake:

Added the new SSL test.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::ignoreTLSErrors):
(EwkContext::setIgnoreTLSErrors):
(ewk_context_ignore_tls_errors_get):
(ewk_context_ignore_tls_errors_set):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:

Added the API functions.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:

(EWK2UnitTestServer::EWK2UnitTestServer):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:

Extended the unit test server to handle TLS.

  • UIProcess/API/efl/tests/test_ewk2_ssl.cpp:

Added tests to check the TLS policy API.

5:32 AM Changeset in webkit [166496] by Carlos Garcia Campos
  • 15 edits in trunk/Source/WebCore

[GTK] Use GMainLoopSource for idle and timeout sources in WebCore
https://bugs.webkit.org/show_bug.cgi?id=130078

Reviewed by Philippe Normand.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/SharedTimerGtk.cpp:
4:22 AM Changeset in webkit [166495] by abucur@adobe.com
  • 3 edits
    2 adds in trunk

Wrong layout while animating content in regions
https://bugs.webkit.org/show_bug.cgi?id=125086

Reviewed by David Hyatt.

Source/WebCore:

The region to layer and regions to layer mappings should be cleared when the region chain changes.

Test: fast/regions/layers/region-removed-during-animation.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.

LayoutTests:

Add a test verifying the layout and painting of animated content inside regions
is correct.

  • fast/regions/layers/region-removed-during-animation-expected.html: Added.
  • fast/regions/layers/region-removed-during-animation.html: Added.
4:04 AM Changeset in webkit [166494] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK2 plugin process binary name after r166492.

  • PlatformGTK.cmake: Fix typo.
3:43 AM Changeset in webkit [166493] by Dániel Bátyai
  • 35 edits in trunk/Source

Remove hostThisRegister() and hostThisValue()
https://bugs.webkit.org/show_bug.cgi?id=130895

Reviewed by Geoffrey Garen.

Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.

Source/JavaScriptCore:

  • API/APICallbackFunction.h:

(JSC::APICallbackFunction::call):

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::call):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate):
(Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName):
(Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection):
(Inspector::jsInjectedScriptHostPrototypeFunctionType):
(Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails):
(Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties):

  • inspector/JSJavaScriptCallFramePrototype.cpp:

(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluate):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeType):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):

  • interpreter/CallFrame.h:

(JSC::ExecState::hostThisRegister): Deleted.
(JSC::ExecState::hostThisValue): Deleted.

  • runtime/Arguments.cpp:

(JSC::argumentsFuncIterator):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::arrayProtoFuncValues):
(JSC::arrayProtoFuncEntries):
(JSC::arrayProtoFuncKeys):

  • runtime/BooleanPrototype.cpp:

(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):

  • runtime/ConsolePrototype.cpp:

(JSC::consoleLogWithLevel):
(JSC::consoleProtoFuncClear):
(JSC::consoleProtoFuncDir):
(JSC::consoleProtoFuncDirXML):
(JSC::consoleProtoFuncTable):
(JSC::consoleProtoFuncTrace):
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
(JSC::consoleProtoFuncTimeStamp):
(JSC::consoleProtoFuncGroup):
(JSC::consoleProtoFuncGroupCollapsed):
(JSC::consoleProtoFuncGroupEnd):

  • runtime/DatePrototype.cpp:

(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):

  • runtime/ErrorPrototype.cpp:

(JSC::errorProtoFuncToString):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncBind):

  • runtime/NamePrototype.cpp:

(JSC::privateNameProtoFuncToString):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncClz):
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::stringProtoFuncTrim):
(JSC::stringProtoFuncTrimLeft):
(JSC::stringProtoFuncTrimRight):

Source/WebCore:

No new tests, no behavior changes.

  • bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::webkitGetUserMedia):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::callPlugin):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSFloat64Array.cpp:

(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::jsFloat64ArrayPrototypeFunctionSet):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::callObjCFallbackObject):

  • bridge/runtime_method.cpp:

(JSC::callRuntimeMethod):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::callMethod):

3:39 AM Changeset in webkit [166492] by Carlos Garcia Campos
  • 12 edits in trunk

[GTK] Add support for GTK3 plugins
https://bugs.webkit.org/show_bug.cgi?id=130599

Reviewed by Martin Robinson.

.:

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

We currently have a gtk2 based plugin process mainly for flash
and a few other plugins that use GTK2, but many other plugins
don't even use gtk at all. This patch builds a lighter plugin
process based on GTK3, used by default for all the plugins expect
the ones requiring GTK2. And of course the default plugin process
supports GTK3 plugins.

  • CMakeLists.txt: Add common rules to build the default plugin process.
  • PlatformEfl.cmake: Remove common cmake code that is now in CMakeLists.txt.
  • PlatformGTK.cmake: Rename WebKitPluginProcess to

WebKitPluginProcess2 and add the platform specific rules to build
the default plugin process.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
Check if the loaded plugin module uses GTK2.
(WebKit::NetscapePluginModule::getPluginInfo): Set requiresGtk2 accordingly.
(WebKit::NetscapePluginModule::scanPlugin): Write "requires-gtk2"
line to stdout if the plugin requires GTK2.

  • Shared/Plugins/PluginModuleInfo.h: Add requiresGtk2 boolean member.
  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess): Use the
WebKitPluginProcess2 executable when the plugin requires GTK2.

  • UIProcess/Plugins/PluginProcessProxy.h: Add requiresGtk2 boolean

member to RawPluginMetaData struct.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp: Bump the cache schema version.

(WebKit::PluginInfoCache::getPluginInfo): Read also requires-gtk2
key from the cache.
(WebKit::PluginInfoCache::updatePluginInfo): Save also
requires-gtk2 key in the cache.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::platformGetLaunchOptions): Add an
extra initialization data parameter if the plugin requires GTK2.
(WebKit::PluginProcessProxy::scanPlugin): Check if "requires-gtk2"
was written to stdout.

3:35 AM Changeset in webkit [166491] by zandobersek@gmail.com
  • 18 edits in trunk/Source/WebCore

Move the rest of Source/WebCore/html/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129669

Reviewed by Anders Carlsson.

Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.

  • html/FormController.cpp:

(WebCore::SavedFormState::SavedFormState):
(WebCore::SavedFormState::deserialize):
(WebCore::FormController::createSavedFormStateMap):
(WebCore::FormController::formElementsState):
(WebCore::FormController::takeStateForFormElement):
(WebCore::FormController::formStatesFromStateVector):

  • html/FormController.h:
  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::mapMouseEvent):

  • html/HTMLAreaElement.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::setSurfaceSize):
(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLCanvasElement.h:
  • html/HTMLCollection.h:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::updateVisibleValidationMessage):

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::addToPastNamesMap):

  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::imageLoader):
(WebCore::HTMLInputElement::resetListAttributeTargetObserver):

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::hasImageLoader):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::startLoadingImage):

  • html/HTMLPlugInImageElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::didAttachRenderers):
(WebCore::HTMLVideoElement::parseAttribute):

  • html/HTMLVideoElement.h:
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::ValidationMessage):
(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
(WebCore::ValidationMessage::requestToHideMessage):

  • html/ValidationMessage.h:
3:21 AM Changeset in webkit [166490] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix mixed use of booleans in JPEGImageDecoder.cpp
https://bugs.webkit.org/show_bug.cgi?id=122412

Patch by Maurice van der Pot <griffon26@kfk4ever.com> on 2014-03-31
Reviewed by Darin Adler.

Trivial fix for compilation error; no new tests.

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageReader::decode):
(WebCore::fill_input_buffer):
Use TRUE/FALSE defined by libjpeg for libjpeg booleans

3:12 AM Changeset in webkit [166489] by zandobersek@gmail.com
  • 67 edits in trunk/Source/WebCore

Move Source/WebCore/rendering/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129664

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.

  • platform/graphics/FloatPolygon.cpp:

(WebCore::FloatPolygon::FloatPolygon):

  • platform/graphics/FloatPolygon.h:
  • rendering/ClipPathOperation.h:
  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):

  • rendering/FlowThreadController.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::rectBasedTestResult):
(WebCore::HitTestResult::mutableRectBasedTestResult):

  • rendering/HitTestResult.h:
  • rendering/HitTestingTransformState.cpp:
  • rendering/ImageQualityController.h:
  • rendering/RenderBlock.cpp:

(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
(WebCore::RenderBlock::addContinuationWithOutline):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::setComputedColumnCountAndWidth):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::createFloatingObjects):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBoxRegionInfo.h:
  • rendering/RenderButton.cpp:

(WebCore::RenderButton::styleDidChange):

  • rendering/RenderButton.h:
  • rendering/RenderCounter.cpp:

(WebCore::makeCounterNode):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):

  • rendering/RenderFlowThread.h:
  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::push):
(WebCore::RenderGeometryMap::pushView):

  • rendering/RenderGeometryMap.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::resolveGridPositionsFromStyle):
(WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • rendering/RenderGrid.h:
  • rendering/RenderImageResource.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
(WebCore::RenderLayer::hitTestChildLayerColumns):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::clearZOrderLists):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):

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

(WebCore::RenderLayer::FilterInfo::map):
(WebCore::RenderLayer::FilterInfo::get):

  • rendering/RenderLayerFilterInfo.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::takeRenderBoxRegionInfo):

  • rendering/RenderRegion.h:
  • rendering/RenderTable.cpp:

(WebCore::RenderTable::styleDidChange):

  • rendering/RenderTable.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::compositor):
(WebCore::RenderView::flowThreadController):
(WebCore::RenderView::imageQualityController):

  • rendering/RenderView.h:
  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::appendFloat):

  • rendering/TextAutosizer.h:
  • rendering/shapes/PolygonShape.cpp:

(WebCore::computeShapePaddingBounds):
(WebCore::computeShapeMarginBounds):

  • rendering/shapes/PolygonShape.h:

(WebCore::PolygonShape::PolygonShape):

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShapeIntervals::computeShapeMarginIntervals):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShape::RasterShape):

  • rendering/shapes/Shape.cpp:

(WebCore::createInsetShape):
(WebCore::createRectangleShape):
(WebCore::createCircleShape):
(WebCore::createEllipseShape):
(WebCore::createPolygonShape):
(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createLayoutBoxShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::markShapeAsDirty):
(WebCore::ShapeInfo::isShapeDirty):

  • rendering/shapes/ShapeInsideInfo.h:
  • rendering/style/ContentData.h:
  • rendering/style/CounterDirectives.cpp:

(WebCore::clone):

  • rendering/style/CounterDirectives.h:
  • rendering/style/GridCoordinate.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::addCachedPseudoStyle):
(WebCore::RenderStyle::accessCounterDirectives):
(WebCore::RenderStyle::accessAnimations):
(WebCore::RenderStyle::accessTransitions):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourceGradient.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):

  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::updateShapeFromElement):

  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::setClipper):
(WebCore::SVGResources::setFilter):
(WebCore::SVGResources::setMarkerStart):
(WebCore::SVGResources::setMarkerMid):
(WebCore::SVGResources::setMarkerEnd):
(WebCore::SVGResources::setMasker):
(WebCore::SVGResources::setFill):
(WebCore::SVGResources::setStroke):

  • rendering/svg/SVGResources.h:
  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::addResourcesFromRenderer):
(WebCore::SVGResourcesCache::removeResourcesFromRenderer):

  • rendering/svg/SVGResourcesCache.h:
  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):

  • rendering/svg/SVGTextMetricsBuilder.h:
1:38 AM Changeset in webkit [166488] by svillar@igalia.com
  • 8 edits in trunk/Source/WebCore

Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
https://bugs.webkit.org/show_bug.cgi?id=130893

Reviewed by Darin Adler.

  • loader/ImageLoader.cpp:

(WebCore::beforeLoadEventSender):
(WebCore::loadEventSender):
(WebCore::errorEventSender):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::cacheStorage):

  • loader/appcache/ApplicationCacheStorage.h:
  • loader/archive/ArchiveFactory.cpp:

(WebCore::archiveMIMETypes):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::brokenImage):

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):

  • loader/cache/MemoryCache.cpp:

(WebCore::dummyCachedImageClient):

1:38 AM Changeset in webkit [166487] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r166480 - [GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
https://bugs.webkit.org/show_bug.cgi?id=130665

Reviewed by Martin Robinson.

When we uploaded a video texture to the mapper we were not
considering that some videos could be decoded into a format
without alpha component. Now we check if the video has alpha and
if it does not, we remove the alpha flag when retrieving the
texture from the pool. For this, the method to get the texture
from the pool was modified to receive the flags, that is mapped to
have alpha by default in order not to break any other existing
code.

Though we have a problem with AC in WTR and that makes it
currently not testable, no new tests are needed because once this
is fixed the current test set suffices to detect a possible
regression in this.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
the video format and decide if the texture shall be pulled with
alpha support or not.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::acquireTextureFromPool): Use the flags
when resetting the texture.

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::BitmapTexture::Flag::None): Added with 0x00.
(WebCore::TextureMapper::acquireTextureFromPool): Added flag
parameter to set up the texture with the default for including
alpha channel.

1:35 AM Changeset in webkit [166486] by svillar@igalia.com
  • 11 edits in trunk/Source/WebCore

Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
https://bugs.webkit.org/show_bug.cgi?id=130409

Reviewed by Darin Adler.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::logUnimplementedPropertyID):

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::screenEval):
(WebCore::printEval):

  • css/CSSParser.cpp:

(WebCore::strictCSSParserContext):

  • css/CSSPrimitiveValue.cpp:

(WebCore::cssTextCache):

  • css/CSSProperty.cpp:

(WebCore::borderDirections):

  • css/CSSStyleRule.cpp:

(WebCore::selectorTextCache):

  • css/CSSValuePool.cpp:

(WebCore::cssValuePool):

  • css/CSSValuePool.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyPageSize::getPageSizeFromName):
(WebCore::DeprecatedStyleBuilder::sharedStyleBuilder):

  • css/DeprecatedStyleBuilder.h:
1:21 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:20 AM Changeset in webkit [166485] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r166406 - [GTK] Geoclue2 providers won't work after reloading
https://bugs.webkit.org/show_bug.cgi?id=130898

Reviewed by Martin Robinson.

Don't reuse the Geoclue2 client proxy between different calls to
startPosition(), and create a new client proxy each time instead.

  • platform/geoclue/GeolocationProviderGeoclue2.cpp:

(GeolocationProviderGeoclue::startUpdating): Don't reuse the
client proxy, by always calling geoclue_manager_call_get_client().
(GeolocationProviderGeoclue::stopUpdating): Disconnect from the
'location-updated' signal and dispose the client proxy.

1:19 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:18 AM Changeset in webkit [166484] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r166405 - [GTK] Too many redirects visiting www.globalforestwatch.org
https://bugs.webkit.org/show_bug.cgi?id=129681

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-03-28
Reviewed by Martin Robinson.

Source/WebCore:

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::standardUserAgent): Append Safari version to UserAgent
string.

Source/WebKit/gtk:

  • webkit/webkitwebsettings.cpp:

(userAgentForURL): Change outdated comment.

1:07 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:05 AM Changeset in webkit [166483] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r163241 - REGRESSION (r163027?): CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.JavaScriptCore: JSC::ArrayProfile::computeUpdatedPrediction + 4
https://bugs.webkit.org/show_bug.cgi?id=128037

Reviewed by Mark Lam.

op_call_varargs ops now needs an ArrayProfile since DFG inlines these since
change set r162739.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCallVarargs):

12:21 AM Changeset in webkit [166482] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WTF

Use std::unique_ptr in WTF::CompressedVector, WTF::GenericCompressedData
https://bugs.webkit.org/show_bug.cgi?id=130737

Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
for the CompressedVector and GenericCompressedData classes.

  • wtf/Compression.cpp:

(WTF::GenericCompressedData::create):

  • wtf/Compression.h:

(WTF::CompressedVector::create):
(WTF::CompressibleVector::decompressIfNecessary):

12:04 AM Changeset in webkit [166481] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Some CSS tweaks after r166477 and r166479,

  • public/index.html:

Mar 30, 2014:

11:56 PM WebKitGTK/2.4.x edited by calvaris@igalia.com
(diff)
11:55 PM WebKitGTK/2.4.x edited by calvaris@igalia.com
(diff)
11:39 PM Changeset in webkit [166480] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

[GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
https://bugs.webkit.org/show_bug.cgi?id=130665

Reviewed by Martin Robinson.

When we uploaded a video texture to the mapper we were not
considering that some videos could be decoded into a format
without alpha component. Now we check if the video has alpha and
if it does not, we remove the alpha flag when retrieving the
texture from the pool. For this, the method to get the texture
from the pool was modified to receive the flags, that is mapped to
have alpha by default in order not to break any other existing
code.

Though we have a problem with AC in WTR and that makes it
currently not testable, no new tests are needed because once this
is fixed the current test set suffices to detect a possible
regression in this.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
the video format and decide if the texture shall be pulled with
alpha support or not.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::acquireTextureFromPool): Use the flags
when resetting the texture.

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::BitmapTexture::Flag::None): Added with 0x00.
(WebCore::TextureMapper::acquireTextureFromPool): Added flag
parameter to set up the texture with the default for including
alpha channel.

11:39 PM Changeset in webkit [166479] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

WebKitPerfMonitor: Sometimes text inside panes overlap
https://bugs.webkit.org/show_bug.cgi?id=130956

Reviewed by Gyuyoung Kim.

Revamped the pane UI. Now build info uses table element instead of plane text with BRs. The computed status of
the latest result against baseline/target such as "3% until target" is now shown above the current value. This
reduces the total height of the pane and fits more information per screen capita on the dashboard.

  • public/index.html: Updated and added a bunch of CSS rules for the new look.

(.computeStatus): Don't append the build info here. The build info is constructed as a separate table now.
(.createSummaryRowMarkup): Use th instead of td for "Current", "Baseline", and "Target" in the summary table.
(.buildLabelWithLinks): Construct table rows instead of br separated lines of text. This streamlines the look
of the build info shown in a chart pane and a tooltip.
(Chart): Made .status a table.
(Chart.populate): Prepend status.text, which contains text such as "3% until target", into the summary rows
right above "Current" value, and populate .status with buildLabelWithLinks manually instead of status.text
now that status.text no longer contains it.
(Chart..showTooltipWithResults): Wrap buildLabelWithLinks with a table element.

  • public/js/helper-classes.js:

(TestBuild.formattedRevisions): Don't include repository names in labels since repository names are now added
by buildLabelWithLinks inside th elements. Also place spaces around '-' between two different OS X versions.
e.g. "OS X 10.8 - OS X 10.9" instead of "OS X 10.8-OS X 10.9".
(PerfTestRuns): Use "/s" for "runs/s" and "B" for "bytes" to make text shorter in .status and .summaryTable.
(PerfTestRuns..computeScalingFactorIfNeeded): Avoid placing a space between 'M' and a unit starting with a
capital letter; e.g. "MB" instead of "M B".

11:37 PM Changeset in webkit [166478] by gyuyoung.kim@samsung.com
  • 4 edits
    6 moves
    1 add in trunk/LayoutTests

Move test cases of navigator content utils in own directory
https://bugs.webkit.org/show_bug.cgi?id=130927

Reviewed by Ryosuke Niwa.

Add NavigatorContentUtils dir to fast/dom in order to manage the test cases well.

  • fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Renamed from LayoutTests/fast/dom/is-protocol-handler-registered-expected.txt.
  • fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html: Renamed from LayoutTests/fast/dom/is-protocol-handler-registered.html.
  • fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Renamed from LayoutTests/fast/dom/register-protocol-handler-expected.txt.
  • fast/dom/NavigatorContentUtils/register-protocol-handler.html: Renamed from LayoutTests/fast/dom/register-protocol-handler.html.
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Renamed from LayoutTests/fast/dom/unregister-protocol-handler-expected.txt.
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler.html: Renamed from LayoutTests/fast/dom/unregister-protocol-handler.html.
  • platform/efl-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
11:36 PM Changeset in webkit [166477] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

WebKitPerfMonitor: Header and number-of-days slider takes up too much space
https://bugs.webkit.org/show_bug.cgi?id=130957

Reviewed by Gyuyoung Kim.

Moved the slider into the header. Also reduced the spacing between the header and platform names.
This reclaims 50px × width of the screen real estate.

  • public/common.css:

(#title): Reduced the space below the header from 20px to 10px.

  • public/index.html:

(#numberOfDaysPicker): Removed the rounded border around the number-of-days slider.
(#dashboard > tbody > tr > td): Added a 1.5em padding at the bottom.
(#dashboard > thead th): That allows us to remove the padding at the top here. This reduces the wasted screen
real estate between the header and the platform names.

11:22 PM Changeset in webkit [166476] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

11:19 PM Changeset in webkit [166475] by Lucas Forschler
  • 1 copy in tags/Safari-538.26

New Tag.

9:53 PM Changeset in webkit [166474] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Adopt range-based for loops to TextCheckerEnchant
https://bugs.webkit.org/show_bug.cgi?id=130714

Reviewed by Darin Adler.

  • platform/text/enchant/TextCheckerEnchant.cpp:

(WebCore::TextCheckerEnchant::ignoreWord):
(WebCore::TextCheckerEnchant::learnWord):
(WebCore::TextCheckerEnchant::checkSpellingOfWord):
(WebCore::TextCheckerEnchant::getGuessesForWord):
(WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
(WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages):
(WebCore::TextCheckerEnchant::availableSpellCheckingLanguages):
(WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries):

9:37 PM Changeset in webkit [166473] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/ios

Tried to fix the iOS build.

  • Misc/WebGeolocationCoreLocationProvider.mm:

(-[WebGeolocationCoreLocationProvider start]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

8:30 PM Changeset in webkit [166472] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: compositing/columns/composited-rl-paginated-repaint.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=130953

  • platform/mac/TestExpectations: Marked as such.
8:22 PM Changeset in webkit [166471] by commit-queue@webkit.org
  • 1 edit
    2 deletes in trunk/LayoutTests

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

The test fails (Requested by ap_ on #webkit).

Reverted changeset:

"Web Inspector: Add a new layout test for better coverage of
accessibility "focused" in inspector-protocol
DOM.getAccessibilityPropertiesForNode"
https://bugs.webkit.org/show_bug.cgi?id=130196
http://trac.webkit.org/changeset/166467

7:37 PM Changeset in webkit [166470] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix two failing layout tests on Mountain Lion after r166466.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _downloadDidStart:]):

5:33 PM Changeset in webkit [166469] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Second attempt to fix 32bits build after r166465

  • rendering/style/RenderStyle.h:

The compiler probably complain about the return value, that makes more sense.

5:13 PM Changeset in webkit [166468] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix 32bits build after r166465

  • rendering/style/RenderStyle.h:
3:59 PM Changeset in webkit [166467] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Web Inspector: Add a new layout test for better coverage of accessibility "focused" in inspector-protocol DOM.getAccessibilityPropertiesForNode
https://bugs.webkit.org/show_bug.cgi?id=130196

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-03-30
Reviewed by Timothy Hatcher.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-focused-expected.txt: Added.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode-focused.html: Added.
3:33 PM Changeset in webkit [166466] by aestes@apple.com
  • 17 edits in trunk

[Cocoa] Add an originatingWebView property to _WKDownload
https://bugs.webkit.org/show_bug.cgi?id=130945

Reviewed by Anders Carlsson.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): Passed self to WKView's initializer.

  • UIProcess/API/Cocoa/_WKDownload.h: Declared originatingWebView as a weak, readonly property.
  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload originatingWebView]):
(-[_WKDownload setOriginatingWebView:]):

  • UIProcess/API/Cocoa/_WKDownloadInternal.h: Re-declared originatingWebView as readwrite so that

PageClientImpl can call setOriginatingWebView:. Removed some dead code.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]): Updated to accept a webView parameter.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Passed nil for the webView parameter.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::decideDestinationWithSuggestedFilename): Ensured allowOverwrite is initialized.

  • UIProcess/PageClient.h: Included handleDownloadRequest() on all platforms.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
(WebKit::WebPageProxy::handleDownloadRequest): Ditto.

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

(WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].

  • UIProcess/mac/PageClientImpl.h: Added a m_webView member variable.
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::PageClientImpl): Asserted that m_webView is nil if WK API isn't enabled.
(WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _downloadDidStart:]):
(-[OriginatingWebViewDownloadDelegate initWithWebView:]):
(-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
(TEST):

1:32 PM Changeset in webkit [166465] by benjamin@webkit.org
  • 7 edits in trunk/Source/WebCore

Make RenderStyle's non inherited flags more JSC friendly
https://bugs.webkit.org/show_bug.cgi?id=130939

Reviewed by Andreas Kling.

Make RenderStyle::NonInheritedFlags accessible to the JIT:
-Make the struct public to give access to the offset.
-Move away from a bit field to static offsets we can use

with the MacroAssembler.

-Reorder the field to simplify bit access of the flags we need.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyVerticalAlign::createHandler):
(WebCore::ApplyPropertyDisplay::applyInitialValue):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::copyNonInheritedFrom):
(WebCore::RenderStyle::hashForTextAutosizing):
(WebCore::RenderStyle::equalForTextAutosizing):
(WebCore::RenderStyle::changeRequiresLayout):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::hasAnyPublicPseudoStyles):
(WebCore::RenderStyle::hasPseudoStyle):
(WebCore::RenderStyle::setHasPseudoStyle):

  • rendering/style/StyleMultiColData.cpp:

(WebCore::StyleMultiColData::StyleMultiColData):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

12:50 PM Changeset in webkit [166464] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Fix build of HTMLConverter.mm after r166454

Fixes the following build failures:

WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'

if (element)


WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'

_caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);

~

In file included from WebCore/editing/cocoa/HTMLConverter.mm:41:
In file included from WebCore/page/Frame.h:42:
In file included from WebCore/editing/VisibleSelection.h:30:
In file included from WebCore/editing/VisiblePosition.h:30:
In file included from WebCore/dom/Position.h:31:
WebCore/editing/TextAffinity.h:54:27: note: candidate function not viable: no known conversion from 'WebCore::Element' to 'NSSelectionAffinity' (aka '_NSSelectionAffinity') for 1st argument
inline WebCore::EAffinity core(NSSelectionAffinity affinity)


WebCore/editing/cocoa/HTMLConverter.mm:1509:81: error: reference to non-static member function must be called; did you mean to call it with no arguments?

attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);

~

()

WebCore/editing/cocoa/HTMLConverter.mm:1509:103: error: reference to non-static member function must be called; did you mean to call it with no arguments?

attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);


()

WebCore/editing/cocoa/HTMLConverter.mm:1509:124: error: reference to non-static member function must be called; did you mean to call it with no arguments?

attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);

~

()

5 errors generated.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_addAttachmentForElement):

11:43 AM Changeset in webkit [166463] by fpizlo@apple.com
  • 16 edits in trunk

Land the stackmap register liveness glue with the uses of the liveness disabled
https://bugs.webkit.org/show_bug.cgi?id=130924

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Add the liveness and fix other bugs I found.

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • ftl/FTLCompile.cpp:

(JSC::FTL::usedRegistersFor):
(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLSlowPathCall.cpp:
  • ftl/FTLSlowPathCallKey.cpp:

(JSC::FTL::SlowPathCallKey::dump):

  • ftl/FTLSlowPathCallKey.h:

(JSC::FTL::SlowPathCallKey::SlowPathCallKey):
(JSC::FTL::SlowPathCallKey::argumentRegisters):
(JSC::FTL::SlowPathCallKey::withCallTarget):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Record::locationSet):
(JSC::FTL::StackMaps::Record::liveOutsSet):
(JSC::FTL::StackMaps::Record::usedRegisterSet):

  • ftl/FTLStackMaps.h:
  • ftl/FTLThunks.cpp:

(JSC::FTL::registerClobberCheck):
(JSC::FTL::slowPathCallThunkGenerator):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::stackRegisters):
(JSC::RegisterSet::reservedHardwareRegisters):
(JSC::RegisterSet::runtimeRegisters):
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::dump):

  • jit/RegisterSet.h:

(JSC::RegisterSet::RegisterSet):
(JSC::RegisterSet::setAny):
(JSC::RegisterSet::setMany):

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):
(JSC::tryRepatchIn):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/Options.h:

Tools:

Reviewed by Oliver Hunt.

  • Scripts/run-jsc-stress-tests:
9:53 AM Changeset in webkit [166462] by mark.lam@apple.com
  • 2 edits in trunk/PerformanceTests

LongSpider 3d-morph result check is inappropriate.
<https://webkit.org/b/130928>

Reviewed by Filip Pizlo.

The LongSpider 3d-morph component expected result check is incorrect.
The existing test checks if the leading digit of a sum starts with "-1".
However, it turned out that the expected sum is in the order of
-1.8735013540549517e-16 (i.e. very close to 0). With small errors in
the terms of the sum adding up, it is very easy for the resultant sum
to fluctuate. There is no guarantee that the resultant sum's most
significant digit will start with -1 either.

The fix is to do a tolerance check on all the terms of the sum as well
as the total sum value instead. The tolerance should be more lenient
for the sum which accumulates error from the individual terms, then for
individual terms.

  • LongSpider/3d-morph.js:

(expect):

3:48 AM Changeset in webkit [166461] by akling@apple.com
  • 11 edits in trunk/Source/WebCore

Make NodeList and HTMLCollection caching helpers use PassRef.
<https://webkit.org/b/130943>

Tweak the helpers in NodeListsNodeData to return PassRef instead of
PassRefPtr. This knocks 2 branches off of some pretty hot code on
Dromaeo/dom-query.

Reviewed by Antti Koivisto.

  • dom/ChildNodeList.h:
  • dom/ClassNodeList.h:
  • dom/NameNodeList.h:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::ensureChildNodeList):
(WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::addCachedCollection):

  • dom/TagNodeList.h:
  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::create):

  • html/HTMLCollection.h:
  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::create):

  • html/HTMLFormControlsCollection.h:
  • html/RadioNodeList.h:
1:32 AM Changeset in webkit [166460] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

LiveNodeLists should use ElementDescendantIterator
https://bugs.webkit.org/show_bug.cgi?id=130931

Reviewed by Andreas Kling.

Make LiveNodeList traversal use the common DOM tree iterator.

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::collectionBegin):
(WebCore::ChildNodeList::collectionTraverseForward):
(WebCore::ChildNodeList::collectionTraverseBackward):
(WebCore::ChildNodeList::invalidateCache):
(WebCore::ChildNodeList::collectionFirst): Deleted.

Iterator for ChildNodeList is still just Node*.

  • dom/ChildNodeList.h:
  • dom/CollectionIndexCache.h:

(WebCore::CollectionIndexCache::hasValidCache):
(WebCore::Iterator>::CollectionIndexCache):
(WebCore::Iterator>::nodeCount):
(WebCore::Iterator>::computeNodeCountUpdatingListCache):
(WebCore::Iterator>::traverseBackwardTo):
(WebCore::Iterator>::traverseForwardTo):
(WebCore::Iterator>::nodeAt):
(WebCore::Iterator>::invalidate):

Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
still be a Node* though.

(WebCore::NodeType>::CollectionIndexCache): Deleted.
(WebCore::NodeType>::nodeCount): Deleted.
(WebCore::NodeType>::computeNodeCountUpdatingListCache): Deleted.
(WebCore::NodeType>::nodeBeforeCached): Deleted.
(WebCore::NodeType>::nodeAfterCached): Deleted.
(WebCore::NodeType>::nodeAt): Deleted.
(WebCore::NodeType>::invalidate): Deleted.

  • dom/ElementDescendantIterator.h:

(WebCore::ElementDescendantIterator::operator--):

Add backward iteration support.

(WebCore::ElementDescendantIteratorAdapter::last):
(WebCore::ElementDescendantConstIteratorAdapter::last):

Add a way to get the last item.
Provide std::iterator_traits so we can extract the type.

  • dom/LiveNodeList.h:

(WebCore::CachedLiveNodeList::collectionEnd):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
(WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
(WebCore::CachedLiveNodeList<NodeListType>::collectionFirst): Deleted.

Make LiveNodeList traversal use ElementDescendantIterator.

(WebCore::nextMatchingElement): Deleted.
(WebCore::previousMatchingElement): Deleted.

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::collectionBegin):
(WebCore::HTMLCollection::collectionTraverseForward):
(WebCore::HTMLCollection::collectionTraverseBackward):
(WebCore::HTMLCollection::invalidateCache):
(WebCore::HTMLCollection::collectionFirst): Deleted.

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::collectionEnd):

HTMLCollection still uses Element* as iterator for now.

Mar 29, 2014:

11:01 PM Changeset in webkit [166459] by commit-queue@webkit.org
  • 15 edits
    3 deletes in trunk

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

Caused crashes and other failures on cache tests (Requested by
ap on #webkit).

Reverted changeset:

Source/WebCore:

"Web Replay: add page-level setting to bypass the MemoryCache"
https://bugs.webkit.org/show_bug.cgi?id=130728
http://trac.webkit.org/changeset/166434

Source/WebKit2:

"Web Replay: add page-level setting to bypass the MemoryCache"
https://bugs.webkit.org/show_bug.cgi?id=130728
http://trac.webkit.org/changeset/166434

LayoutTests:

"Web Replay: add page-level setting to bypass the MemoryCache"
https://bugs.webkit.org/show_bug.cgi?id=130728
http://trac.webkit.org/changeset/166434

10:57 PM Changeset in webkit [166458] by ap@apple.com
  • 2 edits in trunk/Tools

Update WebKit1.StringTruncator for Mountain Lion.

  • TestWebKitAPI/Tests/mac/StringTruncator.mm: Looks like one subtest was failing

due to different font metrics on 10.8.

4:18 PM Changeset in webkit [166457] by ddkilzer@apple.com
  • 3 edits
    2 adds in trunk

Preserve selection end positions in directionOfSelection
<http://webkit.org/b/104813>
<rdar://problem/13666417>

Reviewed by Brent Fulgham.

Merged from Blink (patch by kenrb@chromium.org):
https://src.chromium.org/viewvc/blink?revision=150621&view=revision
http://crbug.com/164263

VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
can both cause layouts, which has the potential to invalidate any
rendertree-based objects. This was causing a problem in
FrameSelection::directionOfSelection(), where a reference to a
lineBox was being held across a call to visibleEnd().

This patch ensures that the any layout is completed before linebox
references are retrieved.

Source/WebCore:

Test: editing/selection/layout-during-move-selection-crash.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::directionOfSelection):

LayoutTests:

  • editing/selection/layout-during-move-selection-crash-expected.txt: Added.
  • editing/selection/layout-during-move-selection-crash.html: Added.
3:36 PM Changeset in webkit [166456] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Simple line layout should not round to integral position while painting.
https://bugs.webkit.org/show_bug.cgi?id=130934

Reviewed by Simon Fraser.

Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
integral rounding produces different paint position.

Source/WebCore:

Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition-expected.html: Added.
  • fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html: Added.
2:53 PM Changeset in webkit [166455] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
https://bugs.webkit.org/show_bug.cgi?id=130932

Reviewed by Simon Fraser.

This is in preparation to support device pixel based filter painting.
Filter calculation is still integral based.

No change in behavior.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImageBuffer):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/filters/FilterEffect.cpp: This will eventually be fully float based.

Right now, this IntRect->FloatRect change is only to ensure that we can call
the float based drawImageBuffer().
(WebCore::FilterEffect::drawingRegionOfInputImage):

  • platform/graphics/filters/FilterEffect.h:
1:03 PM Changeset in webkit [166454] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Convert yet more of HTMLConverter to C++
https://bugs.webkit.org/show_bug.cgi?id=130850

Reviewed by Anders Carlsson.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::isAncestorsOfStartToBeConverted):
(HTMLConverter::HTMLConverter):
(HTMLConverter::~HTMLConverter):
(HTMLConverter::convert):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::attributesForElement):
(HTMLConverter::_newParagraphForElement):
(HTMLConverter::_newLineForElement):
(HTMLConverter::_newTabForElement):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_addQuoteForElement):
(HTMLConverter::_addValue):
(HTMLConverter::_processHeadElement):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_addMarkersToList):
(HTMLConverter::_exitElement):
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(WebCore::attributedStringFromRange):
(_childrenForNode): Deleted.
(HTMLConverter::_computedAttributesForElement): Deleted.
(HTMLConverter::_attributesForElement): Deleted.
(HTMLConverter::_loadFromDOMRange): Deleted.

12:15 PM Debugging With LLDB or GDB edited by brrian@me.com
add debug command to attach to TestWebKitAPI (diff)
10:54 AM Changeset in webkit [166453] by andersca@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Tweak ChangeLog

9:14 AM Changeset in webkit [166452] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Uncatched NSExceptions should crash the web process
https://bugs.webkit.org/show_bug.cgi?id=130923
<rdar://problem/16463751>

Reviewed by Dan Bernstein.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

12:13 AM Changeset in webkit [166451] by Csaba Osztrogonác
  • 6 edits in trunk/Source

Unreviewed buildfix after r166441 and r166443.

Source/WebCore:

  • CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.

Source/WebKit2:

Missing PLATFORM(COCOA) guards added.

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::evaluate):

  • WebProcess/Plugins/PluginProxy.cpp:
  • WebProcess/Plugins/PluginProxy.h:

Mar 28, 2014:

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

[CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
https://bugs.webkit.org/show_bug.cgi?id=130920

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-03-28
Reviewed by Darin Adler.

Source/WebCore:

Adding the grid-item's marginLogicalHeight to the used breadth when computing
content based grid-track sizes.

Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::logicalContentHeightForChild):

LayoutTests:

  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.txt: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows.html: Added.
10:33 PM Changeset in webkit [166449] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Web Inspector: AXI: support for live regions
https://bugs.webkit.org/show_bug.cgi?id=130725

Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/WebCore:

Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html

Initial support for @aria-live, @aria-atomic, and @aria-busy.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Initial support for @aria-live, @aria-atomic, and @aria-busy.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
  • UserInterface/Views/Main.css:

Websites/webkit.org:

Demo update to show off the new Inspector support for live regions.

  • blog-files/aria1.0/combobox_with_live_region_status.html:

LayoutTests:

Initial support for @aria-live, @aria-atomic, and @aria-busy.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Updated.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Added.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html: Added.
8:18 PM Changeset in webkit [166448] by Darin Adler
  • 6 edits
    1 add in trunk

Source/WebCore: Fix recently-introduced off-by-one error in centerTruncateToBuffer
https://bugs.webkit.org/show_bug.cgi?id=130889
<rdar://problem/16408694>

Reviewed by Alexey Proskuryakov.

  • platform/graphics/StringTruncator.cpp:

(WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
Removed incorrect "+ 1" from computation of where to write characters.

Source/WebKit/mac: Fix recently-introduced off-by-one error in centerTruncateToBuffer
https://bugs.webkit.org/show_bug.cgi?id=130889

Reviewed by Alexey Proskuryakov.

  • Misc/WebStringTruncator.mm:

(defaultMenuFont): Changed to use NeverDestroyed since I had to touch this file anyway.
(fontFromNSFont): Ditto. Also improved variable names a bit.
(+[WebStringTruncator initialize]): Added threading initialization, needed for main
thread assertions in string truncator code.

Tools: Fix recently-introduced off-by-one error in centerTruncateToBuffer
https://bugs.webkit.org/show_bug.cgi?id=130889

Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added StringTruncator.mm.
  • TestWebKitAPI/Tests/mac/StringTruncator.mm: Added. One test for each of the

WebStringTruncator methods; should be good for a start. These are dependent on the
metrics of Helvetica 12, but I am hoping that will be consistent across OS X machines.

8:08 PM Changeset in webkit [166447] by benjamin@webkit.org
  • 11 edits
    2 adds
    2 deletes in trunk/Source/WebCore

Update the code related to SelectorPseudoTypeMap to reflect its new purpose
https://bugs.webkit.org/show_bug.cgi?id=130620

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-28
Reviewed by Andreas Kling.

Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.

This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
to split PseudoClass and PseudoElement.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
(WebCore::CSSParserSelector::setPseudoClassValue):

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::appendPseudoClassFunctionTail):
(WebCore::CSSSelector::selectorText):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in: Renamed from Source/WebCore/css/SelectorPseudoTypeMap.in.
  • css/SelectorPseudoTypeMap.h:
  • css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Renamed from Source/WebCore/css/makeSelectorPseudoTypeMap.py.

(enumerablePseudoType):
(expand_ifdef_condition):

7:46 PM Changeset in webkit [166446] by Stephanie Lewis
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix.

  • platform/audio/AudioHardwareListener.cpp:

(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.

  • platform/audio/AudioHardwareListener.h:
7:26 PM Changeset in webkit [166445] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Refactor cut and copy functions as suggested in FIXME line
https://bugs.webkit.org/show_bug.cgi?id=129867

Patch by Lukasz Bialek <l.bialek@samsung.com> on 2014-03-28
Reviewed by Darin Adler.

Cut and Copy functions in Editor.cpp use lots of common code.
Those functions are merged into one to share code, several
additional conditions are added to preserve Cut and Copy
functionality.

  • editing/Editor.cpp:

(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::performCutOrCopy):

  • editing/Editor.h:
6:15 PM Changeset in webkit [166444] by Stephanie Lewis
  • 2 edits in trunk/Source/WebKit2

Don't prevent AppSleep from sync messages.
https://bugs.webkit.org/show_bug.cgi?id=130747.

Reviewed by Anders Carlsson.

We think sync messages only need to happen full throttle when the plugin is visible,
the user is interacting with the plugin, or audio is playing. Since we already
take assertions for all these cases the assertion in sync messages doesn’t provide
any value. Since it can keep the PluginProcess awake in other instances remove it.

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didReceiveSyncMessage):

6:15 PM Changeset in webkit [166443] by Stephanie Lewis
  • 16 edits in trunk/Source

Source/WebCore: Rename pluginDidEvaluate to better represent when it’s called.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.

Reviewed by Anders Carlsson.

No new test because it’s just a name change.

  • page/PageThrottler.h:

(WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):

Source/WebKit2: Stop waking up the web process in the background because of plugin activity.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.

Reviewed by Anders Carlsson.

Plugin activity in the background can constantly wake up web processes. This is only
necessary when audio is playing to support web apps like Pandora and youtube playing
in the background. Use a new api in CoreAudio to see if there is audio playing in
the PluginProcess.

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess): Add a AudioHardwareListener
(WebKit::PluginProcess::createWebProcessConnection): tell web process current state
(WebKit::PluginProcess::audioHardwareDidBecomeActive): respond to audio hardware notifications
(WebKit::PluginProcess::audioHardwareDidBecomeInactive):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp: tell WebProcess when audio state in PluginProcess

changes.

(WebKit::WebProcessConnection::audioHardwareDidBecomeActive):
(WebKit::WebProcessConnection::audioHardwareDidBecomeInactive):

  • PluginProcess/WebProcessConnection.h:
  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

Only invoke pageThrottler activity when playing audio

(WebKit::NPRuntimeObjectMap::evaluate):

  • WebProcess/Plugins/Plugin.h: add function to get audio state

(WebKit::Plugin::audioIsPlayingInPluginProcess):

  • WebProcess/Plugins/PluginProcessConnection.cpp: store audio state

(WebKit::PluginProcessConnection::PluginProcessConnection):
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::audioHardwareDidBecomeActive):
(WebKit::PluginProcessConnection::audioHardwareDidBecomeInactive):

  • WebProcess/Plugins/PluginProcessConnection.h:

(WebKit::PluginProcessConnection::audioIsPlaying):

  • WebProcess/Plugins/PluginProcessConnection.messages.in:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::audioIsPlayingInPluginProcess):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::audioIsPlayingInPluginProcess):

  • WebProcess/Plugins/PluginView.h:
6:15 PM Changeset in webkit [166442] by Stephanie Lewis
  • 3 edits
    4 adds in trunk/Source/WebCore

Notification handler for telling if audio hardware is active.
https://bugs.webkit.org/show_bug.cgi?id=130743

Reviewed by Jer Noble.

Not web-exposed so no easy way to test.

Listen to CoreAudio to see if audio hardware is active in the current process.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/AudioHardwareListener.cpp: Added.

(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListener::AudioHardwareListener):

  • platform/audio/AudioHardwareListener.h: Added.

(WebCore::AudioHardwareListener::Client::~Client):
(WebCore::AudioHardwareListener::~AudioHardwareListener):
(WebCore::AudioHardwareListener::isHardwareActive):

  • platform/audio/mac/AudioHardwareListenerMac.cpp: Added.

(WebCore::isAudioHardwareProcessRunning):
(WebCore::AudioHardwareListener::create):
(WebCore::AudioHardwareListenerMac::create):
(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
(WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):
(WebCore::AudioHardwareListenerMac::setHardwareActive):

  • platform/audio/mac/AudioHardwareListenerMac.h: Added.
6:15 PM Changeset in webkit [166441] by Stephanie Lewis
  • 8 edits in trunk/Source/WebKit2

Have the plugin process track visibility of it’s plugin and sleep when none
are visible.
Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
https://bugs.webkit.org/show_bug.cgi?id=130694

Reviewed by Anders Carlsson.

Currently AppSleep is enabled on the PluginProcess based on web page visibility.
Add visibility tracking to plugins and move the decision to AppSleep into the the
PluginProcess

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess): Add a new activity for visible plugins
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): take an activity

assertion if any web processes have a visible plugin.

(WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::removePluginControllerProxy): remove plugin from

visible plugins when destroying it

(WebKit::WebProcessConnection::pluginDidBecomeVisible):
(WebKit::WebProcessConnection::pluginDidBecomeHidden): track which plugins are

visible for each web process

  • PluginProcess/WebProcessConnection.h:
  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::windowVisibilityChanged): notify WebProcessConnection

when visibility changed.

  • UIProcess/WebContext.h:
  • UIProcess/mac/WebContextMac.mm: instead of tracking plugin app sleep state on the web pref.

and visibility state, just use the web pref.

(WebKit::WebContext::updateProcessSuppressionState):
(WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts):

5:43 PM AddingFiles edited by Brian Burg
remove GMake instructions (diff)
5:37 PM Changeset in webkit [166440] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

mandreel throws a checksum error on 32-bit x86.
<https://webkit.org/b/125706>

Reviewed by Filip Pizlo.

The 32-bit DFG can emit code that loads double constants from its
CodeBlock's m_constantRegisters vector. The emitted instruction will
embed the address of the constant from the vector's backing store.
Subsequently, while inserting new constants, the DFG may resize the
vector, thereby reallocating the backing store. This renders the
previously embedded constant addresses stale.

The fix is to use a dedicated doubles constant pool stored in the DFG
CommonData instead. This constant pool won't be reallocated, and
hence will not manifest this issue.

  • dfg/DFGCommonData.h:
  • dfg/DFGGraph.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::addressOfDoubleConstant):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addressOfDoubleConstant): Deleted.

5:30 PM Changeset in webkit [166439] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

Web Inspector: console.warn is showing as error instead of warning
https://bugs.webkit.org/show_bug.cgi?id=130921

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • runtime/ConsolePrototype.cpp:

(JSC::consoleProtoFuncWarn):
console.warn should be MessageLevel Warning, not Error.

Source/WebInspectorUI:

  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
Use our enums instead of hardcoded strings.

LayoutTests:

Add a test for console.log, warn, error, etc to make sure they get
to the frontend with the expected source and level.

  • inspector-protocol/console/console-message-expected.txt: Added.
  • inspector-protocol/console/console-message.html: Added.
5:17 PM Changeset in webkit [166438] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

Web Inspector: AXI: expose what elements get generic "clickable" status
https://bugs.webkit.org/show_bug.cgi?id=130721

Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if

requested so that Web Inspector can display body event delegate handlers.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::mouseButtonListener):

  • accessibility/AccessibilityNodeObject.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

  • Localizations/en.lproj/localizedStrings.js: New "Mouse Event" string.
  • UserInterface/Models/DOMNode.js: Added nodeId and mouseEventNodeId.
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js: UI for new detail row.

LayoutTests:

Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Simple coverage of mouseEventNodeId.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt: Added.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html: Added. Full coverage.
4:40 PM Changeset in webkit [166437] by mhock@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
4:31 PM Changeset in webkit [166436] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
https://bugs.webkit.org/show_bug.cgi?id=130912

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-28
Reviewed by Geoffrey Garen.

Previously we were calling DropAllLocks inside of a single line if statement,
so the JSLock was getting reaquired very quickly. We really want to DropAllLocks
for the duration of running the nested run loop on iOS if there is a WebThread.

  • bindings/js/PageScriptDebugServer.h:
  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):

4:06 PM Changeset in webkit [166435] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Enable Media Track testing features on Windows
https://bugs.webkit.org/show_bug.cgi?id=130851

Reviewed by Eric Carlson.

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Execute code on Windows as well.
(WebCore::Internals::Internals): Ditto.
(WebCore::Internals::captionsStyleSheetOverride): Ditto.
(WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
(WebCore::Internals::setCaptionDisplayMode): Ditto.

3:46 PM Changeset in webkit [166434] by BJ Burg
  • 15 edits
    4 adds in trunk

Web Replay: add page-level setting to bypass the MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=130728

Reviewed by Timothy Hatcher.

Source/WebCore:

When replaying a specific Page we don't want to store its cached resources in the
MemoryCache. This patch adds a page setting to prevent the page's resources from
being saved in the MemoryCache.

If Settings::usesMemoryCache() is false, page resources are given the special
SessionID bypassCacheSessionID(). The cached resource loader and memory cache
act as if the memory cache is disabled if the resource has this special session id.

Hook up ReplayController to override the memory cache setting during capture/replay.

Test: http/tests/cache/bypass-memory-cache-after-reload.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):

  • page/Page.cpp:

(WebCore::Page::sessionID):

  • page/SessionID.h:

(WebCore::SessionID::bypassCacheSessionID):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setUsesMemoryCache):
(WebCore::Settings::usesMemoryCache):

  • replay/ReplayController.cpp:

(WebCore::ReplayController::setForceDeterministicSettings):

  • replay/ReplayController.h:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setUsesMemoryCache):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebKit2:

  • UIProcess/APISession.cpp:

(API::generateID): update the base ID for generating unique sessions.

LayoutTests:

Mac WebKit2 needs different expectations because of resource load timing characteristics
introduced by the interaction of Settings::usesMemoryCache and NetworkProcess.

  • http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.
  • http/tests/cache/bypass-memory-cache-after-reload.html: Added.
  • platform/mac-wk2/http/tests/cache/bypass-memory-cache-after-reload-expected.txt: Added.
3:31 PM Changeset in webkit [166433] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.

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

Patch by Cody Krieger <cjk@apple.com> on 2014-03-28
Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:

Add -_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:
to the WKWebProcessPlugInFormDelegatePrivate protocol.

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

Wire up the willSubmitForm() callback to the new
WKWebProcessPlugInFormDelegatePrivate method.

3:09 PM Changeset in webkit [166432] by ap@apple.com
  • 4 edits in trunk/Source

[Mac] Enable async text input implementation
https://bugs.webkit.org/show_bug.cgi?id=130856

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm: (-[WKView _interpretKeyEvent:completionHandler:]):

Temporarily work around <rdar://16393434>.

Source/WTF:

  • wtf/Platform.h: Added a USE macro definition.
3:07 PM Changeset in webkit [166431] by ap@apple.com
  • 7 edits in trunk/Source/WebKit2

Move sync CancelComposition message under an ifdef
https://bugs.webkit.org/show_bug.cgi?id=130908

Reviewed by Enrica Casucci.

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

(WebKit::WebPageProxy::cancelComposition): Deleted.

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:
3:06 PM Changeset in webkit [166430] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Don't cancel composition on selection change
https://bugs.webkit.org/show_bug.cgi?id=130909

Reviewed by Enrica Casucci.

Fixing a recent regression from bug 130727.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):
2:58 PM Changeset in webkit [166429] by pmolnar.u-szeged@partner.samsung.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Removed unused method logChannelByName.
https://bugs.webkit.org/show_bug.cgi?id=130897

Reviewed by Anders Carlsson.

  • Platform/Logging.cpp:

(WebKit::logChannelByName): Deleted.

  • Platform/Logging.h:
2:55 PM Changeset in webkit [166428] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

In some situations, partial layouts of floating elements produce incorrect results.
https://bugs.webkit.org/show_bug.cgi?id=122668

Reviewed by David Hyatt.

Source/WebCore:

When performing partial layout of float elements and checking if other float
elements are encountered, incorrect results were obtained by not checking
the size of the existing floats vector.

Test: fast/block/float/floats-in-clean-line-crash.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

LayoutTests:

Added test to ensure an assertion is not reached when performing a partial
layout of float elements in certain situations.

  • fast/block/float/floats-in-clean-line-crash-expected.txt: Added.
  • fast/block/float/floats-in-clean-line-crash.html: Added.
2:38 PM Changeset in webkit [166427] by Martin Robinson
  • 8 edits in trunk/Tools

Remove WebKit1 GTK+ bots
https://bugs.webkit.org/show_bug.cgi?id=130904

Reviewed by Anders Carlsson.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Remove references to GTK+ WebKit1 test bot and ensure

all bots are testing WebKit2 only.

  • Scripts/webkitpy/common/config/ews.json: Remove references to GTK+ WK1 EWS.
  • Scripts/webkitpy/common/config/ports.py: Remove references to GTK+ WK1 bots.
  • Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
  • Scripts/webkitpy/port/builders.py: Ditto.
  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Ditto.
  • TestResultServer/static-dashboards/builders.jsonp: Ditto.
2:20 PM Changeset in webkit [166426] by timothy@apple.com
  • 2 edits in trunk/Tools

Remove Brian Burg's apple.com email address.

  • Scripts/webkitpy/common/config/contributors.json:
2:19 PM Changeset in webkit [166425] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed gardening. Make WebVTT tests less flaky by ensuring captions are set to display
in each test, rather than relying on earlier tests turning captions on. This caused tests to
fail if run out of order.

  • media/track/regions-webvtt/vtt-region-display.html: Turn captions on.
  • media/track/regions-webvtt/vtt-region-dom-layout.html: Ditto.
2:12 PM Changeset in webkit [166424] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Build fix.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):

1:08 PM Changeset in webkit [166423] by jer.noble@apple.com
  • 5 edits
    2 adds in trunk

[MSE] Implement support for SourceBuffer.remove()
https://bugs.webkit.org/show_bug.cgi?id=121562

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-remove.html

Add support for SourceBuffer.remove().

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::SourceBuffer): Initialize new member variables.
(WebCore::SourceBuffer::setTimestampOffset): Update comments to match spec.
(WebCore::SourceBuffer::remove): Added; start removeTimer.
(WebCore::SourceBuffer::abortIfUpdating): Cancel removeTimer.
(WebCore::SourceBuffer::removedFromMediaSource): Call abortIfUpdating().
(WebCore::SourceBuffer::stop): Cancel removeTimer.
(WebCore::SourceBuffer::removeCodedFrames): Added.
(WebCore::SourceBuffer::removeTimerFired): Added.

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediasource/SourceBuffer.idl:

LayoutTests:

  • media/media-source/media-source-remove-expected.txt: Added.
  • media/media-source/media-source-remove.html: Added.
12:57 PM Changeset in webkit [166422] by dino@apple.com
  • 22 edits
    1 add in trunk/Source/WebCore

Support form controls that may need incremental redraw
https://bugs.webkit.org/show_bug.cgi?id=130736

Reviewed by Beth Dakin.

There are some form controls that change appearance
over time. Expand the ControlStates so that it can
hold a little more information, including a reference
to the native form control. This way the Theme implementation
can repaint the existing native control if necessary. At
least ThemeMac was reusing a single control for painting
all instances before this change.

Since ControlStates is now a class, pass it around by
reference.

The other major change is keeping a timer to trigger a
repaint in RenderBox, which happens if Theme/RenderTheme
update the ControlState to request one.

  • WebCore.xcodeproj/project.pbxproj: Add ControlStates.h.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • dom/Element.cpp:

(WebCore::Element::setActive): States now within ControlStates.
(WebCore::Element::setHovered): Ditto.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::focusedOrActiveStateChanged): Ditto.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledStateChanged): Ditto.
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked): Ditto.
(WebCore::HTMLInputElement::setIndeterminate): Ditto.

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute): Ditto.

  • platform/ControlStates.h: New file. Copied the old ControlStates enum,

and added accessors to hold whether or not the state is dirty, and
a reference to a platform control if necessary.

  • platform/Theme.h:

(WebCore::Theme::selectionColor): Pass ControlStates pointer.
(WebCore::Theme::paint): Ditto.
(WebCore::Theme::inflateControlPaintRect): Ditto.

  • platform/ThemeTypes.h: Remove ControlStates enum.
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::applyEdjeStateFromForm): Pass ControlStates pointer.
(WebCore::RenderThemeEfl::paintThemePart): Ditto.

  • platform/efl/RenderThemeEfl.h: Ditto.
  • platform/mac/ThemeMac.h: Ditto.
  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeView addSubview:]): New method to make sure we don't add CALayer backed
views to the NSView we're using for rendering.
(WebCore::updateStates): Use the private animated setters if necessary.
(WebCore::convertControlStatesToThemeDrawState): Namespacing.
(WebCore::configureCheckbox): Pass ControlStates pointer.
(WebCore::createCheckboxCell): New helper since we're creating non-static cells.
(WebCore::sharedCheckboxCell): The old static provider, renamed.
(WebCore::paintCheckbox): Check if this paint was triggered by a state change
or an animation. Update the ControlStates if we need to be repainted.
(WebCore::radio): Parameter is now ControlStates*.
(WebCore::paintRadio): Ditto.
(WebCore::setUpButtonCell): Ditto.
(WebCore::button): Ditto.
(WebCore::paintButton): Ditto.
(WebCore::paintStepper): Ditto.
(WebCore::ThemeMac::ensuredView): Ditto.
(WebCore::ThemeMac::inflateControlPaintRect): Ditto.
(WebCore::ThemeMac::paint): Ditto.
(WebCore::checkbox): Deleted.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::RenderBox): Initialize timer.
(WebCore::RenderBox::~RenderBox): Stop any pending timers and delete the ControlState if necessary.
(WebCore::RenderBox::paintBoxDecorations): Create a ControlStates if needed. Paint, and start the repaint
timer if the ControlStates say we should.
(WebCore::RenderBox::repaintTimerFired): Call repaint when the timer fires.

  • rendering/RenderBox.h: Add a timer for repainting.
  • rendering/RenderElement.cpp:

(WebCore::controlStatesRendererMap): A static HashMap that associates renderers with ControlStates.
(WebCore::RenderElement::hasControlStatesForRenderer):
(WebCore::RenderElement::controlStatesForRenderer):
(WebCore::RenderElement::removeControlStatesForRenderer):
(WebCore::RenderElement::addControlStatesForRenderer):

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

(WebCore::RenderTheme::paint): Use a pointer to ControlStates.
(WebCore::RenderTheme::adjustRepaintRect): Ditto.
(WebCore::RenderTheme::stateChanged): Ditto.
(WebCore::RenderTheme::updateControlStatesForRenderer): New method that just updates the states part of ControlStates.
(WebCore::RenderTheme::extractControlStatesForRenderer): New method that calculates the state.
(WebCore::RenderTheme::controlStatesForRenderer): Deleted.

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

(WebCore::RenderThemeMac::documentViewFor): Use a ControlStates pointer.

12:11 PM Changeset in webkit [166421] by ap@apple.com
  • 6 edits in trunk/Source/WebKit2

Eliminate a sync cancelComposition call in WebPageProxy::editorStateChanged
https://bugs.webkit.org/show_bug.cgi?id=130727

Reviewed by Enrica Casucci.

Added a separate CompositionWasCanceled IPC call, with which WebProcess can tell
UIProcess that it should notify an input method of canceled composition. There are
a lot of incorrect edge cases where we don't call it correctly, but this was true
in the old implementation too (for different edge cases).

This change only affects iOS and async NSTextInputClient code path on Mac. I don't
want to change sync NSTextInputClient code path unless absolutely necessary.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::compositionWasCanceled):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::insertText):
(WebKit::WebPageProxy::executeKeypressCommands):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChangeSelection):

11:25 AM Changeset in webkit [166420] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

Clear SVGInlineTextBox fragments when the text changes.
https://bugs.webkit.org/show_bug.cgi?id=130879

Reviewed by Darin Adler.

Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision

Source/WebCore:

This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
following text boxes when invoked. Typically this method is called
when the underlying text string changes, and that change needs to
be propagated to all the boxes that use the text beyond the point
where the text is first modified.

Also cleans up final function keywords for SVGRootInlineBox.

Test: svg/custom/unicode-in-tspan-multi-svg-crash.html

  • rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function

(WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()

  • rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function

(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
(WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop

  • rendering/svg/SVGRootInlineBox.h:

LayoutTests:

When failing, this test will render garbage characters or crash.

  • svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt: Added.
  • svg/custom/unicode-in-tspan-multi-svg-crash.html: Added.
11:24 AM Changeset in webkit [166419] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

bisect-builds should print Trac 'changeset' URL if only one build is detected
<http://webkit.org/b/130903>

Reviewed by Dan Bernstein.

  • Scripts/bisect-builds:

(printTracLink): Print a direct link to the Trac 'changeset'
URL if there is only one revision in the range.

11:20 AM Changeset in webkit [166418] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix cloop build.

11:19 AM Changeset in webkit [166417] by akling@apple.com
  • 33 edits in trunk/Source/WebCore

Rebaseline bindings tests.

11:18 AM Changeset in webkit [166416] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/PerformanceTests

[CSS Shapes] Add performance tests for Shapes with Regions
https://bugs.webkit.org/show_bug.cgi?id=129624

Reviewed by Ryosuke Niwa.

This tests introduces a real-life like page, which contains different types of shapes within
shape-outsides. The content flows through regions, which use media queries. The performance test
loads the actual Shapes-Regions test case into iframes with different page sizes (thus the layout
triggers the media queries as well), and measures its load time.

  • Layout/RegionsShapes.html: Added.
  • Layout/Shapes/resources/RegionsShapesContent.html: Added.
11:10 AM Changeset in webkit [166415] by msaboff@apple.com
  • 13 edits
    3 adds in trunk

Unreviewed, rolling r166248 back in.

Turns out r166070 didn't cause a 2% performance loss in page load times

Reverted changeset:

Unreviewed, rolling out r166126.
Rollout r166126 in prepartion to roll out prerequisite r166070

10:58 AM Changeset in webkit [166414] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Null pointer crash in String::append(UChar).
https://bugs.webkit.org/show_bug.cgi?id=130900

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-03-28
Reviewed by Michael Saboff.

  • wtf/text/WTFString.cpp:

(WTF::String::append): Check and initialize m_impl member first, to avoid null pointer crash.

10:51 AM Changeset in webkit [166413] by tonikitoo@webkit.org
  • 6 edits in trunk

constants are always typed to 'int' https://bugs.webkit.org/show_bug.cgi?id=130775

Reviewed by Darin Adler.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Patch fixes a bug where all constant getter generated
methods were returning 'integer' values due to static_cast.

Compilers should be smarth enough to properly infer which
jsNumber class construtor to call given a literal value.

Patch also fixes a bug where values whose representation
is bigger an integer maximum were overflowing. For instance,
NodeFilter.SHOW_ALL (0xFFFFFFFF).

Tests:
Binding tests updated.
Rebaselined fast/dom/constants.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
(WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
(WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT1):
(WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT2):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjCONDITIONAL_CONST):
(WebCore::jsTestObjCONST_VALUE_0):
(WebCore::jsTestObjCONST_VALUE_1):
(WebCore::jsTestObjCONST_VALUE_2):
(WebCore::jsTestObjCONST_VALUE_4):
(WebCore::jsTestObjCONST_VALUE_8):
(WebCore::jsTestObjCONST_VALUE_9):
(WebCore::jsTestObjCONST_VALUE_11):
(WebCore::jsTestObjCONST_VALUE_12):
(WebCore::jsTestObjCONST_VALUE_13):
(WebCore::jsTestObjCONST_VALUE_14):
(WebCore::jsTestObjCONST_JAVASCRIPT):
(WebCore::jsTestObjReadonly):

10:32 AM Changeset in webkit [166412] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

A TrailingObject's endpoint might get decremented twice
https://bugs.webkit.org/show_bug.cgi?id=130874

Reviewed by Darin Adler.

There are two places where we might shave off a trailing space from the end
of a line. We don't want to hit both codepaths for a single line.

Fixes fast/block/update-midpoints-for-trailing-boxes-crash.html after r166245.

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):

10:10 AM WebKitGTK/2.4.x edited by mario@webkit.org
(diff)
10:02 AM Changeset in webkit [166411] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Inline JSDOMWrapper subclasses' finishCreation().
<https://webkit.org/b/130890>

finishCreation() is really a no-op for JSDOMWrapper subclasses in
release builds. None of the ancestor classes do anything but assert
in their implementations.

Generate the function inline, reducing binary size, and removing
an unnecessary call from the JSFoo::create() helpers.

Reviewed by Sam Weinig.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

9:42 AM Changeset in webkit [166410] by mario.prada@samsung.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Running minibrowser with url crashes in debug build
https://bugs.webkit.org/show_bug.cgi?id=130492

Reviewed by Martin Robinson.

Use the ResourceRequest(const URL& url) constructor, instead of the
one taking a String, to call WebPageProxy::loadRequest(), so we
ensure that the passed URI is correctly constructed.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_load_uri): Create an URL out of a SoupURI and
use that to create a ResourceRequest to pass to loadRequest().

9:18 AM Changeset in webkit [166409] by enrica@apple.com
  • 6 edits in trunk/Source/WebKit/ios

Add support for AirPlay picker for iOS.
https://bugs.webkit.org/show_bug.cgi?id=130876
<rdar://problem/15349859>

Reviewed by Benjamin Poulain.

Adds support for the AirPlay picker for WebKit.
The actual picker is implemented in UIKit.

  • DefaultDelegates/WebDefaultUIKitDelegate.m:

(-[WebDefaultUIKitDelegate interactionLocation]):
(-[WebDefaultUIKitDelegate showPlaybackTargetPicker:fromRect:]):

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::showPlaybackTargetPicker):

  • WebCoreSupport/WebFrameIOS.h:
  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame elementRectAtPoint:]):

  • WebView/WebUIKitDelegate.h:
8:49 AM Changeset in webkit [166408] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] HLS streams will report an incorrect natural size.
https://bugs.webkit.org/show_bug.cgi?id=130859

Reviewed by Eric Carlson.

Some HLS streams will report incorrect naturalSizes due to the asset's preferredTransform
property not being available at the same time as the track's natural size. Given that
AVFoundation only allows one video track to be selected at a time, simply use the asset's
presentation size, cached in m_cachedPresentation size in all cases.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):

8:39 AM WebKitGTK/2.4.x edited by mario@webkit.org
(diff)
8:36 AM Changeset in webkit [166407] by Antti Koivisto
  • 17 edits in trunk/Source/WebCore

Remove NodeListRootType flag
https://bugs.webkit.org/show_bug.cgi?id=130896

Reviewed by Anders Carlsson.

This can be handled statically (except for the RadioNodeList case) removing
a branch from NodeList traversal.

  • dom/ClassNodeList.h:
  • dom/Document.cpp:

(WebCore::Document::registerNodeListForInvalidation):
(WebCore::Document::unregisterNodeListForInvalidation):
(WebCore::Document::registerNodeList): Deleted.
(WebCore::Document::unregisterNodeList): Deleted.

Mark document invalidation registered lists with a bit.
Renamed for clarity.

  • dom/Document.h:
  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::rootNode):

Base class version that invokes virtual isRootedAtDocument. It is needed to support
LiveNodeList::namedItem.

  • dom/LiveNodeList.h:

(WebCore::LiveNodeList::isRegisteredForInvalidationAtDocument):
(WebCore::LiveNodeList::setRegisteredForInvalidationAtDocument):
(WebCore::LiveNodeList::document):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::rootNode):

Call isRootedAtDocument on the final leaf type. Except for RadioNodeList this
resolves statically.

(WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
(WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
(WebCore::LiveNodeList::isRootedAtDocument): Deleted.
(WebCore::LiveNodeList::rootType): Deleted.
(WebCore::LiveNodeList::rootNode): Deleted.

  • dom/NameNodeList.h:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::adoptDocument):

  • dom/TagNodeList.h:
  • html/HTMLCollection.cpp:

(WebCore::rootTypeFromCollectionType):

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::isRootedAtDocument):
(WebCore::HTMLCollection::rootType):

HTMLCollections still needs the flag.

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):

  • html/LabelsNodeList.h:
  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):

  • html/RadioNodeList.h:
8:34 AM Changeset in webkit [166406] by mario.prada@samsung.com
  • 2 edits in trunk/Source/WebCore

[GTK] Geoclue2 providers won't work after reloading
https://bugs.webkit.org/show_bug.cgi?id=130898

Reviewed by Martin Robinson.

Don't reuse the Geoclue2 client proxy between different calls to
startPosition(), and create a new client proxy each time instead.

  • platform/geoclue/GeolocationProviderGeoclue2.cpp:

(GeolocationProviderGeoclue::startUpdating): Don't reuse the
client proxy, by always calling geoclue_manager_call_get_client().
(GeolocationProviderGeoclue::stopUpdating): Disconnect from the
'location-updated' signal and dispose the client proxy.

7:18 AM Changeset in webkit [166405] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[GTK] Too many redirects visiting www.globalforestwatch.org
https://bugs.webkit.org/show_bug.cgi?id=129681

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-03-28
Reviewed by Martin Robinson.

Source/WebCore:

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::standardUserAgent): Append Safari version to UserAgent
string.

Source/WebKit/gtk:

  • webkit/webkitwebsettings.cpp:

(userAgentForURL): Change outdated comment.

7:08 AM Changeset in webkit [166404] by msaboff@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling r166249 back in.

Turns out r166070 didn't cause a 2% performance loss in page load times

Reverted changeset:

Unreviewed, rolling out r166070.
Rollout r166070 due to 2% performance loss in page load times

6:50 AM WebKitGTK/2.4.x edited by Martin Robinson
(diff)
3:34 AM Changeset in webkit [166403] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

[EFL] Bump glib version from 2.36 to 2.38
https://bugs.webkit.org/show_bug.cgi?id=130886

Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake: Required glib-2.38 version.

Tools:

There is a build break on EFL port when using glib 2.36 ver. To fix it,
we need to bump glib version up to 2.38 as gtk port.

  • efl/jhbuild.modules:
1:52 AM Changeset in webkit [166402] by k.czech@samsung.com
  • 1 edit
    3 deletes in trunk/LayoutTests

[EFL][GTK] Remove expectations after r166194
https://bugs.webkit.org/show_bug.cgi?id=130842

Reviewed by Mario Sanchez Prada.

r166194 introduces one common expectation for all ports.

  • platform/efl-wk1/accessibility/table-with-aria-role-expected.txt: Removed.
  • platform/efl-wk2/accessibility/table-with-aria-role-expected.txt: Removed.
  • platform/gtk/accessibility/table-with-aria-role-expected.txt: Removed.
1:20 AM Changeset in webkit [166401] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Copy/paste error. EventListener block in DOM.json uses description from Node.
https://bugs.webkit.org/show_bug.cgi?id=130158

Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.

  • inspector/protocol/DOM.json: Fixed a copy/paste annoyance.

Mar 27, 2014:

11:24 PM Changeset in webkit [166400] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Tweak cache sizes for iOS
https://bugs.webkit.org/show_bug.cgi?id=130871

Reviewed by Sam Weinig.

Bring over the tweaks we had made to memory cache size for WebKit1 on iOS to WebKit2. These
were made per findings in <rdar://8611638>.

  • Shared/CacheModel.cpp:

(WebKit::calculateCacheSizes):

11:21 PM Changeset in webkit [166399] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Fix wrong parameter name in ewk_view_user_agent_set()
https://bugs.webkit.org/show_bug.cgi?id=130888

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/ewk_view.h:
11:00 PM Changeset in webkit [166398] by commit-queue@webkit.org
  • 12 edits in trunk

Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
https://bugs.webkit.org/show_bug.cgi?id=130827

Patch by James Craig <jcraig@apple.com> on 2014-03-27
Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

Websites/webkit.org:

Updated demo files with attr refresh to show off selected children changing.
Long term fix will be http://webkit.org/b/130883

  • blog-files/aria1.0/combobox_with_live_region_status.html:

LayoutTests:

Tests selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
10:28 PM Changeset in webkit [166397] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

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

This was a misguided optimization. (Requested by kling on
#webkit).

Reverted changeset:

"Avoid fetching JSObject::structure() repeatedly in
putDirectInternal."
https://bugs.webkit.org/show_bug.cgi?id=130857
http://trac.webkit.org/changeset/166376

9:06 PM Changeset in webkit [166396] by mrowe@apple.com
  • 6 edits in trunk

<https://webkit.org/b/42704> WebKitTestRunner needs to print history delegate information

Tools:

Provide an implementation of WKContextHistoryClient that logs when called for tests in
the globalhistory directory.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2014-03-27
Reviewed by Sam Weinig.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::TestController):
(WTR::TestController::initialize): Set the history client.
(WTR::TestController::resetStateToConsistentValues): Disable logging of history client callbacks.
(WTR::TestController::didNavigateWithNavigationData): Log information about the navigation. Some portions
of the output are hard-coded to match WebKit1's results for now since they're fixed in our existing tests
and we don't yet have API to access the data in question.
(WTR::TestController::didPerformClientRedirect):
(WTR::TestController::didPerformServerRedirect):
(WTR::TestController::didUpdateHistoryTitle):

  • WebKitTestRunner/TestController.h:

(WTR::TestController::setShouldLogHistoryClientCallbacks):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::shouldLogHistoryClientCallbacks): Log history client callbacks for tests in a globalhistory directory.
(WTR::TestInvocation::invoke):

LayoutTests:

Reviewed by Sam Weinig.

  • platform/wk2/TestExpectations: Enable the two layout tests that pass. One test remains disabled

due to lack of testRunner API, and another due to an apparent bug in WebKit2's handling of
client redirects.

8:52 PM Changeset in webkit [166395] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Specify Shadow DOM Pseudo IDs in Media Element Constructors
https://bugs.webkit.org/show_bug.cgi?id=130882

Reviewed by Eric Carlson.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::MediaControlPanelElement): Call setPseudoId in constructor.
(WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement): Ditto.
(WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
(WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Ditto.
(WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
(WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Ditto.
(WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Ditto.
(WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Ditto.
(WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement): Ditto.
(WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Ditto.
(WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Ditto.
(WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
(WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement): Ditto.
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Ditto.
(WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
(WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement): Ditto.
(WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Ditto.
(WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
(WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Ditto.
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Ditto.
(WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Ditto.
(WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Ditto.
(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Ditto.

8:50 PM Changeset in webkit [166394] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS][WK2] Adjust the tile coverage on the scrollview's edges
https://bugs.webkit.org/show_bug.cgi?id=130884

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-27
Reviewed by Dan Bernstein.

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::computeCoverageRect):
Pull back the future rect inside the contentRect if it goes outside.
There is no point in retiling for rubberbanding and the extra tiles should be always be
on the opposite side to the edges.

7:46 PM Changeset in webkit [166393] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove unused LocaleMac::create method
https://bugs.webkit.org/show_bug.cgi?id=130870

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-27
Reviewed by Andreas Kling.

  • platform/text/mac/LocaleMac.h:
  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::create): Deleted.
(WebCore::LocaleMac::shortDateFormatter): Deleted.

6:10 PM Changeset in webkit [166392] by oliver@apple.com
  • 20 edits
    6 adds in trunk

Support spread operand in |new| expressions
https://bugs.webkit.org/show_bug.cgi?id=130877

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add support for the spread operator being applied in
|new| expressions. This required adding support for
a new opcode, op_construct_varargs. This is a relatively
simple refactoring of the call_varargs implementation.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

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

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::callTypeFor):
(JSC::CallLinkInfo::specializationKind):

  • bytecode/CodeBlock.cpp:

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

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):

  • bytecompiler/BytecodeGenerator.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::emit_op_construct_varargs):
(JSC::JIT::emitSlow_op_construct_varargs):

  • jit/JITCall32_64.cpp:

(JSC::JIT::emitSlow_op_construct_varargs):
(JSC::JIT::emit_op_construct_varargs):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseMemberExpression):

LayoutTests:

Correctness and performance tests for spread operands

  • js/parser-syntax-check-expected.txt:
  • js/regress/call-spread-expected.txt: Added.
  • js/regress/call-spread.html: Added.
  • js/regress/new-spread-expected.txt: Added.
  • js/regress/new-spread.html: Added.
  • js/regress/script-tests/call-spread.js: Added.

(testFunction):
(test2):
(test3):

  • js/regress/script-tests/new-spread.js: Added.

(testFunction):
(test2):
(test3):

  • js/script-tests/parser-syntax-check.js:
6:00 PM Changeset in webkit [166391] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Clean up unneeded "mutable" keyword
https://bugs.webkit.org/show_bug.cgi?id=130832

Reviewed by Andreas Kling.

As r166350, this patch cleans up unneeded "mutable" keywords.
Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.

  • css/CSSFontFaceRule.h:
  • css/CSSStyleRule.h:
  • editing/FrameSelection.h:
5:51 PM Changeset in webkit [166390] by fpizlo@apple.com
  • 6 edits in trunk

Revert http://trac.webkit.org/changeset/166386 because it broke builds.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/LLVMForJSC.xcconfig:

Tools:

  • Scripts/build-webkit:
  • Scripts/copy-webkitlibraries-to-product-directory:
5:48 PM Changeset in webkit [166389] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, skip this test for now.

  • tests/stress/recurse-infinitely-on-getter.js:
5:36 PM Changeset in webkit [166388] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Confirm composition in resignFirstResponder, don't cancel it
https://bugs.webkit.org/show_bug.cgi?id=130852

Reviewed by Darin Adler.

  • UIProcess/API/mac/WKView.mm: (-[WKView resignFirstResponder]):
5:27 PM Changeset in webkit [166387] by psolanki@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS WebKit2] Don't pass disk cache directory path on iOS
https://bugs.webkit.org/show_bug.cgi?id=130862

Reviewed by Sam Weinig.

The diskPath passed to NSURLCache initializer is treated differently on Mac and iOS. Just
pass nil for now until we sort out the API.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:52 PM Changeset in webkit [166386] by fpizlo@apple.com
  • 6 edits in trunk

Switch the LLVMForJSC target to using the LLVM in /usr/local rather than /usr/local/LLVMForJavaScriptCore on iOS
https://bugs.webkit.org/show_bug.cgi?id=130867
<rdar://problem/16432456>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/LLVMForJSC.xcconfig:

Tools:

  • Scripts/build-webkit:
  • Scripts/copy-webkitlibraries-to-product-directory:
4:46 PM Changeset in webkit [166385] by psolanki@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

[iOS WebKit2] Share network process code between iOS and Mac
https://bugs.webkit.org/show_bug.cgi?id=130861

Reviewed by Sam Weinig.

Implement network process functions for iOS by moving common code from NetworkProcessMac.mm
to a new shared file NetworkProcessCocoa.mm and sharing between iOS and Mac.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: Added.

(WebKit::NetworkProcess::platformLowMemoryHandler):
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Common initialization code for iOS and Mac.
(WebKit::memorySize):
(WebKit::volumeFreeSize):
(WebKit::NetworkProcess::platformSetCacheModel):

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::initializeProcess):
Remove unnecessary #if PLATFORM(IOS).
(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebKit2.xcodeproj/project.pbxproj:
4:41 PM Changeset in webkit [166384] by enrica@apple.com
  • 28 edits
    2 adds in trunk/Source

Add support for AirPlay picker in WK2 for iOS.
https://bugs.webkit.org/show_bug.cgi?id=130855
<rdar://problem/15349859>

Source/WebCore:

Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.

Adds support in HTMLMediaSession to display the airplay picker
and to monitor presence of available wireless targets.

  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::showPlaybackTargetPicker):
(WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):

  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::wirelessRoutesAvailableChanged):

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManager::startMonitoringAirPlayRoutes):
(WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes):
(WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes):
(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):

Source/WebKit/ios:

Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.

Adds stub for new WebKit chrome client method.

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::showAirPlayRoutePicker):

Source/WebKit2:

Reviewed by Joseph Pecoraro and Benjamin Poulain.

Adds support to display the airplay picker for iPhone and iPad
in WK2.
The picker on iPad is displayed next to the airplay button.

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

(WebKit::PageClientImpl::showAirPlayRoutePicker):

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

(-[WKContentView _showAirPlayRoutePicker:fromRect:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::showAirPlayRoutePicker):

  • UIProcess/ios/forms/WKAirPlayRoutePicker.h: Added.
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Added.

(-[WKAirPlayRoutePicker initWithView:]):
(-[WKAirPlayRoutePicker dealloc]):
(-[WKAirPlayRoutePicker popoverControllerDidDismissPopover:]):
(-[WKAirPlayRoutePicker _presentAirPlayPopoverAnimated:fromRect:]):
(-[WKAirPlayRoutePicker _windowWillRotate:]):
(-[WKAirPlayRoutePicker _windowDidRotate:]):
(-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]):
(-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]):
(-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]):
(-[WKAirPlayRoutePicker show:fromRect:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::showAirPlayRoutePicker):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::touchEvent):
(WebKit::WebPage::touchEventSyncForTesting):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rectForElementAtInteractionLocation):
(WebKit::WebPage::handleTap):

4:40 PM Changeset in webkit [166383] by Bem Jones-Bey
  • 9 edits
    42 adds in trunk

[CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
https://bugs.webkit.org/show_bug.cgi?id=127982

Reviewed by Simon Fraser.

Source/WebCore:

Calculate rounded corners for box shapes as defined in the CSS Shapes
spec.

Tests: css3/masking/clip-path-border-radius-border-box-000.html

css3/masking/clip-path-border-radius-content-box-000.html
css3/masking/clip-path-border-radius-content-box-001.html
css3/masking/clip-path-border-radius-padding-box-000.html
css3/masking/clip-path-border-radius-padding-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html

  • platform/graphics/RoundedRect.h:

(WebCore::RoundedRect::Radii::transposedRadii): Transpose radii for

vertical writing modes.

(WebCore::RoundedRect::moveBy): Add method for use with clip path.
(WebCore::RoundedRect::transposedRect): Transpose rect for vertical

writing modes.

  • rendering/RenderBox.h:

(WebCore::RenderBox::marginBoxRect): Return the margin box rect for

the RenderBox.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath): Call the new function for the

rounded corner calculation.

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::ShapeInfo<RenderType>::computedShape): Call the new function

for the rounded corner calculation.

  • rendering/shapes/BoxShape.cpp:

(WebCore::adjustRadiusForMarginBoxShape): Helper function for

computeRoundedRectForLayoutBoxShape.

(WebCore::computeMarginBoxShapeRadius): Ditto.
(WebCore::computeMarginBoxShapeRadii): Ditto.
(WebCore::computeRoundedRectForBoxShape): Utility function to do the

rounded corner calculation.

  • rendering/shapes/BoxShape.h: Add new function.
  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::getRoundedInnerBorderFor): Add default argument

values.

LayoutTests:

  • css3/masking/clip-path-border-radius-border-box-000-expected.html: Added.
  • css3/masking/clip-path-border-radius-border-box-000.html: Added.
  • css3/masking/clip-path-border-radius-content-box-000-expected.html: Added.
  • css3/masking/clip-path-border-radius-content-box-000.html: Added.
  • css3/masking/clip-path-border-radius-content-box-001-expected.html: Added.
  • css3/masking/clip-path-border-radius-content-box-001.html: Added.
  • css3/masking/clip-path-border-radius-padding-box-000-expected.html: Added.
  • css3/masking/clip-path-border-radius-padding-box-000.html: Added.
  • css3/masking/clip-path-border-radius-padding-box-001-expected.html: Added.
  • css3/masking/clip-path-border-radius-padding-box-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html: Added.
4:37 PM Changeset in webkit [166382] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] <rdar://problem/16414684> WKWebView should draw a white background before the page loads
https://bugs.webkit.org/show_bug.cgi?id=130873

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

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

4:23 PM Changeset in webkit [166381] by commit-queue@webkit.org
  • 11 edits
    2 deletes in trunk/Source/WebCore

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

Caused a test assertion (Requested by smfr on #webkit).

Reverted changeset:

"Operator stretching: expose a math data API"
https://bugs.webkit.org/show_bug.cgi?id=130572
http://trac.webkit.org/changeset/166364

4:22 PM Changeset in webkit [166380] by benjamin@webkit.org
  • 9 edits in trunk/Source

[iOS][WK2] Compute a good exposed rect when scaling WKContentView
https://bugs.webkit.org/show_bug.cgi?id=130761

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

Source/WebCore:

  • WebCore.exp.in:
  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::setScrollVelocity):
(WebCore::ScrollView::computeCoverageRect):
While scaling in, do not add margins tiles. When scaling out, add 1 margin tile size
all around.

Source/WebKit2:

Add a simple heuristic to improve tiling while zooming. In theory we could take the zoom
center and scaleRate to split the speed between scrolling and pinching. In practice,
zoom is transitory and is not as predictable as scrolling, so this patch just does a very
simple heuristic:
-When zooming in, do not expand coverage.
-When zooming out, add half a tile size on every side.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::timestamp):
(WebKit::VisibleContentRectUpdateInfo::horizontalVelocity):
(WebKit::VisibleContentRectUpdateInfo::verticalVelocity):
(WebKit::VisibleContentRectUpdateInfo::scaleChangeRate):

  • UIProcess/ios/WKContentView.mm:

(WebKit::HistoricalVelocityData::VelocityData::VelocityData):
(WebKit::HistoricalVelocityData::velocityForNewData):
(WebKit::HistoricalVelocityData::append):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::adjustExposedRectForBoundedScale):
When zooming past the maximum size, adjust the exposed rect to continue tiling the area
at maximum size. Otherwise, we tile a tiny area, and have to retile larger when the animation
pull back the view to maximum scale.

(WebKit::adjustVelocityDataForBoundedScale):
Since we do not split the velocity from scrolling from the scaling, just clear the velocity when zooming.
Also clear the scaleChangeRate when the scale is out of bounds. There is no reason to add tiles for
temporary state.

(WebKit::WebPage::updateVisibleContentRects):

3:59 PM Changeset in webkit [166379] by andersca@apple.com
  • 19 edits
    5 copies
    2 moves in trunk/Source/WebKit2

Add _ prefix to WKRemoteObjectRegistery and WKRemoteObjectInterface
https://bugs.webkit.org/show_bug.cgi?id=130868

Reviewed by Sam Weinig.

  • Shared/API/Cocoa/RemoteObjectRegistry.h:
  • Shared/API/Cocoa/RemoteObjectRegistry.mm:

(WebKit::RemoteObjectRegistry::RemoteObjectRegistry):

  • Shared/API/Cocoa/WKRemoteObject.h:
  • Shared/API/Cocoa/WKRemoteObject.mm:

(-[WKRemoteObject _initWithObjectRegistry:interface:]):

  • Shared/API/Cocoa/WKRemoteObjectCoder.h:
  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):

  • Shared/API/Cocoa/WKRemoteObjectInterface.h:
  • Shared/API/Cocoa/WKRemoteObjectInterface.mm:

(isContainerClass): Deleted.
(propertyListClasses): Deleted.
(allowedArgumentClassesForMethod): Deleted.
(initializeAllowedArgumentClasses): Deleted.
(-[WKRemoteObjectInterface initWithProtocol:identifier:]): Deleted.
(+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]): Deleted.
(-[WKRemoteObjectInterface description]): Deleted.
(classesForSelectorArgument): Deleted.
(-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Deleted.
(-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Deleted.
(methodArgumentTypeEncodingForSelector): Deleted.
(-[WKRemoteObjectInterface _methodSignatureForSelector:]): Deleted.
(-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]): Deleted.

  • Shared/API/Cocoa/WKRemoteObjectRegistry.h:
  • Shared/API/Cocoa/WKRemoteObjectRegistry.mm:

(-[WKRemoteObjectRegistry registerExportedObject:interface:]): Deleted.
(-[WKRemoteObjectRegistry unregisterExportedObject:interface:]): Deleted.
(-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]): Deleted.
(-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]): Deleted.
(-[WKRemoteObjectRegistry _invalidate]): Deleted.
(-[WKRemoteObjectRegistry _sendInvocation:interface:]): Deleted.
(-[WKRemoteObjectRegistry WebKit::]): Deleted.
(-[WKRemoteObjectRegistry _invokeMethod:]): Deleted.
(-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.

  • Shared/API/Cocoa/_WKRemoteObjectInterface.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.h.
  • Shared/API/Cocoa/_WKRemoteObjectInterface.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm.

(isContainerClass):
(propertyListClasses):
(allowedArgumentClassesForMethod):
(initializeAllowedArgumentClasses):
(-[_WKRemoteObjectInterface initWithProtocol:identifier:]):
(+[_WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
(-[_WKRemoteObjectInterface description]):
(classesForSelectorArgument):
(-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
(-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):
(methodArgumentTypeEncodingForSelector):
(-[_WKRemoteObjectInterface _methodSignatureForSelector:]):
(-[_WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):

  • Shared/API/Cocoa/_WKRemoteObjectInterfaceInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h.
  • Shared/API/Cocoa/_WKRemoteObjectRegistry.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.h.
  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm.

(-[_WKRemoteObjectRegistry registerExportedObject:interface:]):
(-[_WKRemoteObjectRegistry unregisterExportedObject:interface:]):
(-[_WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
(-[_WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
(-[_WKRemoteObjectRegistry _invalidate]):
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
(-[_WKRemoteObjectRegistry WebKit::]):
(-[_WKRemoteObjectRegistry _invokeMethod:]):
(-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):

  • Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController _remoteObjectRegistry]):
(-[WKBrowsingContextController remoteObjectRegistry]): Deleted.

  • UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _remoteObjectRegistry]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInBrowserContextControllerToBeRemoved.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h.

(-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):

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

(-[WKWebProcessPlugInBrowserContextController _remoteObjectRegistry]):
(-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]): Deleted.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
3:49 PM Changeset in webkit [166378] by commit-queue@webkit.org
  • 32 edits
    3 deletes in trunk/Source

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

Seems to have broken PLT (Requested by ap on #webkit).

Reverted changeset:

Source/WebCore:

"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360

Source/WebKit/mac:

"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360

Source/WebKit2:

"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360

Source/WTF:

"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360

3:47 PM Changeset in webkit [166377] by Antti Koivisto
  • 15 edits in trunk/Source/WebCore

Remove LiveNodeList::Type
https://bugs.webkit.org/show_bug.cgi?id=130866

Reviewed by Andreas Kling.

We don't need dynamic type information anymore.

  • dom/ClassNodeList.cpp:

(WebCore::ClassNodeList::ClassNodeList):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByName):
(WebCore::ContainerNode::getElementsByClassName):
(WebCore::ContainerNode::radioNodeList):

  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::LiveNodeList):

  • dom/LiveNodeList.h:

(WebCore::LiveNodeList::invalidationType):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
(WebCore::LiveNodeList::type): Deleted.

  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::nodeMatches): Deleted.

  • dom/NameNodeList.h:

(WebCore::NameNodeList::nodeMatches):

  • dom/NodeRareData.h:

(WebCore::NodeListTypeIdentifier<ClassNodeList>::value):
(WebCore::NodeListTypeIdentifier<NameNodeList>::value):
(WebCore::NodeListTypeIdentifier<TagNodeList>::value):
(WebCore::NodeListTypeIdentifier<HTMLTagNodeList>::value):
(WebCore::NodeListTypeIdentifier<RadioNodeList>::value):
(WebCore::NodeListTypeIdentifier<LabelsNodeList>::value):

Get unique id from type for key generation purposes only.

(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::namedNodeListKey):

  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList):

  • dom/TagNodeList.h:
  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):

  • html/LabelsNodeList.h:
  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):

  • html/RadioNodeList.h:
3:39 PM Changeset in webkit [166376] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Avoid fetching JSObject::structure() repeatedly in putDirectInternal.
<https://webkit.org/b/130857>

Use the cached Structure* instead of re-fetching it over and over since
that's a non-trivial operation these days.

Reviewed by Mark Hahnenberg.

  • runtime/JSObject.h:

(JSC::JSObject::putDirectInternal):

3:34 PM Changeset in webkit [166375] by mhahnenberg@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Check the remembered set bit faster
https://bugs.webkit.org/show_bug.cgi?id=130860

Reviewed by Oliver Hunt.

Currently we look up the remembered set bit in the MarkedBlock in C++ code, but
that bit is also stored in the object. We should look it up there whenever possible.

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::shouldReportLiveBytes):

  • heap/Heap.cpp:

(JSC::Heap::addToRememberedSet):

  • heap/Heap.h:
  • heap/HeapInlines.h: Removed.
  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::reportExtraMemoryUsage):

3:30 PM Changeset in webkit [166374] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Support dynamic layer hosting context changes
<rdar://problem/16278019>
https://bugs.webkit.org/show_bug.cgi?id=130863

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView _windowDidChangeLayerHosting:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::layerHostingModeDidChange):

  • UIProcess/WebPageProxy.h:
3:28 PM Changeset in webkit [166373] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Don't leak the WKBrowsingContextController
https://bugs.webkit.org/show_bug.cgi?id=130815

Reviewed by Tim Horton.

Use adoptNS to avoid leaking the WKBrowsingContextController.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView browsingContextController]):

3:28 PM Changeset in webkit [166372] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix crash when RenderView is cleared inside of frame flattening layout
https://bugs.webkit.org/show_bug.cgi?id=130864

Reviewed by Dan Bernstein.

Navigating on http://wallstcheatsheet.com pages on iOS in WebKit1 would
sometimes crash when, inside the inChildFrameLayoutWithFrameFlattening clause,
our frame's RenderView would be null after doing a layout from the root frame,
possibly also when WebCore was being re-entered from another thread.

Add a null check to fix this.

Crash was timing-dependent and hard to test.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

3:00 PM Changeset in webkit [166371] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Give WebProcess a proxy application entitlement
https://bugs.webkit.org/show_bug.cgi?id=130806

Reviewed by Timothy Hatcher.

  • Configurations/WebContent-iOS.entitlements:
2:21 PM Changeset in webkit [166370] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add reload and reloadFromOrigin as API
https://bugs.webkit.org/show_bug.cgi?id=130858

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView reload:]):
(-[WKWebView reloadFromOrigin:]):

1:49 PM Changeset in webkit [166369] by Antti Koivisto
  • 14 edits in trunk/Source/WebCore

Remove some unnecessary branches from LiveNodeList traversal
https://bugs.webkit.org/show_bug.cgi?id=130854

Reviewed by Andreas Kling.

Compile different traversal code paths for all NodeList subclasses.

  • dom/ClassNodeList.cpp:

(WebCore::ClassNodeList::ClassNodeList):
(WebCore::ClassNodeList::~ClassNodeList):
(WebCore::ClassNodeList::nodeMatches): Deleted.

  • dom/ClassNodeList.h:

(WebCore::ClassNodeList::nodeMatches):
(WebCore::ClassNodeList::nodeMatchesInlined): Deleted.

Remove separate nodeMatchesInlined functions.
We now rely on exact types and marking classes final.

  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
(WebCore::LiveNodeList::namedItem):
(WebCore::LiveNodeList::rootNode): Deleted.
(WebCore::isMatchingElement): Deleted.
(WebCore::firstMatchingElement): Deleted.
(WebCore::lastMatchingElement): Deleted.
(WebCore::nextMatchingElement): Deleted.
(WebCore::previousMatchingElement): Deleted.
(WebCore::traverseMatchingElementsForward): Deleted.
(WebCore::traverseMatchingElementsBackward): Deleted.
(WebCore::LiveNodeList::collectionFirst): Deleted.
(WebCore::LiveNodeList::collectionLast): Deleted.
(WebCore::LiveNodeList::collectionTraverseForward): Deleted.
(WebCore::LiveNodeList::collectionTraverseBackward): Deleted.
(WebCore::LiveNodeList::length): Deleted.
(WebCore::LiveNodeList::item): Deleted.
(WebCore::LiveNodeList::memoryCost): Deleted.
(WebCore::LiveNodeList::invalidateCache): Deleted.

  • dom/LiveNodeList.h:

(WebCore::LiveNodeList::invalidateCacheForAttribute):
(WebCore::CachedLiveNodeList::collectionCanTraverseBackward):
(WebCore::LiveNodeList::rootNode):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):

Add CachedLiveNodeList<NodeListType> utility type that interfaces with CollectionIndexCache.
It is the base class for all concrete LiveNodeLists.

(WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::collectionFirst):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::nextMatchingElement):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::previousMatchingElement):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
(WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
(WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
(WebCore::CachedLiveNodeList<NodeListType>::length):
(WebCore::CachedLiveNodeList<NodeListType>::item):
(WebCore::CachedLiveNodeList<NodeListType>::memoryCost):

Templated code moves to header.

(WebCore::LiveNodeList::LiveNodeList): Deleted.
(WebCore::LiveNodeList::~LiveNodeList): Deleted.
(WebCore::LiveNodeList::invalidateCache): Deleted.
(WebCore::LiveNodeList::collectionCanTraverseBackward): Deleted.
(WebCore::LiveNodeList::willValidateIndexCache): Deleted.

  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::NameNodeList):

  • dom/NameNodeList.h:
  • dom/Node.cpp:

(WebCore::Document::invalidateNodeListAndCollectionCaches):
(WebCore::NodeListsNodeData::invalidateCaches):

  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList):
(WebCore::HTMLTagNodeList::~HTMLTagNodeList):
(WebCore::TagNodeList::nodeMatches): Deleted.
(WebCore::HTMLTagNodeList::nodeMatches): Deleted.

  • dom/TagNodeList.h:

(WebCore::TagNodeList::nodeMatches):
(WebCore::HTMLTagNodeList::nodeMatches):
(WebCore::TagNodeList::create): Deleted.
(WebCore::HTMLTagNodeList::nodeMatchesInlined): Deleted.

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):

  • html/LabelsNodeList.h:
  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):

  • html/RadioNodeList.h:
1:07 PM Changeset in webkit [166368] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

Remove comment from Filter.h
https://bugs.webkit.org/show_bug.cgi?id=130848

Reviewed by Simon Fraser.

Exploring the use of consts on applyScale() methods didn't yield
good results.

No new tests, no change on behavior.

  • platform/graphics/filters/Filter.h:
1:01 PM Changeset in webkit [166367] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

Web Inspector: Provide SPI to disallow remote inspection of a JSContext
https://bugs.webkit.org/show_bug.cgi?id=130853

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-27
Reviewed by Timothy Hatcher.

  • API/JSContextPrivate.h: Added.
  • API/JSContext.mm:

(-[JSContext _remoteInspectionEnabled]):
(-[JSContext _setRemoteInspectionEnabled:]):
ObjC SPI to enable/disable remote inspection.

  • API/JSContextRefPrivate.h:
  • API/JSContextRef.cpp:

(JSGlobalContextGetRemoteInspectionEnabled):
(JSGlobalContextSetRemoteInspectionEnabled):
C SPI to enable/disable remote inspection.

Add new private header, and export as a private header.

12:19 PM Changeset in webkit [166366] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Clean up questionable style in ScriptExecutable::prepareForExecutionImpl
https://bugs.webkit.org/show_bug.cgi?id=130845

Reviewed by Filip Pizlo.

There was a hack added to make sure C Loop LLInt worked which included overriding the
global Options::useLLInt setting, which makes no sense to do here. We should put the
update of the global setting in Options::recomputeDependentOptions along with the other
execution engine flags.

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

11:32 AM Changeset in webkit [166365] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: clearing the console log doesn't update the activity viewer
https://bugs.webkit.org/show_bug.cgi?id=130774

Reviewed by Joseph Pecoraro.

Ensure we take the changes made to the ivars into account on the view.

  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard.prototype._consoleWasCleared):

11:06 AM Changeset in webkit [166364] by fred.wang@free.fr
  • 11 edits
    2 adds in trunk/Source/WebCore

Operator stretching: expose a math data API
https://bugs.webkit.org/show_bug.cgi?id=130572

Reviewed by Chris Fleizach.

We expose a new SimpleFontData API to give access to the data from the
OpenType MATH table using a font cache. The class OpenTypeMathData will
be implemented in bug 130324. On Darwin platform, we also implement the
missing FontPlatformData::openTypeTable function which will be necessary
to load the OpenType MATH table. The changes are intended to be used
for MathML operator stretching (bug 130322) so tests are not added yet.

  • CMakeLists.txt: add new OpenTypeMathData files.
  • WebCore.vcxproj/WebCore.vcxproj: ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto.
  • platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.

We make the math and vertical data share the same key for the cache.
(WebCore::fontMathDataCacheInstance):
(WebCore::FontCache::getMathData):
(WebCore::fontVerticalDataCacheInstance):

  • platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
  • platform/graphics/FontPlatformData.cpp:

(WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.

  • platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
  • platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.

(WebCore::SimpleFontData::SimpleFontData):

  • platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
  • platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.

(WebCore::OpenTypeMathData::OpenTypeMathData):

  • platform/graphics/opentype/OpenTypeMathData.h: Added.

(WebCore::OpenTypeMathData::create):
(WebCore::OpenTypeMathData::hasMathData):

10:51 AM Changeset in webkit [166363] by Brent Fulgham
  • 2 edits in trunk/Source/WebInspectorUI

[Win] Correct handling of autogenerated WebInspectorUI files
https://bugs.webkit.org/show_bug.cgi?id=130846

Reviewed by Joseph Pecoraro.

  • WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the

'Protocol' subdirectory of the WebInspectorUI directory.

10:50 AM Changeset in webkit [166362] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Fix a crash caused by track insertion after load()
https://bugs.webkit.org/show_bug.cgi?id=130777

Reviewed by Eric Carlson.

Test: media/track/track-insert-after-load-crash.html

Based on the Blink change (patch by acolwell@chromium.org):
https://codereview.chromium.org/211373009/

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.

LayoutTests:

  • media/track/track-insert-after-load-crash-expected.txt: Added.
  • media/track/track-insert-after-load-crash.html: Added.
10:42 AM Changeset in webkit [166361] by andersca@apple.com
  • 6 edits
    3 moves in trunk/Source/WebKit2

Rename WKFrameHandle to _WKFrameHandle
https://bugs.webkit.org/show_bug.cgi?id=130847

Reviewed by Tim Horton.

  • Shared/API/Cocoa/_WKFrameHandle.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.h.
  • Shared/API/Cocoa/_WKFrameHandle.mm: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.mm.

(-[_WKFrameHandle dealloc]):
(-[_WKFrameHandle isEqual:]):
(-[_WKFrameHandle hash]):
(-[_WKFrameHandle _frameID]):
(-[_WKFrameHandle copyWithZone:]):
(+[_WKFrameHandle supportsSecureCoding]):
(-[_WKFrameHandle initWithCoder:]):
(-[_WKFrameHandle encodeWithCoder:]):
(-[_WKFrameHandle API::]):

  • Shared/API/Cocoa/_WKFrameHandleInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandleInternal.h.

(WebKit::wrapper):

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:

(+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]):
(-[WKWebProcessPlugInFrame handle]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
9:47 AM Changeset in webkit [166360] by ap@apple.com
  • 32 edits
    3 adds in trunk/Source

Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
equivalents, ASSERT(!_data->_keyDownEventBeingResent)
https://bugs.webkit.org/show_bug.cgi?id=130767
<rdar://problem/16307487>

Source/WebCore:

Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
mode to it on Mac.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/MainRunLoop.cpp: Added.

(WebCore::initializeMainRunLoop):

  • platform/MainRunLoop.h: Added.
  • platform/mac/MainRunLoop.mm: Added.

(WebCore::initializeMainRunLoop):

Source/WebKit/mac:

Reviewed by Darin Adler.

Switched to a WebCore wrapper for RunLoop::initializeMainRunLoop that adds
NSModalPanelRunLoopMode to RunLoop event source and timer modes.

  • Carbon/CarbonWindowAdapter.mm: (+[CarbonWindowAdapter initialize]):
  • History/WebBackForwardList.mm: (+[WebBackForwardList initialize]):
  • History/WebHistoryItem.mm: (+[WebHistoryItem initialize]):
  • Misc/WebCache.mm: (+[WebCache initialize]):
  • Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]):
  • Misc/WebIconDatabase.mm: (+[WebIconDatabase initialize]):
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]):
  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.mm:
  • Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]):
  • WebCoreSupport/WebEditorClient.mm: (+[WebUndoStep initialize]):
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebArchive.mm: (+[WebArchivePrivate initialize]):
  • WebView/WebDataSource.mm: (+[WebDataSource initialize]):
  • WebView/WebHTMLView.mm:

(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):

  • WebView/WebPreferences.mm: (+[WebPreferences initialize]):
  • WebView/WebResource.mm: (+[WebResourcePrivate initialize]):
  • WebView/WebTextIterator.mm: (+[WebTextIteratorPrivate initialize]):
  • WebView/WebView.mm: (+[WebView initialize]):
  • WebView/WebViewData.mm: (+[WebViewPrivate initialize]):

Source/WebKit2:

Reviewed by Darin Adler.

  • Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2): Added NSModalPanelRunLoopMode

to RunLoop event source and timer modes.

Source/WTF:

Reviewed by Darin Adler.

Changed RunLoop to wake up and fire timers only in default run loop mode by default,
and added an ability to add more modes (can't use AppKit symbols in WTF).

In addition to this bug, the change also blocks modal alerts from appearing under
menus during menu tracking.

  • wtf/RunLoop.h:
  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::RunLoop):
(WTF::RunLoop::addModeForWakeUpAndTimers):
(WTF::RunLoop::TimerBase::start):

9:43 AM Changeset in webkit [166359] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Enable LLVM stackmap liveOuts computation
https://bugs.webkit.org/show_bug.cgi?id=130821

Reviewed by Andy Estes and Sam Weinig.

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Record::dump):

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

8:18 AM Changeset in webkit [166358] by k.czech@samsung.com
  • 3 edits in trunk/Source/WebCore

AX: Returns const reference to static string.
https://bugs.webkit.org/show_bug.cgi?id=130835

Reviewed by Mario Sanchez Prada.

Avoiding some unnecessary copies by returning const reference to static string.

No new tests. No behaviour change.

  • accessibility/AccessibilityMediaControls.cpp:

(WebCore::AccessibilityMediaControl::controlTypeName):
(WebCore::AccessibilityMediaControlsContainer::elementTypeName):

  • accessibility/AccessibilityMediaControls.h:

Change-Id: I05357d107c0df944a65c7fb97c8bbdec549202c4

8:11 AM Changeset in webkit [166357] by jaepark@webkit.org
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove LayerTreeContextCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=130807

Reviewed by Martin Robinson.

  • Shared/cairo/LayerTreeContextCairo.cpp: Removed.
7:39 AM Changeset in webkit [166356] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests

[CSS Grid Layout] Remove unused variable in fast/css-grid-layout/implicit-position-dynamic-change.html
https://bugs.webkit.org/show_bug.cgi?id=130833

Reviewed by Sergio Villar Senin.

  • fast/css-grid-layout/implicit-position-dynamic-change.html: Inside

method updateImplicitGridColumn() we define a variable gridItem that
is not used. This patch removes it.

5:56 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:33 AM Changeset in webkit [166355] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add tests of the set process model API
https://bugs.webkit.org/show_bug.cgi?id=130830

Patch by Maciej Florek <m.florek@samsung.com> on 2014-03-27
Reviewed by Gyuyoung Kim.

Implement unit tests to check, if process model API works
properly. When process model is set to EWK_PROCESS_MODEL_SHARED_SECONDARY,
there should be only one WebProcess. In case of EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
setting, each WebView should have own process, as well as the network process
should exist.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::SetUp):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(EWK2ContextTestMultipleProcesses::EWK2ContextTestMultipleProcesses):
(TEST_F):

2:45 AM Changeset in webkit [166354] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSSRegions] Rename inNamedFlow flag to isNamedFlowContentNode flag
https://bugs.webkit.org/show_bug.cgi?id=130731

Reviewed by Andrei Bucur.

Currently, the inNamedFlow flag in Node class tells if a node is a content node, one that has a style with flow-into.
Since it is used only for those nodes and not propagated through hierarchy, i want to renamed it to a more meaningful name.
No new functionality, no new tests.

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::unregisterNamedFlowContentElement):

  • dom/Node.h:

(WebCore::Node::isNamedFlowContentNode):
(WebCore::Node::setIsNamedFlowContentNode):
(WebCore::Node::clearIsNamedFlowContentNode):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::nextNodeInsideContentElement):

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachChildren):
(WebCore::Style::resolveLocal):

1:03 AM Changeset in webkit [166353] by mihnea@adobe.com
  • 11 edits
    2 adds in trunk

[CSSRegions] Crash when cloning a region child with a content node child
https://bugs.webkit.org/show_bug.cgi?id=129811

Reviewed by David Hyatt.

Source/WebCore:

Collecting the children of a region in another named flow will be supported
again in the future and it will be revisited when we will implement the content
keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
Remove the support for now as it introduces unnecessary complexity in the code
and potential wrong behavior.

Test: fast/regions/region-content-node-child-clone-crash.html

  • dom/Element.cpp:

(WebCore::Element::shouldMoveToFlowThread):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):

  • dom/Element.h:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):

  • rendering/FlowThreadController.cpp:
  • rendering/FlowThreadController.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::moveToFlowThreadIfNeeded):
(WebCore::Style::createRendererIfNeeded):

LayoutTests:

Collecting the children of a region in another named flow will be supported
again in the future and it will be revisited when we will implement the content
keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
For now, skip the tests for that use case.

  • TestExpectations:
  • fast/regions/overflow-region-inline-expected.html: Expected file should not be region based.
  • fast/regions/region-content-node-child-clone-crash-expected.txt: Added.
  • fast/regions/region-content-node-child-clone-crash.html: Added.
  • fast/regions/unsplittable-nested-region-expected.html: Expected file should not be region based.
1:00 AM Changeset in webkit [166352] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

12:57 AM Changeset in webkit [166351] by Lucas Forschler
  • 1 copy in tags/Safari-538.25

New Tag.

12:17 AM Changeset in webkit [166350] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove unneeded mutable keyword in some member variables
https://bugs.webkit.org/show_bug.cgi?id=130813

Reviewed by Andreas Kling.

Some member variables have mutable keyword though they don't used by const function.
This patch removes them.

No new tests, no behavior changes. Just clean up.

  • storage/StorageAreaSync.h:
  • svg/animation/SVGSMILElement.h:
12:11 AM Changeset in webkit [166349] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Unreviewed, rolling out r166296 and r166331.
https://bugs.webkit.org/show_bug.cgi?id=130822

caused some crashes and frequent assertion failures, and the
fix is going to take a little while (Requested by thorton on
#webkit).

Reverted changesets:

"[iOS WebKit2] Flush all surfaces after painting into all of
them, instead of after painting into each one"
https://bugs.webkit.org/show_bug.cgi?id=130768
http://trac.webkit.org/changeset/166296

Source/WebCore:

"Assertion failure in RemoteLayerBackingStore::flush"
https://bugs.webkit.org/show_bug.cgi?id=130810
http://trac.webkit.org/changeset/166331

Source/WebKit2:

"Assertion failure in RemoteLayerBackingStore::flush"
https://bugs.webkit.org/show_bug.cgi?id=130810
http://trac.webkit.org/changeset/166331

Note: See TracTimeline for information about the timeline view.