Timeline



Oct 12, 2014:

11:46 PM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
11:39 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:48 PM Changeset in webkit [174642] by Simon Fraser
  • 2 edits in trunk/Tools

Page not fully rendered in iOS DRT snapshots
https://bugs.webkit.org/show_bug.cgi?id=137638

Reviewed by Tim Horton.

In iOS DumpRenderTree, we need to wait for a cycle of the WebThread runloop
to ensure that the page has laid out and is rendered by the time we take
the snapshot.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[DumpRenderTree _webThreadEventLoopHasRun]): Moved.
(-[DumpRenderTree _webThreadInvoked]): Moved.
(-[DumpRenderTree _waitForWebThreadThenDump]):
(dump): Use a performSelectorOnMainThread:withObject:waitUntilDone:NO to wait
for a cycle of the WebThrewd runloop. We can't just call _waitForWebThread because
that blocks on a delegate callback, and we can't dispatch_async because _waitForWebThread
relies on dispatch_async too, and the inner block won't complete until the outer block
has completed.
(dumpTestResults): Move the guts of dump() here.
(runTest): Whitespace.

11:48 AM Changeset in webkit [174641] by ap@apple.com
  • 4 edits in trunk

Adding svn:ignore so that .pyc files don't show up as new.

Source/JavaScriptCore:

  • inspector/scripts/codegen: Added property svn:ignore.

Tools:

  • Scripts/webkitpy/xcode: Added property svn:ignore.
5:55 AM Changeset in webkit [174640] by mkwst@chromium.org
  • 4 edits
    10 adds in trunk

Referrer Policy: Update <meta name="referrer"> values to match the spec
https://bugs.webkit.org/show_bug.cgi?id=137635

Reviewed by Jochen Eisinger.

Source/WebCore:

The Referrer Policy specification ([Working Draft][WD], [Editor's
draft[ED]) defines different keywords than we originally
implemented. We should support them in the interests of clarity and
interoperability with other browsers implementing the specification.

[WD]: http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta
[ED]: http://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-delivery-meta

This patch is a port of Blink's https://codereview.chromium.org/607433002/

Tests: http/tests/security/referrer-policy-conflicting-policies.html

http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-https-no-referrer.html
http/tests/security/referrer-policy-https-unsafe-url.html
http/tests/security/referrer-policy-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-no-referrer.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):

LayoutTests:

  • http/tests/security/referrer-policy-https-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-https-no-referrer.html: Added.
  • http/tests/security/referrer-policy-https-unsafe-url-expected.txt: Added.
  • http/tests/security/referrer-policy-https-unsafe-url.html: Added.
  • http/tests/security/referrer-policy-invalid-expected.txt: Update the error message with new keywords.
  • http/tests/security/referrer-policy-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-no-referrer.html: Added.
2:32 AM Changeset in webkit [174639] by svillar@igalia.com
  • 3 edits in trunk/Source/WebKit2

[SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

2:18 AM Changeset in webkit [174638] by Carlos Garcia Campos
  • 18 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174632 - [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=137485

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use GThreadSafeMainLoopSource for GStreamer sources, since they
can be used from different threads. Also update GMutexLocker
usages, since it's now a template.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

We made GMainLoopSource thread safe, but in most of the cases we
know the sources are used by a single thread, which has an impact
in the performance (mutex, GCancellable, etc.). The new class
GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
the new virtual methods and calling the parent for the common code.
GMutexLocker now supports recursive mutexes, it's a template that
can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
recursive mutex using the new GMutexLocker API.

  • wtf/PlatformEfl.cmake: Add new file to compilation.
  • wtf/PlatformGTK.cmake: Ditto.
  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::prepareVoidCallback):
(WTF::GMainLoopSource::finishVoidCallback):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::prepareBoolCallback):
(WTF::GMainLoopSource::finishBoolCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::cancelWithoutLocking): Deleted.

  • wtf/gobject/GMainLoopSource.h:
  • wtf/gobject/GMutexLocker.h:

(WTF::MutexWrapper<GMutex>::lock):
(WTF::MutexWrapper<GMutex>::unlock):
(WTF::MutexWrapper<GRecMutex>::lock):
(WTF::MutexWrapper<GRecMutex>::unlock):
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):

  • wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::cancel):
(WTF::GThreadSafeMainLoopSource::schedule):
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
(WTF::GThreadSafeMainLoopSource::finishVoidCallback):
(WTF::GThreadSafeMainLoopSource::voidCallback):
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
(WTF::GThreadSafeMainLoopSource::finishBoolCallback):
(WTF::GThreadSafeMainLoopSource::boolCallback):

  • wtf/gobject/GThreadSafeMainLoopSource.h: Added.

Tools:

Update GMainLoopSource tests. Most of the tests are now run twice,
first with a GMainLoopSource and then with a
GThreadSafeMainLoopSource, since both should have the same
behaviour. The threading test uses GThreadSafeMainLoopSource and
the delete on destroy test uses GMainLoopSource. The tests
themselves haven't changed, since there's no change in behaviour.

  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::basicRescheduling):
(TestWebKitAPI::TEST):
(TestWebKitAPI::reentrantRescheduling):
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch):
(TestWebKitAPI::basicDestroyCallbacks):
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch):
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch):

1:35 AM Changeset in webkit [174637] by commit-queue@webkit.org
  • 9 edits
    9 adds in trunk

Support activation behavior of link element
https://bugs.webkit.org/show_bug.cgi?id=137597

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-10-12
Reviewed by Benjamin Poulain.

Source/WebCore:

Support activation behavior of link elements as defined in [1],
i.e. to follow the hyperlink created by the link element when it is fully active.

[1] https://html.spec.whatwg.org/multipage/semantics.html#the-link-element

Tests: fast/dom/html-link-element-activation-behavior-on-element-click.html

fast/dom/html-link-element-activation-behavior-on-mouse-click.html
fast/dom/html-link-element-activation-behavior-url-is-null.html

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::triggerActivationBehavior):

  • dom/MouseEvent.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::isLinkClick): Deleted.

  • html/HTMLAnchorElement.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::defaultEventHandler):
(WebCore::HTMLLinkElement::handleClick):

  • html/HTMLLinkElement.h:
  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

LayoutTests:

Add test cases for link element activation behavior.

  • fast/dom/html-link-element-activation-behavior-on-element-click-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-on-element-click.html: Added.
  • fast/dom/html-link-element-activation-behavior-on-mouse-click-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-on-mouse-click.html: Added.
  • fast/dom/html-link-element-activation-behavior-url-is-null-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-url-is-null.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-on-element-click-step1.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-on-mouse-click-step1.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-target.html: Added.
12:15 AM Changeset in webkit [174636] by ryuan.choi@gmail.com
  • 12 edits
    11 adds
    1 delete in trunk

[EFL] Introduce EWebKit_Extension
https://bugs.webkit.org/show_bug.cgi?id=134921

Reviewed by Gyuyoung Kim.

Source/WebKit2:

EWebKit2 does not provide the functionality to extend WebProcess.
Although there is ewk_context_new_with_injected_bundle_path() in ewebkit2 APIs,
application developers can not make bundle object without touching WK APIs
which ewebkit2 does not expose.

This patch introduces EWebKit_Extension, basic structure for the extension of WebProcess.

  • PlatformEfl.cmake:

Added files for the EWebKit_Extension and install them properly.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(bundlePathForExtension):
(EwkContext::create):
(EwkContext::getInjectedBundleInitializationUserData):
(EwkContext::setMessageFromInjectedBundleCallback):
(ewk_context_new_with_extensions_path):
Deleted because ewebkit2 does not have a way to make injected bundle.
Instead, Ewk_Extension will cover the same functionalities.
(ewk_context_new_with_injected_bundle_path): Deleted.

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

(EwkContext::extensionsPath):

  • UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Removed.
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample):
(EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): Renamed injectedBundleSample to extensionSample.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  • UIProcess/API/efl/tests/extensions/extension_sample.cpp: Copied from Source/WebKit2/UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp.
  • UIProcess/API/efl/tests/test_ewk2_context.cpp: Renamed ewk_context_new_with_injected_bundle_path to ewk_context_new_with_extensions_path.

(TEST_F):

  • WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Added.

(EwkExtension::append):
(EwkExtension::remove):
(ewk_extension_client_add):
(ewk_extension_client_del):

  • WebProcess/InjectedBundle/API/efl/ewk_extension.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Added.

(EwkExtension::EwkExtension):
(EwkExtension::~EwkExtension):

  • WebProcess/efl/ExtensionManagerEfl.cpp: Added.

(WebKit::ExtensionManagerEfl::shared):
(WebKit::ExtensionManagerEfl::ExtensionManagerEfl):
(WebKit::ExtensionManagerEfl::initialize):

  • WebProcess/efl/ExtensionManagerEfl.h: Added.
  • WebProcess/efl/WebInjectedBundleMainEfl.cpp: Added.

(WKBundleInitialize):

  • efl/ewebkit2-extension.pc.in: Added.

Tools:

  • MiniBrowser/efl/main.c: Added x option to test extension path.

(window_create):
(elm_main):

  • Scripts/webkitpy/common/config/watchlist:

Added Source/WebKit2/WebProcess/InjectedBundle/API/efl/ into EFLWebKit2PublicAPI.

  • Scripts/webkitpy/style/checker.py:

Added Source/WebKit2/WebProcess/InjectedBundle/API/efl/ into EFL exceptions.

Oct 11, 2014:

11:07 AM Changeset in webkit [174635] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Mark some more tests as sometimes passing.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:27 AM Changeset in webkit [174634] by Simon Fraser
  • 2 edits in trunk/Tools

After r174628 we send the test process a SIGTERM before the SIGKILL.

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.serial_test_kill_process):

9:22 AM Changeset in webkit [174633] by commit-queue@webkit.org
  • 10 edits in trunk

[EFL] Enable WebP support.
https://bugs.webkit.org/show_bug.cgi?id=136156

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-10-11
Reviewed by Gyuyoung Kim.

.:

Add WebP package finding rule.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Add WebP library and inlcude path to WebCore path for WK2 Efl.
No new tests since existing feature is just enabled for WK2 Efl.

  • PlatformEfl.cmake:

Source/WTF:

Enable WTF_USE_WEBP macro for WK2 Efl.

  • wtf/Platform.h:

Tools:

Include libwebp-dev package to support WebP for WK2 Efl.

  • efl/install-dependencies:

LayoutTests:

Clarify skipped webp test for Webkit EFL.

  • platform/efl/TestExpectations:
12:08 AM Changeset in webkit [174632] by Carlos Garcia Campos
  • 18 edits
    2 adds in trunk

[GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=137485

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use GThreadSafeMainLoopSource for GStreamer sources, since they
can be used from different threads. Also update GMutexLocker
usages, since it's now a template.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

We made GMainLoopSource thread safe, but in most of the cases we
know the sources are used by a single thread, which has an impact
in the performance (mutex, GCancellable, etc.). The new class
GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
the new virtual methods and calling the parent for the common code.
GMutexLocker now supports recursive mutexes, it's a template that
can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
recursive mutex using the new GMutexLocker API.

  • wtf/PlatformEfl.cmake: Add new file to compilation.
  • wtf/PlatformGTK.cmake: Ditto.
  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::prepareVoidCallback):
(WTF::GMainLoopSource::finishVoidCallback):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::prepareBoolCallback):
(WTF::GMainLoopSource::finishBoolCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::cancelWithoutLocking): Deleted.

  • wtf/gobject/GMainLoopSource.h:
  • wtf/gobject/GMutexLocker.h:

(WTF::MutexWrapper<GMutex>::lock):
(WTF::MutexWrapper<GMutex>::unlock):
(WTF::MutexWrapper<GRecMutex>::lock):
(WTF::MutexWrapper<GRecMutex>::unlock):
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):

  • wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::cancel):
(WTF::GThreadSafeMainLoopSource::schedule):
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
(WTF::GThreadSafeMainLoopSource::finishVoidCallback):
(WTF::GThreadSafeMainLoopSource::voidCallback):
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
(WTF::GThreadSafeMainLoopSource::finishBoolCallback):
(WTF::GThreadSafeMainLoopSource::boolCallback):

  • wtf/gobject/GThreadSafeMainLoopSource.h: Added.

Tools:

Update GMainLoopSource tests. Most of the tests are now run twice,
first with a GMainLoopSource and then with a
GThreadSafeMainLoopSource, since both should have the same
behaviour. The threading test uses GThreadSafeMainLoopSource and
the delete on destroy test uses GMainLoopSource. The tests
themselves haven't changed, since there's no change in behaviour.

  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::basicRescheduling):
(TestWebKitAPI::TEST):
(TestWebKitAPI::reentrantRescheduling):
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch):
(TestWebKitAPI::basicDestroyCallbacks):
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch):
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch):

Note: See TracTimeline for information about the timeline view.