Timeline



Feb 15, 2014:

9:07 PM Changeset in webkit [164189] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Build break when disabled ACCESSIBILITY since r162986
https://bugs.webkit.org/show_bug.cgi?id=128880

Unreviewed build fix.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

Added dummy implementations for newly added methods.
(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):

7:33 PM Changeset in webkit [164188] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

DOMSelection shouldn't instantiate VisibleSelection everywhere
https://bugs.webkit.org/show_bug.cgi?id=128879

Reviewed by Antti Koivisto.

Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::addRange):

7:11 PM Changeset in webkit [164187] by ap@apple.com
  • 4 edits
    3 deletes in trunk/Source/WebKit

[Mac] Remove WebSerializedJSValue SPI
https://bugs.webkit.org/show_bug.cgi?id=128720

Reviewed by Anders Carlsson.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Removed WebSerializedJSValue files from the project.

Source/WebKit/mac:

  • WebKit.exp:
  • WebView/WebSerializedJSValue.h: Removed.
  • WebView/WebSerializedJSValue.mm: Removed.
  • WebView/WebSerializedJSValuePrivate.h: Removed.
7:07 PM Changeset in webkit [164186] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unused arguments from moveTo(Range*)
https://bugs.webkit.org/show_bug.cgi?id=128878

Reviewed by Antti Koivisto.

Cleanup.

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo):

  • editing/FrameSelection.h:
6:54 PM Changeset in webkit [164185] by fpizlo@apple.com
  • 9 edits in trunk

Vector with inline capacity should work with non-PODs
https://bugs.webkit.org/show_bug.cgi?id=128864

Source/JavaScriptCore:

Reviewed by Michael Saboff.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

  • dfg/DFGWorklist.h:

Source/WebCore:

Reviewed by Michael Saboff.

No new tests because no change behavior.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

  • page/WheelEventDeltaTracker.h:

Source/WTF:

Reviewed by Michael Saboff.

Previously, we would copy the inline storage of a vector as if it was a bag of bits.
This presumed that the element type was relocatable. In general this is only true for
PODs.

This patch changes this by introducing a swap operation over inline storage. This swap
operation requires being told about the size that is in use.

Deques would have required some cleverness to make this work, because the swap
operation needs to know which subset of elements are in-use and assumes that a size is
sufficient for this. That's not true for deques. Instead of trying to do very clever
things, I just removed the inline capacity option from Deque. I believe that this is
fine since there are only two users of Deque with inline capacity, and both of them
appear to be allocated rarely enough that inline capacity probably doesn't help much.

  • wtf/Deque.h:

(WTF::DequeIterator::DequeIterator):
(WTF::DequeConstIterator::DequeConstIterator):
(WTF::Deque<T>::checkValidity):
(WTF::Deque<T>::checkIndexValidity):
(WTF::Deque<T>::invalidateIterators):
(WTF::Deque<T>::Deque):
(WTF::=):
(WTF::Deque<T>::destroyAll):
(WTF::Deque<T>::~Deque):
(WTF::Deque<T>::swap):
(WTF::Deque<T>::clear):
(WTF::Deque<T>::expandCapacityIfNeeded):
(WTF::Deque<T>::expandCapacity):
(WTF::Deque<T>::append):
(WTF::Deque<T>::prepend):
(WTF::Deque<T>::removeFirst):
(WTF::Deque<T>::removeLast):
(WTF::Deque<T>::remove):
(WTF::DequeIteratorBase<T>::checkValidity):
(WTF::DequeIteratorBase<T>::addToIteratorsList):
(WTF::DequeIteratorBase<T>::removeFromIteratorsList):
(WTF::DequeIteratorBase<T>::DequeIteratorBase):
(WTF::DequeIteratorBase<T>::~DequeIteratorBase):
(WTF::DequeIteratorBase<T>::isEqual):
(WTF::DequeIteratorBase<T>::increment):
(WTF::DequeIteratorBase<T>::decrement):
(WTF::DequeIteratorBase<T>::after):
(WTF::DequeIteratorBase<T>::before):

  • wtf/Vector.h:

(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::swap):

Tools:

Reviewed by Michael Saboff.

This test experiences really bizarre behavior on trunk without the rest of
this fix. On my machine, it usually times out because it gets itself into an
infinite loop of some kind. With the fix, it passes.

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

6:01 PM Changeset in webkit [164184] by akling@apple.com
  • 42 edits in trunk/Source/WebCore

Add checked casts for Event.
<https://webkit.org/b/128875>

Generate casting helpers for casting from Event to various subclasses
and go on static_cast replacement spree.

Reviewed by Sam Weinig.

4:36 PM Changeset in webkit [164183] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

HTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
https://bugs.webkit.org/show_bug.cgi?id=128870

Reviewed by Darin Adler.

Extracted HTMLTextFormControlElement::didEditInnerTextValue out of HTMLTextFormControlElement::defaultEventHandler
and called it in appliedEditing, unappliedEditing, and reappliedEditing before updating selection.

  • editing/Editor.cpp:

(WebCore::notifyTextFromControls): Added.
(WebCore::Editor::appliedEditing): Update text form control's internal states before updating selection.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::subtreeHasChanged): Removed a stale assertion from the time we used to do
everything in the render tree.

4:26 PM Changeset in webkit [164182] by akling@apple.com
  • 21 edits in trunk/Source/WebCore

Add checked casts for ScriptExecutionContext.
<https://webkit.org/b/128874>

Generate casting helpers for casting from ScriptExecutionContext to
Document and WorkerGlobalScope. Apply heartily.

Reviewed by Antti Koivisto.

3:26 PM Changeset in webkit [164181] by ap@apple.com
  • 11 edits in trunk/Source

[Mac] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128852

Reviewed by Oliver Hunt.

Source/WebCore:

Install a persistent master key in Keychain on first use of WebCrypto key serialization.
The key is per application, protected with ACL.

  • English.lproj/Localizable.strings:
  • WebCore.exp.in:
  • crypto/SerializedCryptoKeyWrap.h:
  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::createAndStoreMasterKey):
(WebCore::findMasterKey):

  • platform/LocalizedStrings.cpp:

(WebCore::webCryptoMasterKeyKeychainLabel):
(WebCore::webCryptoMasterKeyKeychainComment):

  • platform/LocalizedStrings.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

2:32 PM Changeset in webkit [164180] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

computeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128806

Reviewed by Darin Adler.

Added indexForPosition to HTMLTextFormControlElement. Like r163825, this patch traverses the DOM tree
instead of the render tree to compute the index for a given position.

We traverse the DOM Tree backwards starting at the specified Position all the way back to the beginning
of the inner text element. The index is computed as the number of characters we encountered during
this backwards DOM traversal.

It's worth noting that passedPosition.computeNodeBeforePosition() returns and only returns 0 when the
position is before the first node of its parent or inside a text node. In such cases, we call
passedPosition.containerNode() to find the parent or the text node.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Use indexForPosition.
(WebCore::HTMLTextFormControlElement::computeSelectionStart): Ditto.
(WebCore::HTMLTextFormControlElement::computeSelectionEnd): Dotto.
(WebCore::finishText): Cleanup. Use newlineCharacter instead of hard-coding '\n'.
(WebCore::HTMLTextFormControlElement::indexForPosition): Added. See above for the description.

  • html/HTMLTextFormControlElement.h:
1:15 PM Changeset in webkit [164179] by rakuco@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Stop calling mktemp(3).
https://bugs.webkit.org/show_bug.cgi?id=128826

Reviewed by Gyuyoung Kim.

mktemp(3) is an insecure function and should be avoided at all costs.
Replace its usage with mkdtemp(3): instead of just getting a file name
that is supposed to be random and unused, we now create a directory
with a random name and then put whatever files we need there with fixed
names.

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

(TEST_F):

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

(TEST_F):

11:45 AM Changeset in webkit [164178] by fpizlo@apple.com
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Unreviewed, roll out r164166.

This broke three unique tests:

The following JSC stress test failures have been introduced:

regress/script-tests/variadic-closure-call.js.default-ftl
regress/script-tests/variadic-closure-call.js.ftl-no-cjit-validate
regress/script-tests/variadic-closure-call.js.ftl-no-cjit-osr-validation
regress/script-tests/variadic-closure-call.js.ftl-eager
regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit
regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit-osr-validation
jsc-layout-tests.yaml/js/script-tests/unmatching-argument-count.js.layout-ftl-eager-no-cjit
regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit
regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit-osr-validation

  • bytecode/PolymorphicAccessStructureList.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • tests/stress/ftl-getbyval-arguments.js:
11:25 AM Changeset in webkit [164177] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
https://bugs.webkit.org/show_bug.cgi?id=128859

Reviewed by Eric Carlson.

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

(WebCore::AVFWrapper::createPlayer): Don't assert if player exists; just return the
existing copy.
(WebCore::AVFWrapper::createPlayerItem): Ditto (but with Player Items).

10:16 AM Changeset in webkit [164176] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Remove double hashing from DatasetDOMStringMap::deleteItem
https://bugs.webkit.org/show_bug.cgi?id=128865

Reviewed by Benjamin Poulain.

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::deleteItem): Removed call to hasAttribute, using the
result from removeAttribute instead.

  • dom/Element.cpp:

(WebCore::Element::removeAttribute): Add a return value, false if nothing is removed,
and true if something is removed.
(WebCore::Element::removeAttributeNS): Ditto.

  • dom/Element.h: Ditto.
10:15 AM Changeset in webkit [164175] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Source/WTF

Remove 'static' specifier from free inline functions in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=118554

Reviewed by Darin Adler.

At first 'static' does not bring any use here, secondly static free
inline functions in headers is a bad practice in general as each instance
of function defined as inline is treated as a separate function and each
instance has its own copy of static locals and string literals.

  • wtf/text/StringImpl.h:

(WTF::codePointCompare):
(WTF::codePointCompare8):
(WTF::codePointCompare16):
(WTF::codePointCompare8To16):
(WTF::isSpaceOrNewline):

10:00 AM Changeset in webkit [164174] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Setting currentTime on HTMLMediaElement with media controller should throw exception.
https://bugs.webkit.org/show_bug.cgi?id=128867.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-15
Reviewed by Eric Carlson.

Source/WebCore:

Added implementation for setting currentTime in HTMLMediaElement. Old implementation
was left to be used internally.

Test: media/video-controller-currentTime.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/video-controller-currentTime-expected.txt: Added.
  • media/video-controller-currentTime.html: Added.
9:51 AM Changeset in webkit [164173] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Form controls are always painted in the active state
https://bugs.webkit.org/show_bug.cgi?id=128872
<rdar://problem/9422677>

Reviewed by Dan Bernstein.

AppKit will always paint form controls in the active state if the view doesn't have a
window. Fix this by adding a fake window whose key appearance we'll update based on the
control state. Also, rename WebCoreFlippedView to WebCoreThemeView since it stopped being
just about the flippedness a long time ago.

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeWindow hasKeyAppearance]):
Return themeWindowHasKeyAppearance.

(-[WebCoreThemeView window]):
Create a WebCoreThemeWindow object lazily and return it.

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):
Pass the control states to ThemeMac::ensuredView.

(WebCore::ThemeMac::ensuredView):
Set themeWindowHasKeyAppearance based on the control state.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::documentViewFor):
Pass the control states to ThemeMac::ensuredView.

9:06 AM Changeset in webkit [164172] by mitz@apple.com
  • 34 edits
    1 delete in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128868

Reviewed by Anders Carlsoon.

  • UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.

  • UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/DrawingAreaProxy.h: Ditto.
  • UIProcess/DrawingAreaProxy.messages.in: Ditto.
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach API.

  • UIProcess/Launcher/ProcessLauncher.h: Ditto.
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA)

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
(WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
around process suppression call.

  • UIProcess/Network/NetworkProcessProxy.h: Ditto.
  • UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
  • UIProcess/Plugins/PluginProcessManager.h: Ditto.
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
(WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).

  • UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
  • UIProcess/TextChecker.h: Ditto.
  • UIProcess/WebContext.cpp: Ditto.

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::setHTTPPipeliningEnabled):
(WebKit::WebContext::httpPipeliningEnabled):
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):

  • UIProcess/WebContext.h: Ditto.
  • UIProcess/WebContext.messages.in: Ditto.
  • UIProcess/WebContextUserMessageCoders.h: Ditto.

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • UIProcess/WebCookieManagerProxy.cpp: Ditto.

(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):

  • UIProcess/WebCookieManagerProxy.h: Ditto.
  • UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
  • UIProcess/WebFramePolicyListenerProxy.h: Ditto.
  • UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing

the inspector window and its view.

  • UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::recordNavigationSnapshot):
(WebKit::WebPageProxy::canShowMIMEType):
(WebKit::canCoalesce):
(WebKit::coalesce):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):

  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/WebPageProxy.messages.in: Ditto.
  • UIProcess/WebProcessProxy.cpp: Ditto.

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::pageSuppressibilityChanged):
(WebKit::WebProcessProxy::pagePreferencesChanged):

  • UIProcess/WebProcessProxy.h: Ditto.
  • UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any

configuration.

  • UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be

implemented for iOS.

  • WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.
1:28 AM Changeset in webkit [164171] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

messages.py doesn't handle parameters with more than one level of scope.
https://bugs.webkit.org/show_bug.cgi?id=128573

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

Support .messages.in header include generation for parameter types with more than 1 level of scope.

Add a test case and update expected results.

  • Scripts/webkit2/LegacyMessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveWebPageMessage):

  • Scripts/webkit2/LegacyMessages-expected.h:

(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):

  • Scripts/webkit2/MessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveMessage):

  • Scripts/webkit2/Messages-expected.h:

(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):

  • Scripts/webkit2/messages.py:

(headers_for_type):

  • Scripts/webkit2/messages_unittest.py:
  • Scripts/webkit2/test-legacy-messages.in:
  • Scripts/webkit2/test-messages.in:
12:57 AM Changeset in webkit [164170] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
https://bugs.webkit.org/show_bug.cgi?id=128810

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
doesn't contain |start|.

Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
|outerNode| only if |outerNode| contains |start| position.

Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.

Test: editing/execCommand/indent-with-uneditable-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

LayoutTests:

  • editing/execCommand/indent-with-uneditable-crash-expected.txt: Added.
  • editing/execCommand/indent-with-uneditable-crash.html: Added.
12:39 AM Changeset in webkit [164169] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164167 - [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

12:39 AM Changeset in webkit [164168] by ryuan.choi@samsung.com
  • 13 edits in trunk

[EFL][WK1] Do not include cairo header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128779

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Although ewebkit used cairo internally, it's not good for EFL developers
to use it.
Indeed, almost APIs which returns cairo_surface are duplicated with other APIs
which returns evas_object.

  • ewk/ewk_history.cpp:

Removed ewk_history_item_icon_surface_get.
ewk_history_item_icon_object_add will be used instead.

  • ewk/ewk_history.h:
  • ewk/ewk_settings.cpp:

Removed ewk_settings_icon_database_icon_surface_get.
ewk_settings_icon_database_icon_object_get will be used instead.

  • ewk/ewk_settings.h:
  • ewk/ewk_view.cpp:

(ewk_view_screenshot_contents_get):
Implemented to replace ewk_view_paint and ewk_view_paint_contents.

  • ewk/ewk_view.h:
  • tests/test_ewk_view.cpp:

(TEST_F): Added test case for ewk_view_screenshot_contents_get

Tools:

  • DumpRenderTree/PlatformEfl.cmake:
  • DumpRenderTree/efl/PixelDumpSupportEfl.cpp:

(createBitmapContextFromWebView):
Used ewk_view_screenshot_contents_get instead of ewk_view_paint.

  • EWebLauncher/main.c:

(print_history): Replaced ewk_history_item_icon_surface_get to ewk_history_item_icon_object_add
(on_key_down):

  • Scripts/webkitpy/style/checker.py:

Added -runtime/ctype_function for EWebLauncher because EWebLauncher is sample
and it does not use WTF.

12:36 AM Changeset in webkit [164167] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

12:34 AM Changeset in webkit [164166] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Added GetMyArgumentByVal to FTL
https://bugs.webkit.org/show_bug.cgi?id=128850

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):

  • tests/stress/ftl-getbyval-arguments.js: Added.

(foo):

12:33 AM Changeset in webkit [164165] by Samuel White
  • 18 edits
    2 adds in trunk

AX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
https://bugs.webkit.org/show_bug.cgi?id=128747

Reviewed by Chris Fleizach.

Source/WebCore:

Added support for 'immediate descendant only' to existing predicate based searching. This
addition allows VoiceOver to fetch each child element lazily (rather than all at once via AXChildren).

Test: platform/mac/accessibility/search-predicate-immediate-descendants-only.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):

Tools:

Updated uiElementCountForSearchPredicate and uiElementForSearchPredicate test methods to support 'immediate descendant only' searching.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(uiElementCountForSearchPredicateCallback):
(uiElementForSearchPredicateCallback):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(searchPredicateParameterizedAttributeForSearchCriteria):
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

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

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

LayoutTests:

Added test to verify that 'immediate descendant only' predicate based searching works as expected.

  • platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt: Added.
  • platform/mac/accessibility/search-predicate-immediate-descendants-only.html: Added.
12:30 AM Changeset in webkit [164164] by commit-queue@webkit.org
  • 18 edits in trunk/Source/JavaScriptCore

[Win] LLINT is not working.
https://bugs.webkit.org/show_bug.cgi?id=128115

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-15
Reviewed by Mark Lam.

This patch will generate assembly code with Intel syntax, which can be processed by the Microsoft assembler (MASM).
By creating an asm file instead of a header file with inline assembly, we can support 64-bit.
Only 32-bit compilation has been tested, not 64-bit.
The aim of this patch is to get LLINT up and running on Windows.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added new files, and generated asm file.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • LLIntAssembly/build-LLIntAssembly.sh: Generate dummy asm file in case we're using C backend.
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor): Compile fix when DFG is disabled.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor): Ditto.

  • bytecode/GetByIdStatus.h: Ditto.
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor): Ditto.

  • bytecode/PutByIdStatus.h: Ditto.
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize): Compile fix.

  • llint/LLIntSlowPaths.h: Added llint_crash function.
  • llint/LLIntSlowPaths.cpp: Ditto.
  • llint/LowLevelInterpreter.cpp: Disable code for Windows.
  • llint/LowLevelInterpreter.asm: Remove instruction which generates incorrect assembly code on Windows (MOV 0xbbadbeef, register), call llint_crash instead.

Make local labels visible to MASM on Windows.

  • llint/LowLevelInterpreter32_64.asm: Make local labels visible to MASM on Windows.
  • offlineasm/asm.rb: Generate asm file with Intel assembly syntax.
  • offlineasm/settings.rb: Ditto.
  • offlineasm/x86.rb: Ditto.
12:28 AM Changeset in webkit [164163] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: scope chain details sidebar doesn't update values modified via console
https://bugs.webkit.org/show_bug.cgi?id=126855

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-15
Reviewed by Timothy Hatcher.

Add a RuntimeManager event that the scope chain details sidebar can
listen to to trigger refresh.

Testing on this is blocked by http://webkit.org/b/128724
(Web Inspector: Issue testing breakpoints).

  • UserInterface/RuntimeManager.js:

(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):

  • UserInterface/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel):

12:27 AM Changeset in webkit [164162] by zoltan@webkit.org
  • 1 edit
    1 add in trunk/PerformanceTests

[CSS Shapes] Add performance test for raster shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128770

Reviewed by Ryosuke Niwa.

This patch introduces a new performance test for image valued shapes,
where shape-margin is applied on the shape.
The test is skipped by default.

  • Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added.
12:25 AM Changeset in webkit [164161] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

WK2 AVKit enter fullscreen doesn't work a second time.
https://bugs.webkit.org/show_bug.cgi?id=128558

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Jer Noble.

Lazily create WebAVPlayerController when needed.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::getPlayerController):
Add getPlayerController()

(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
(WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
use getPlayerController();

12:23 AM Changeset in webkit [164160] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac] 10X slower than Chrome when drawing a video into a canvas
https://bugs.webkit.org/show_bug.cgi?id=124599

Reviewed by Darin Adler.

Follow up patch to r159518 to address Darin's post-commit review.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::nativeImageForCurrentTime): Use nullptr.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime): Ditto.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the

AVPlayerItemVideoOutput's delegate callback.

(WebCore::CVPixelBufferGetBytePointerCallback): Use static_cast.
(WebCore::CVPixelBufferReleaseBytePointerCallback): Ditto.
(WebCore::CVPixelBufferReleaseInfoCallback): Ditto.
(-[WebCoreAVFPullDelegate initWithCallback:]): Space changes.
(-[WebCoreAVFPullDelegate setCallback:]): Added.
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Check the value of m_callback.

12:18 AM Changeset in webkit [164159] by rniwa@webkit.org
  • 3 edits in trunk/Tools

CQ fix after r164105.

  • DumpRenderTree/mac/EventSendingController.mm:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

Feb 14, 2014:

11:41 PM Changeset in webkit [164158] by akling@apple.com
  • 22 edits in trunk/Source/WebCore

CTTE: WorkerGlobalScope is always owned by a WorkerThread.
<https://webkit.org/b/128834>

Codify this by storing the owner thread as a WorkerThread& and making
thread() return a reference.

This exposed a couple of unnecessary assertions.

Reviewed by Anders Carlsson.

  • Modules/notifications/WorkerGlobalScopeNotifications.cpp:

(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):

  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromCache):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
(WebCore::DedicatedWorkerGlobalScope::postMessage):
(WebCore::DedicatedWorkerGlobalScope::importScripts):
(WebCore::DedicatedWorkerGlobalScope::thread):

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::create):
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
(WebCore::SharedWorkerGlobalScope::thread):

  • workers/SharedWorkerGlobalScope.h:
  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::createWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::CloseWorkerGlobalScopeTask::performTask):
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::isContextThread):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::thread):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):

9:45 PM Changeset in webkit [164157] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

Improve the appearance of DYEBench
https://bugs.webkit.org/show_bug.cgi?id=128866

Reviewed by Antti Koivisto.

Add a div that shows progress during the test. Also show 95th percentile,
and use a table instead of pre to show results.

  • DoYouEvenBench/Full.html:

(.addResult): Added. Shows results in a table.
(benchmarkClient.willRunTest): Added to show the progress bar.
(benchmarkClient.didRunTest):
(benchmarkClient.didRunSuites):
(benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js

  • DoYouEvenBench/resources/benchmark-runner.js:

(BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop
weren't correctly parsed. We were treating top as left and bottom as top somehow.
(BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo.

8:52 PM Changeset in webkit [164156] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

setSelectionRange shouldn't trigger a synchronous layout to check focusability when text field is already focused
https://bugs.webkit.org/show_bug.cgi?id=128804

Reviewed by Enrica Casucci.

Don't trigger a synchronous layout at the beginning of setSelectionRange if the element is already focused
since we don't have to check the size of render box in that case.

We should be able to get rid of this synchronous layout entirely once we fix https://webkit.org/b/128797
but that's somewhat risky behavioral change so we'll do that in a separate patch.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectAll): Fixed the bug where selectAll selects the entire document even if the text
form contol is focused if the selection is none (i.e. not anchored to any node).

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Only update the layout if the element is not focused
already. Also pass in DoNotSetFocus option to setSelection since we already have the focus in that case.

8:33 PM Changeset in webkit [164155] by rniwa@webkit.org
  • 1 edit
    2 copies in trunk/LayoutTests

Add back pre-r164154 results to platform/mac-mountainlion.

  • platform/mac-mountainlion/fast/forms/search-styled-expected.png: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.png.
  • platform/mac-mountainlion/fast/forms/search-styled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.txt.
8:28 PM Changeset in webkit [164154] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Mac rebaseline after r164145.

  • platform/mac/fast/forms/search-styled-expected.png:
  • platform/mac/fast/forms/search-styled-expected.txt:
7:56 PM Changeset in webkit [164153] by rniwa@webkit.org
  • 7 edits in trunk/LayoutTests

Windows rebaselines after dependency updates.

  • platform/win/fast/css/first-letter-block-form-controls-crash-expected.txt:
  • platform/win/fast/css/relative-position-replaced-in-table-display-crash-expected.txt:
  • platform/win/fast/forms/access-key-for-all-elements-expected.txt:
  • platform/win/fast/forms/form-associated-element-crash3-expected.txt:
  • platform/win/fast/forms/search-styled-expected.txt:
  • platform/win/fast/multicol/renderer-positioned-assert-crash-expected.txt:
7:45 PM Changeset in webkit [164152] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Control tints don't update inside WebViews
https://bugs.webkit.org/show_bug.cgi?id=128862

Reviewed by Ryosuke Niwa.

  • WebView/WebView.mm:

(-[WebView _windowChangedKeyState]):
Call [super _windowChangedKeyState].

7:06 PM Changeset in webkit [164151] by Joseph Pecoraro
  • 9 edits in trunk/Source/JavaScriptCore

Web Inspector: CRASH when debugger closes while paused and remote inspecting a JSContext
https://bugs.webkit.org/show_bug.cgi?id=127757

Reviewed by Timothy Hatcher.

The problem was that the lifetime of the InspectorController and all agents
was tied to the remote inspector session. So, if a remote inspector was
disconnected while in the nested run loop, everything would get torn
down and when execution continued out of the nested runloop we would be
back in the original call stack of destroyed objects.

This patch changes the lifetime of the InspectorController and agents to
the JSGlobalObject. This way the agents are always alive, just the
frontend and backend channels are destroyed and recreated each remote
inspector session. This matches the agent lifetime for WebCore agents.
We can also later take advantage of the agents being alive before
and between inspector debug sessions to stash exception messages to
pass on to a debugger if a debugger is connected later.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Cleaner initialization of agents. Easier to follow.

(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
Move InjectedScript disconnection only once the global object is destroyed.
This way if a developer has attached once and included an injected script,
we will keep it around with any state it might want to remember until
the global object is destroyed.

(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
Disconnect agents and injected scripts when the global object is destroyed.

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::disconnect):
Now that the injected script manager is reused between remote
inspector sessions, don't clear the pointer on disconnect calls.
We now only call this once when the global object is getting
destroyed anyways so it doesn't matter. But if we wanted to call
disconnect multiple times, e.g. once per session, we could.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchFunctionToListeners):
If the only listener was removed during the nested runloop, then when
we dispatch an event after the nested runloop the listener list will
be empty. Instead of asserting, just pass by an empty list.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::inspectorController):
Tie the inspector controller lifetime to the JSGlobalObject.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):
Create the inspector controller, and eagerly signal teardown
in destruction.

  • runtime/JSGlobalObjectDebuggable.h:
  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
Simplify by using the inspector controller on JSGlobalObject.

6:52 PM Changeset in webkit [164150] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Another build fix after r164149.

  • Scripts/webkitpy/port/port_testcase.py:

(test_apache_config_file_name_for_platform):

6:50 PM Changeset in webkit [164149] by rniwa@webkit.org
  • 3 edits
    1 move in trunk

Build fix after r164148.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

  • http/conf/apache2-httpd.conf: Removed.
  • http/conf/apache2.2-httpd.conf: Copied from LayoutTests/http/conf/apache2-httpd.conf.
6:33 PM Changeset in webkit [164148] by rniwa@webkit.org
  • 3 edits
    1 add in trunk

run-webkit-tests doesn't work with Apache 2.4
https://bugs.webkit.org/show_bug.cgi?id=128861

Reviewed by Andreas Kling.

Tools:

Use apache<version>-httpd.conf like we do on Fedora and Debian.

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

  • http/conf/apache2.4-httpd.conf: Added.
5:27 PM Changeset in webkit [164147] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

-[JSManagedValue value] needs to be protected by the API lock
https://bugs.webkit.org/show_bug.cgi?id=128857

Reviewed by Mark Lam.

  • API/APICast.h:

(toRef): Added an ASSERT so that we can detect these sorts of errors earlier. On 32-bit, toRef
can allocate objects so we need to be holding the lock.

  • API/APIShims.h: Removed outdated comments.
  • API/JSManagedValue.mm: Added RefPtr<JSLock> to JSManagedValue.

(-[JSManagedValue initWithValue:]): Initialize the m_lock field.
(-[JSManagedValue value]): Lock the JSLock, check the VM*, return nil if invalid, take the APIEntryShim otherwise.

  • runtime/JSLock.cpp: Bug fix in JSLock. We were assuming that the VM was always non-null in JSLock::lock.

(JSC::JSLock::lock):

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

Add SPI for monitoring web process crashes
https://bugs.webkit.org/show_bug.cgi?id=128851

Reviewed by Beth Dakin.

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::processDidCrash):

4:59 PM Changeset in webkit [164145] by mitz@apple.com
  • 4 edits
    3 deletes in trunk

REGRESSION (r157443): Search fields with a non-white background don’t have a round bezel
https://bugs.webkit.org/show_bug.cgi?id=126295

Reviewed by Ryosuke Niwa.

Source/WebCore:

Reverted r157443 and improved comment.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isControlStyled):

LayoutTests:

Reverted r157443.

  • fast/forms/search/search-field-background-color-expected.txt: Removed.
  • fast/forms/search/search-field-background-color.html: Removed.
  • platform/efl/fast/forms/search: Removed.
  • platform/efl/fast/forms/search/search-field-background-color-expected.png: Removed.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Removed.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
  • platform/mac/fast/forms/search-styled-expected.txt:
4:54 PM Changeset in webkit [164144] by BJ Burg
  • 5 edits
    2 adds in trunk/Source

Web Replay: AtomicString replay input names should be stored in a thread-local table
https://bugs.webkit.org/show_bug.cgi?id=128829

Reviewed by Andreas Kling.

Similar to how DOM event names are frequently-used AtomicStrings, replay input
names are also checked in many places as a "type tag". This patch puts all known
input names into a class held by ThreadGlobalData and adds the shortcut inputTypes()
so that replay input types can be referenced with inputTypes.InputName().

  • WebCore.xcodeproj/project.pbxproj:
  • platform/ThreadGlobalData.cpp: Add inputTypes() shortcut.

(WebCore::ThreadGlobalData::ThreadGlobalData):

  • platform/ThreadGlobalData.h: Add inputTypes() shortcut.

(WebCore::ThreadGlobalData::inputTypes):

  • replay/ReplayInputTypes.cpp: Added.

(WebCore::ReplayInputTypes::ReplayInputTypes):

  • replay/ReplayInputTypes.h: Added.

(WebCore::inputTypes): The input names are provided by per-framework macros that
are generated by the replay inputs code generator.

4:51 PM Changeset in webkit [164143] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Activate CSS Region Tests on Windows
https://bugs.webkit.org/show_bug.cgi?id=128854

Reviewed by Simon Fraser.

  • platform/win/TestExpectations: Activate CSS Region tests, turning off a

few failures.

4:48 PM Changeset in webkit [164142] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

Add support for specced event handlers to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=128292

Reviewed by Andreas Kling.

Source/WebCore:

Test: media/media-event-listeners.html

Add explicit event listener IDL attributes to HTMLMediaElement.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/media-event-listeners-expected.txt: Added.
  • media/media-event-listeners.html: Added.
4:04 PM Changeset in webkit [164141] by Brent Fulgham
  • 9 edits in trunk

[Win] Make tests more consistent with Mac platform
https://bugs.webkit.org/show_bug.cgi?id=128848

Reviewed by Simon Fraser.

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl: Add access to the

mock scrollbar and screen font substitution features.

  • WebPreferenceKeysPrivate.h: Ditto
  • WebPreferences.cpp: Ditto

(WebPreferences::mockScrollbarsEnabled):
(WebPreferences::setMockScrollbarsEnabled):
(WebPreferences::screenFontSubstitutionEnabled):
(WebPreferences::setScreenFontSubstitutionEnabled):

  • WebPreferences.h: Ditto
  • WebView.cpp:

(WebView::notifyPreferencesChanged): Ditto

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Turn CSS regions on,
turn mock scrollbars on, and allow screen font
substitution.

4:01 PM Changeset in webkit [164140] by rniwa@webkit.org
  • 7 edits in trunk/LayoutTests

Mac rebaseline after r164127.

  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-styling-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
3:29 PM Changeset in webkit [164139] by oliver@apple.com
  • 23 edits
    12 adds in trunk

Implement a few more Array prototype functions in JS
https://bugs.webkit.org/show_bug.cgi?id=128788

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Remove a pile of awful C++, and rewrite in simple JS.

Needed to make a few other changes to get fully builtins
behavior to more accurately match a host function's.

  • builtins/Array.prototype.js:

(every):
(forEach):
(filter):
(map):
(some):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPutByVal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitExpressionInfo):

  • interpreter/Interpreter.cpp:

(JSC::GetStackTraceFunctor::operator()):

  • parser/Nodes.h:

(JSC::FunctionBodyNode::overrideName):

  • profiler/LegacyProfiler.cpp:

(JSC::createCallIdentifierFromFunctionImp):

  • runtime/ArrayPrototype.cpp:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::deleteProperty):

  • runtime/JSFunction.h:

Source/WebCore:

Minor change to ensure that the inspector is treating builtins
as host functions.

Tests: js/regress/array-prototype-filter.html

js/regress/array-prototype-forEach.html
js/regress/array-prototype-map.html
js/regress/array-prototype-some.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForEventListener):

Make sure we treat builtins as regular host functions

LayoutTests:

Add performance tests, and update a couple of profiler tests as
we unavoidably show the call out to some of the builtin methods.

  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • js/dom/array-foreach-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/dom/array-some-expected.txt:
  • js/regress/array-prototype-filter-expected.txt: Added.
  • js/regress/array-prototype-filter.html: Added.
  • js/regress/array-prototype-forEach-expected.txt: Added.
  • js/regress/array-prototype-forEach.html: Added.
  • js/regress/array-prototype-map-expected.txt: Added.
  • js/regress/array-prototype-map.html: Added.
  • js/regress/array-prototype-some-expected.txt: Added.
  • js/regress/array-prototype-some.html: Added.
  • js/regress/script-tests/array-prototype-filter.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-forEach.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-map.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-some.js: Added.

(test1):
(test2):
(test3):

3:15 PM Changeset in webkit [164138] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add SPI for authentication
https://bugs.webkit.org/show_bug.cgi?id=128847

Reviewed by Dan Bernstein.

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

3:09 PM Changeset in webkit [164137] by mhahnenberg@apple.com
  • 2 edits in trunk/Tools

Save ARGV in a local to avoid repeated lookups

Rubber stamped by Joseph Pecoraro.

  • jsc-cli/jsc-cli/CLIInstance.m:

(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

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

ASSERT(isValidAllocation(bytes)) when ObjC API creates custom errors
https://bugs.webkit.org/show_bug.cgi?id=128840

Reviewed by Joseph Pecoraro.

We need to add APIEntryShims around places where we allocate errors in JSC.
Also converted some of the createTypeError call sites to use ASCIILiteral.

  • API/JSValue.mm:

(valueToArray):
(valueToDictionary):

  • API/ObjCCallbackFunction.mm:

(JSC::objCCallbackFunctionCallAsConstructor):
(JSC::ObjCCallbackFunctionImpl::call):

  • API/tests/testapi.mm:
2:30 PM Changeset in webkit [164135] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Margin tiles are not created for the top and left sides when there is a < 1.0
scale factor
https://bugs.webkit.org/show_bug.cgi?id=128842

Reviewed by Simon Fraser.

floor the result of the computation whenever we have a negative origin, to ensure
that we are rounding 'up' to a larger number of tiles.

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

(WebCore::TileController::getTileIndexRangeForRect):

2:28 PM Changeset in webkit [164134] by mhahnenberg@apple.com
  • 7 edits in trunk/Tools

jsc-cli should allow scripts to access argv
https://bugs.webkit.org/show_bug.cgi?id=127486

Reviewed by Oliver Hunt.

  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
  • jsc-cli/jsc-cli/CLIInstance.h:
  • jsc-cli/jsc-cli/CLIInstance.m:

(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

  • jsc-cli/jsc-cli/JSRunLoopThread.h:
  • jsc-cli/jsc-cli/JSRunLoopThread.m:

(-[JSRunLoopThread initWithContext:]):
(-[JSRunLoopThread loadFile:]):
(-[JSRunLoopThread start]):

  • jsc-cli/jsc-cli/main.m:

(printUsage):
(main):

2:27 PM Changeset in webkit [164133] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

setSelection should not synchronously trigger layout
https://bugs.webkit.org/show_bug.cgi?id=128797

Reviewed by Antti Koivisto.

Only update the appearance and reveal selection when the style and the layout is already up to date.
Otherwise, do so in performPostLayoutTasks.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelection): Set m_pendingSelectionUpdate and synchronously update caret rect
if we don't need to update style or layout.
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Added. Used by FrameSelection member functions to
trigger layout or style recalc whichever is needed.
(WebCore::FrameSelection::updateAndRevealSelection): Extracted from setSelection.
(WebCore::FrameSelection::absoluteCaretBounds): Call updateSelectionByUpdatingLayoutOrStyle since caret rect
is no longer updated synchronously in setSelection.
(WebCore::FrameSelection::recomputeCaretRect): Don't assert that visibleStart().absoluteCaretBounds() is
equal to m_absCaretBounds since selection may no longer be caret at this point.
(WebCore::FrameSelection::setCaretVisibility): Call updateSelectionByUpdatingLayoutOrStyle since we're
synchronously calling into updateAppearance here. In the future, we should make this asynchronous as well.
(WebCore::FrameSelection::selectionBounds): Call updateSelectionByUpdatingLayoutOrStyle since selection bounds
could be outdated. This code only triggering style recalc was presumably a bug.

  • editing/FrameSelection.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks): Update selection's appearance and scroll to reveal selection
as needed.

2:09 PM Changeset in webkit [164132] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Add WKBackForwardListDidChangeNotification
https://bugs.webkit.org/show_bug.cgi?id=128839

Reviewed by Dan Bernstein.

Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems
instead of a pointer to a Vector of API::Objects.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didChangeBackForwardList):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

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

(WebKit::NavigationState::LoaderClient::didChangeBackForwardList):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::clear):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):

  • UIProcess/WebPageProxy.h:
1:29 PM Changeset in webkit [164131] by akling@apple.com
  • 63 edits
    3 deletes in trunk

Purge remaining ENABLE(SHADOW_DOM) cruft.
<https://webkit.org/b/128827>

Source/WebCore:

Remove the remaining 8.8 million lines of Shadow DOM code to align
with goals for intent to ship 60fps on mobile in 2014.

Reviewed by Antti Koivisto.

Tools:

Reviewed by Antti Koivisto.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • Scripts/webkitperl/FeatureList.pm:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

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

[MediaControls][iOS] Embedded YouTube does not show a 'paused' button state after starting
https://bugs.webkit.org/show_bug.cgi?id=128755

Reviewed by Eric Carlson.

Don't rely on "canPlay()", instead, take the information directly from the event itself. I.e., when
handling the 'play' event, switch mode to playing, and vice versa for the 'pause' event.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handlePlay):
(Controller.prototype.handlePause):
(Controller.prototype.updatePlaying):
(Controller.prototype.setPlaying):

1:19 PM Changeset in webkit [164129] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MediaControls][iOS] Start playback button is visible when playing embedded YouTube
https://bugs.webkit.org/show_bug.cgi?id=128754

Reviewed by Eric Carlson.

Update shouldHaveStartPlaybackButton to match the behavior of the plugin proxy.

Add a accessor to determine whether playback has been requested:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::userGestureRequired):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:

Update the logic of shouldHaveStartPlaybackButton.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton):

1:17 PM Changeset in webkit [164128] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Baseline JIT should have a fast path to bypass the write barrier on op_enter
https://bugs.webkit.org/show_bug.cgi?id=128832

Reviewed by Filip Pizlo.

  • jit/JIT.h: Removed some random commented out functions.h
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_enter):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

1:15 PM Changeset in webkit [164127] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[MediaControls] Add support for a loading progress meter
https://bugs.webkit.org/show_bug.cgi?id=128651

Reviewed by Eric Carlson.

Draw the loaded ranges underneath the timeline slider. Use a -webkit-canvas()
CSS function to allow the track of the slider to reflect the current state of
the video's loadedTimeRanges property.

Since -webkit-canvas() will share a backing store with all other CSS images using
the same identifier, use a monotonically increasing identifier to uniquely identify the timeline on a per-document basis.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-timeline):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller): Call updateProgress().
(Controller.prototype.createControls): Set up the canvas style and identifier.
(Controller.prototype.handleLoadStart): Call updateProgress().
(Controller.prototype.handleStalled): Ditto.
(Controller.prototype.handleReadyStateChange): Ditto.
(Controller.prototype.handleDurationChange): Ditto.
(Controller.prototype.handleProgress): Ditto.
(Controller.prototype.progressFillStyle): Added an easily overridable method

to determine the fill color of the progress bar.

(Controller.prototype.updateProgress): Draw the loadedTimeRanges into the timeline slider.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.progressFillStyle): Override.

1:13 PM Changeset in webkit [164126] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Always enable AVKit in WK2
https://bugs.webkit.org/show_bug.cgi?id=128686

Reviewed by Simon Fraser.

Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

1:00 PM Changeset in webkit [164125] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Clean up JSDOMStringMap::deleteProperty
https://bugs.webkit.org/show_bug.cgi?id=128801

Reviewed by Geoffrey Garen.

Follow up on my cleaning of JSDOMStringMapCustom, this time for deletion.

Previously, we would query for the name, then call deleteItem() if the name was
found. Instead, everything is moved to deleteItem which then return if the deletion
is successful or not.

By using convertPropertyNameToAttributeName, we can use Element::hasAttribute() directly
to find if the attribute exists or not. If it exists, we remove it.

Theoretically we could have a single pass over the attributes to find->delete but this
code is not hot enough to justify anything fancy at this point.

Finally, we no longer check for isValidPropertyName() on deletion. JSDOMStringMapCustom
was the last client of DatasetDOMStringMap::deleteItem() and it could not call deleteItem()
with invalid name since the name would have failed DatasetDOMStringMap::contains().
The spec does not specify any name checking either for deletion so we are safe just ignoring
invalid input.

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::deleteProperty):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::deleteItem):

  • dom/DatasetDOMStringMap.h:
12:59 PM Changeset in webkit [164124] by benjamin@webkit.org
  • 4 edits in trunk/Source

Improve the performance on mobile of FTPDirectoryDocument
https://bugs.webkit.org/show_bug.cgi?id=128778

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Antti Koivisto.

Source/WebCore:

Little cleanup.

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::processFilesizeString):
(WebCore::wasLastDayOfMonth):
(WebCore::processFileDateString):
(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

Source/WTF:

  • wtf/text/WTFString.h:

(WTF::String::endsWith): add a missing overload.

12:58 PM Changeset in webkit [164123] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Do not attempt to synchronize attributes when no Simple Selector could match an animatable attribute
https://bugs.webkit.org/show_bug.cgi?id=128728

Reviewed by Andreas Kling.

In most cases, we don't even need to test for the flag animatedSVGAttributesNotDirty.
If the selector filter could never match an animatable attribute, there is no point in testing for one.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::canMatchStyleAttribute):
Skip the second test when the local name is equal to canonicalLocalName. That is the common case.

(WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):

  • svg/SVGElement.cpp:

(WebCore::addQualifiedName):
(WebCore::SVGElement::animatableAttributeForName):
(WebCore::SVGElement::isAnimatableAttribute):
(WebCore::SVGElement::filterOutAnimatableAttribute):

  • svg/SVGElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::filterOutAnimatableAttribute):

  • svg/SVGScriptElement.h:

Move the list of animatable attribute to a static function available in Release.
Selector matching is a lot more flexible than normal name matching. Since the local name must
always match, it is used as a key to get the full QualifiedName to compare to the selector.

Separating the list of animatable attributes between Selectors and SVGElement::isAnimatableAttribute
would be error prone. Instead, SVGElement::isAnimatableAttribute() is modified to use
SVGElement::animatableAttributeForName so that the two never get out of sync.

Since SVGScriptElement has one additional restriction to isAnimatableAttribute(), the function
filterOutAnimatableAttribute() is added to remove a qualified name from the complete list of animatable attributes.
This ensure SVGElement::animatableAttributeForName() always has the complete list, and subclasses of SVGElement
can only remove QualifiedNames, not add them.

12:57 PM Changeset in webkit [164122] by Lucas Forschler
  • 3 edits
    3 copies in tags/Safari-538.16.6

Merged r164119.

12:56 PM Changeset in webkit [164121] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
https://bugs.webkit.org/show_bug.cgi?id=128715

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Darin Adler.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleTap):

12:53 PM Changeset in webkit [164120] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebKit2

<rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen
https://bugs.webkit.org/show_bug.cgi?id=128710

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

WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKWebView _keyboardWillChangeFrame:]):
(-[WKWebView _keyboardDidChangeFrame:]):
(-[WKWebView _keyboardWillShow:]):
(-[WKWebView _keyboardWillHide:]):

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

(-[WKContentView isAssistingNode]):

  • UIProcess/API/ios/WKInteractionView.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView dealloc]):
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
(-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKView _keyboardWillChangeFrame:]):
(-[WKView _keyboardDidChangeFrame:]):
(-[WKView _keyboardWillShow:]):
(-[WKView _keyboardWillHide:]):

12:51 PM Changeset in webkit [164119] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

Don't optimize variadic closure calls
https://bugs.webkit.org/show_bug.cgi?id=128835

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Read the check that had been in JITStubs.cpp, back in the day. This code came
from the DFG and the DFG didn't need these checks.

  • jit/JITOperations.cpp:

LayoutTests:

Reviewed by Gavin Barraclough.

Add a test that covers both the performance and correctness of this case.

  • js/regress/script-tests/variadic-closure-call.js: Added.

(foo.bar):
(foo):

  • js/regress/variadic-closure-call-expected.txt: Added.
  • js/regress/variadic-closure-call.html: Added.
12:47 PM Changeset in webkit [164118] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Make code generation of the unoptimized pseudo classes separate
https://bugs.webkit.org/show_bug.cgi?id=128704

Reviewed by Andreas Kling.

Mapping the unoptimized selectors when generating the code was useful for debugging
but those cases are so common that looping over unoptimizedPseudoCheckers was more
costly than anticipated.

This patch moves the unoptimized pseudo selector in their own array to simplify code generation.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

12:34 PM Changeset in webkit [164117] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color wheel should support Retina displays
https://bugs.webkit.org/show_bug.cgi?id=124355

Reviewed by Timothy Hatcher.

Take into account the devicePixelRatio in order to draw the color wheel
with as many colors as we can draw with the current DPI and to correctly
convert from page coordinates to canvas coordinates when dealing with
mouse events.

12:28 PM Changeset in webkit [164116] by Lucas Forschler
  • 3 edits in tags/Safari-538.16.6/Source/JavaScriptCore

Merged r164063.

12:08 PM Changeset in webkit [164115] by mmaxfield@apple.com
  • 10 edits
    2 adds in trunk

Implement text-decoration-skip: auto
https://bugs.webkit.org/show_bug.cgi?id=128786

Reviewed by Dean Jackson.

http://lists.w3.org/Archives/Public/www-style/2014Feb/0485.html
We are updating the initial value of text-decoration-skip to a new value, "auto".
On Mac + iOS, this will have the same behavior as "skip".

Source/WebCore:

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipFlagsToCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTextDecorationSkip):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::valueToDecorationSkip):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default-expected.txt: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
12:04 PM QtWebKitBuildBots edited by kadam@inf.u-szeged.hu
(diff)
11:49 AM Changeset in webkit [164114] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.6/Source

Versioning.

11:47 AM Changeset in webkit [164113] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.6

New Tag.

11:38 AM Changeset in webkit [164112] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128802

Reviewed by Darin Adler.

  • PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::paint):

  • PluginProcess/PluginControllerProxy.h: Ditto.
  • PluginProcess/PluginControllerProxy.messages.in: Ditto.
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess): Ditto.
(WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific
quirk.
(WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach-based IPC.

  • PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to

USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit.

  • PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

  • PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::WebProcessConnection::createPluginInternal):
(WebKit::WebProcessConnection::createPlugin):

11:26 AM Changeset in webkit [164111] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add -[WKWebView estimatedProgress]
https://bugs.webkit.org/show_bug.cgi?id=128830

Reviewed by Dan Bernstein.

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

(-[WKWebView estimatedProgress]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeEstimatedProgress):
(WebKit::NavigationState::didChangeEstimatedProgress):

11:13 AM Changeset in webkit [164110] by Simon Fraser
  • 14 edits in trunk/Source

Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
https://bugs.webkit.org/show_bug.cgi?id=128790

Reviewed by Beth Dakin.

Have scrolling tree nodes and state nodes track another layer, the
"scrolled contents layer", for accelerated overflow:scroll.

When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
layer will point to the composited element's primary layer, and its
scrolledContentsLayer to the layer that gets moved around by scrolling.

Do some other cleanup on AsyncScrollingCoordinator, removing
functions that just called through to nodes.

Source/WebCore:

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

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

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

(WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):

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

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):

Source/WebKit2:

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

10:59 AM Changeset in webkit [164109] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView _handle]
https://bugs.webkit.org/show_bug.cgi?id=128828

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _handle]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:31 AM Changeset in webkit [164108] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test correction to get bots green.

  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Don't

snapshot final pixel location, since these seems to be somewhat dependent
on the test machine.

  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Ditto
9:52 AM Changeset in webkit [164107] by Chris Fleizach
  • 5 edits
    2 adds in trunk

AX: WebKit needs heuristics to differentiate lists used for layout from semantic data lists, similar to the heuristics for layout tables versus data tables.
https://bugs.webkit.org/show_bug.cgi?id=122320

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Many authors use lists for layout, rather than presenting data. Exposing these kinds of lists to accessibility users
makes the web harder to process and listen, while degrading the importance of real lists.

This introduces heuristics to filter out layout lists with the following:

  1. If it's a named list, like ol or aria=list, then it's a list. 1a. Unless the list has no children, then it's not a list.
  2. If it displays visible list markers, it's a list.
  3. If it does not display list markers and has only one child, it's not a list.
  4. If it does not have any listitem children, it's not a list.
  5. Otherwise it's a list (for now).

Test: accessibility/list-detection.html

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::determineAccessibilityRole):
(WebCore::AccessibilityList::roleValue):

  • accessibility/AccessibilityList.h:

LayoutTests:

  • accessibility/aria-roles.html:
  • accessibility/list-detection-expected.txt: Added.
  • accessibility/list-detection.html: Added.
9:51 AM Changeset in webkit [164106] by b.long@cablelabs.com
  • 8 edits in trunk/Source/WebCore

Use AtomicString arguments in TrackPrivateBaseClient callbacks
https://bugs.webkit.org/show_bug.cgi?id=128765

Reviewed by Eric Carlson.

No new tests because this doesn't change functionality.

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::idChanged):
(WebCore::AudioTrack::labelChanged):
(WebCore::AudioTrack::languageChanged):

  • html/track/AudioTrack.h:
  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::InbandTextTrack):
(WebCore::InbandTextTrack::idChanged):
(WebCore::InbandTextTrack::labelChanged):
(WebCore::InbandTextTrack::languageChanged):

  • html/track/InbandTextTrack.h:
  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::idChanged):
(WebCore::VideoTrack::labelChanged):
(WebCore::VideoTrack::languageChanged):

  • html/track/VideoTrack.h:
  • platform/graphics/TrackPrivateBase.h:
9:48 AM Changeset in webkit [164105] by Brent Fulgham
  • 12 edits
    37 adds in trunk

Create some latched scrolling tests.
https://bugs.webkit.org/show_bug.cgi?id=127606
<rdar://problem/15911348>

Reviewed by Simon Fraser.

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]): Update to recognize
the new "mouseScrollByX:andY:withWheel:andMomentumPhases:" selector.
(+[EventSendingController webScriptNameForSelector:]): Ditto.
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Implement
the new wheel event sender.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Add declaration

of new mouseScrollByWithWheelAndMomentumPhases method.

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Added

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Add stub for iOS.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle): Handle the new
mouseScrollByWithWheelAndMomentumPhases message.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Handle the
new mouseScrollByWithWheelAndMomentumPhases.

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide stub that
relays to the standard mouse wheel handler.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

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

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide implementation
of mouse wheel gesture method.

LayoutTests:

Add a series of tests to cover desired behavior with wheel events (including momentum).
This behavior is specific to the Mac platform, so is limited to the platform/mac and
platform/mac-wk2 directories.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Added.
  • platform/mac/fast/scrolling: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div.html: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select.html: Added.
9:41 AM Changeset in webkit [164104] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleCommand::updateStartEnd
https://bugs.webkit.org/show_bug.cgi?id=121791

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-14
Reviewed by Darin Adler.

Source/WebCore:

If WebCore::ApplyStyleCommand::applyBlockStyle() creates a TextIterator for a range
that has an element with ReplacedElement rendering object, then a ',' is emitted in the
constructor of TextIterator. Due to this comma the end of the run range can be at the
wrong position, what makes the assertion fire. This situation can be handled the same
way in TextIterator::rangeFromLocationAndLength() as we do in case of the emitted '\n's.

Test: editing/execCommand/remove-formatting-from-iframe-in-button.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::rangeFromLocationAndLength):

LayoutTests:

  • editing/execCommand/remove-formatting-from-iframe-in-button-expected.txt: Added.
  • editing/execCommand/remove-formatting-from-iframe-in-button.html: Added.
9:35 AM Changeset in webkit [164103] by abucur@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] visibility: hidden on a region should hide its content
https://bugs.webkit.org/show_bug.cgi?id=128814

Reviewed by Mihnea Ovidenie.

Source/WebCore:

The patch properly checks that the content of a region layer should be painted before actually
calling the paint function (for example, when visibility: hidden is specified on a region, its
content should be hidden).

Test: fast/regions/visibility-hidden.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

Add a test that verifies visibility: hidden on a region hides the content of
the flow thread.

  • fast/regions/visibility-hidden-expected.html: Added.
  • fast/regions/visibility-hidden.html: Added.
9:11 AM Changeset in webkit [164102] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[ASan] Disable JSStack::sanitizeStack() to avoid false-positive stack-buffer-overflow errors
<http://webkit.org/b/128819>

Reviewed by Filip Pizlo.

  • interpreter/JSStack.cpp:

(JSC::JSStack::sanitizeStack): When building with the clang
address sanitizer, don't sanitize the stack since it will
trigger false-positive stack-buffer-overflow errors. Disabling
this only results in a performance penalty, not a correctness
penalty.

6:02 AM WebKitGTK/SpeedUpBuild edited by Andres Gomez
More details for icecc compilation (diff)
5:58 AM WebKitGTK/SpeedUpBuild edited by Andres Gomez
Added more details about icecc compilation (diff)
5:57 AM Changeset in webkit [164101] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

Refactoring design-mode-spellcheck-off.html to use asynchronous spellchecking
https://bugs.webkit.org/show_bug.cgi?id=127770

Reviewed by Ryosuke Niwa.

Enable asynchronous spellchecking in design-mode-spellcheck-off.html.

Due to js-test-pre.js adds some HTML elements inside the BODY, the misspelled
phrase was moved into separated div element. It allows to check spelling marker
on desired element instead of whole body.

It turned out that the test does not underline "asdf" as misspelled although
spellcheck attribute is on. To force spellchecking, the caret needs to be moved
out of the misspelled word. To be more reliable, the test now contains two test
cases in 'desingMode=on' when spellcheck attribute is off and on.

  • editing/spelling/design-mode-spellcheck-off-expected.txt:
  • editing/spelling/design-mode-spellcheck-off.html:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:

Skip the test for GTK.

  • platform/win/TestExpectations:

Add failing test expectation.

4:26 AM Changeset in webkit [164100] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

Use asynchronous spellchecking in spelling-hasspellingmarker.js
https://bugs.webkit.org/show_bug.cgi?id=128526

Reviewed by Ryosuke Niwa.

Refactoring spelling-hasspellingmarker.js to use asynchronous spellchecking.
In addition, adds some bits for non-DumpRenderTree users.

  • editing/spelling/script-tests/spelling-hasspellingmarker.js:

(addContainer): creates a new div element based on given markup.
(typeMisspelling): types 'zz' to the element.
(verifySpellingMarkers): calls shouldBecomeEqual to verify spelling markers.
(tests): contains test cases.
(done): invokes next test cases if any, otherwise calls finishJSTest().

  • editing/spelling/spelling-hasspellingmarker-expected.txt:

Update baseline.

  • editing/spelling/spelling-hasspellingmarker.html:

Include editing.js due to the test started using typeCharacterCommand().

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:

Skip spelling-hasspellingmarker.html for GTK (wk1 and wk2).

3:52 AM Changeset in webkit [164099] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Follow-up fix after r164036.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-14
Reviewed by Csaba Osztrogonác.

  • dom/Document.cpp:

(WebCore::Document::create):

3:38 AM Changeset in webkit [164098] by commit-queue@webkit.org
  • 3 edits in trunk

Unreviewed, rolling out r164090.
http://trac.webkit.org/changeset/164090
https://bugs.webkit.org/show_bug.cgi?id=128807

It broke the EFL build (Requested by Ossy on #webkit).

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsEfl.cmake:
3:14 AM Changeset in webkit [164097] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

(try)append and insert operations don't need new operator for PODs
https://bugs.webkit.org/show_bug.cgi?id=128185

Patch by Wojciech Bielawski <w.bielawski@samsung.com> on 2014-02-14
Reviewed by Darin Adler.

Vector's methods use VectorCopier to copy data.
VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied.

  • wtf/Vector.h:

(WTF::OverflowHandler>::append): use VectorCopier to copy data.
(WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
(WTF::OverflowHandler>::insert): use VectorCopier to copy data.

3:10 AM Changeset in webkit [164096] by mario.prada@samsung.com
  • 2 edits
    2 deletes in trunk/Source/JavaScriptCore

Cleaning the JSStaticScopeObject files left behind after renaming their objects to JSNameScope
https://bugs.webkit.org/show_bug.cgi?id=127595

Patch by Andres Gomez <Andres Gomez> on 2014-02-14
Reviewed by Mario Sanchez Prada.

JSStaticScopeObject was renamed to JSNameScope and removed long
ago but the files were left behind empty and the CMake compilation
in need of its existance. Now, we are definitely getting rid of
them.

  • CMakeLists.txt:
  • runtime/JSStaticScopeObject.cpp: Removed.
  • runtime/JSStaticScopeObject.h: Removed.
1:47 AM Changeset in webkit [164095] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update Windows test expectations.

js/regress/emscripten-memops.html is timing out, not failing.

  • platform/win/TestExpectations:

Feb 13, 2014:

10:04 PM Changeset in webkit [164094] by mitz@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

[Cocoa] Expose the bundle form client
https://bugs.webkit.org/show_bug.cgi?id=128792

Reviewed by Anders Carlsson.

  • WebKit2.xcodeproj/project.pbxproj: Added new file.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form
delegate.
(setUpFormClient): Added. Initializes the form client with the above function.
(-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter.
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or
clears the form client.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

Declared _formDelegate property.

10:03 PM Changeset in webkit [164093] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Add a way to get the page from a frame in the injected bundle
https://bugs.webkit.org/show_bug.cgi?id=128791

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:

(-[WKWebProcessPlugInFrame _browserContextController]): Added.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared

_browserContextController property.

9:37 PM Changeset in webkit [164092] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Kill some of the last vestiges of the C++ interpreter's PICs
https://bugs.webkit.org/show_bug.cgi?id=128796

Reviewed by Michael Saboff.

  • bytecode/BytecodeUseDef.h:

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

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdOp):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/PolymorphicAccessStructureList.h:

(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::PolymorphicStubInfo):
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
(JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
(JSC::PolymorphicAccessStructureList::visitWeak):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:

(JSC::isGetByIdAccess):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/Repatch.cpp:

(JSC::getPolymorphicStructureList):
(JSC::tryBuildGetByIDList):

  • llint/LowLevelInterpreter.asm:
8:03 PM Changeset in webkit [164091] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public URLs won't leak.
https://bugs.webkit.org/show_bug.cgi?id=128532

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-02-13
Reviewed by Jer Noble.

This fixes a leak of DOM objects by breaking the circular reference
between Document, PublicURLManager, and MediaSource.
Instead of clearing PublicURLManager at destruction-time,
which is delayed indefinitely because of the circular reference,
clear the PublicURLManager during ActiveDOMObject::stop().

Frome Blink r151890 by <acolwell@chromium.org>
<https://src.chromium.org/viewvc/blink?view=rev&revision=151890>

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::publicURLManager):

  • html/DOMURL.h:
  • html/PublicURLManager.cpp:

(WebCore::PublicURLManager::create):
(WebCore::PublicURLManager::PublicURLManager):
(WebCore::PublicURLManager::registerURL):
(WebCore::PublicURLManager::stop):

  • html/PublicURLManager.h:
7:35 PM Changeset in webkit [164090] by Martin Robinson
  • 3 edits in trunk

[GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Extend a fix for EFL to all ports that use GCC. Also include further fixes
that were applied only to the autotools build.

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsCommon.cmake: Add -fno-omit-frame-pointer to all ports as well

as -fno-tree-dce, which is necessary for GTK+.

  • Source/cmake/OptionsEfl.cmake: The GCC flag additions are now in the common options file.
6:42 PM Changeset in webkit [164089] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs. Part 2.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

toJS() is the wrong cast function to use. We need to use toJSForGC() instead.
Also we need to acquire the JSLock to prevent concurrent accesses to the
Strong handle list.

  • API/JSValue.mm:

(JSContainerConvertor::add):
(containerValueToObject):
(ObjcContainerConvertor::add):
(objectToValue):

6:36 PM Changeset in webkit [164088] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

JSManagedValue::dealloc modifies NSMapTable while iterating it
https://bugs.webkit.org/show_bug.cgi?id=128713

Reviewed by Geoffrey Garen.

Having to write a test for this revealed a bug in how addManagedReference:withOwner:
actually notifies JSManagedValues of new owners.

  • API/JSManagedValue.mm:

(-[JSManagedValue dealloc]):

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):

  • API/tests/testapi.mm:

(testObjectiveCAPI):

6:32 PM Changeset in webkit [164087] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

6:25 PM Changeset in webkit [164086] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed gardening of some timing out tests.
https://bugs.webkit.org/show_bug.cgi?id=128789.

  • platform/win/TestExpectations:
6:04 PM Changeset in webkit [164085] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Speculative Release build fix after r164077.

  • API/JSValue.mm:
5:59 PM Changeset in webkit [164084] by mmaxfield@apple.com
  • 7 edits in trunk/Source/WebCore

Remove position:sticky runtime flag
https://bugs.webkit.org/show_bug.cgi?id=128774

Reviewed by Simon Fraser.

Rollout of r128663

No new tests are necessary because there is no behavior change.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSParserMode.h:
  • dom/Document.cpp:
  • dom/Document.h:
  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:
5:53 PM Changeset in webkit [164083] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView stopLoading:]
https://bugs.webkit.org/show_bug.cgi?id=128784

Reviewed by Dan Bernstein.

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

(-[WKWebView stopLoading:]):

5:49 PM Changeset in webkit [164082] by dfarler@apple.com
  • 2 edits in trunk/Tools

DumpRenderTree fails to build: Perl support module building for OS X but linking for the simulator
https://bugs.webkit.org/show_bug.cgi?id=128780

Reviewed by Simon Fraser.

  • DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL:

Use xcrun -find clang instead of `xcrun --sdk $ENV{SDKROOT} -find clang,
which will pick up SDKROOT=iphonesimulator from building the Xcode aggregate target.

5:44 PM Changeset in webkit [164081] by rniwa@webkit.org
  • 12 edits
    25 deletes in trunk

Unreviewed, rolling out r164073 and r164080.
http://trac.webkit.org/changeset/164073
http://trac.webkit.org/changeset/164080
https://bugs.webkit.org/show_bug.cgi?id=128781

Broke Mac builds (Requested by rniwa on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2014-02-13

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

LayoutTests:

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Removed.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-div.html: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Removed.
  • platform/mac/fast/scrolling/scroll-select-latched-select.html: Removed.
5:30 PM Changeset in webkit [164080] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix for Mountain Lion.

  • DumpRenderTree/mac/EventSendingController.mm: Provide definition

for kCGScrollWheelEventScrollPhase if it isn't found in the
system headers.

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

Add -[WKWebView activeURL]
https://bugs.webkit.org/show_bug.cgi?id=128777

Reviewed by Dan Bernstein.

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

(-[WKWebView activeURL]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeActiveURL):
(WebKit::NavigationState::didChangeActiveURL):

5:17 PM Changeset in webkit [164078] by zoltan@webkit.org
  • 6 edits
    1 add in trunk/PerformanceTests

[CSS Shapes] Add performance test for complex polygon with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128769

Reviewed by Ryosuke Niwa.

This patch modifies the logic of createShapeOutsideTest to accept multiple
CSS properties from the test. The patch adds performance test for complex
polygon shape (self intersecting at multiple places) case, moreover we
apply shape-margin on the polygon also.

  • Layout/Shapes/ShapeOutsideContentBox.html:
  • Layout/Shapes/ShapeOutsideInset.html:
  • Layout/Shapes/ShapeOutsidePolygonWithMargin.html: Added.
  • Layout/Shapes/ShapeOutsideRaster.html:
  • Layout/Shapes/ShapeOutsideSimplePolygon.html:
  • Layout/Shapes/resources/shapes.js:
5:06 PM Changeset in webkit [164077] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

Added a vector of Strong<Unknown> references in the 2 containers, and append
the newly created JSValues to those vectors. This will keep all those JS objects
alive for the duration of the conversion.

  • API/JSValue.mm:

(JSContainerConvertor::add):
(ObjcContainerConvertor::add):

4:35 PM Changeset in webkit [164076] by Gustavo Noronha Silva
  • 7 edits
    1 add in trunk

[GTK][CMake] Generate GObject DOM bindings .symbols files
https://bugs.webkit.org/show_bug.cgi?id=126210

Reviewed by Martin Robinson.

.:

  • Source/PlatformGTK.cmake: add checking DOM bindings API as a dependency

for documentation generation.

Source/WebCore:

No new tests. Build change only.

  • CMakeLists.txt: list Quota module files and IDLs even if the feature

is disabled, for GTK, since we rely on that for our DOM bindings.

  • PlatformGTK.cmake: add a new target to check for DOM symbols API by

running the new python script.

  • bindings/gobject/GNUmakefile.am: call the new python script instead

of using a custom rule.

Tools:

  • gtk/check-gdom-symbols: Added. Checks symbols compatibility.

(should_update_symbols_file):

4:30 PM Changeset in webkit [164075] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

text-decoration-skip: ink skips randomly when using SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=128709

Reviewed by Simon Fraser.

Source/WebCore:

This patch simply disables skipping underlines being used with SVG fonts.
It's a stopgap until we can support skipping properly with SVG fonts.

Test: svg/custom/svg-fonts-skip-ink.html

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::ctFont):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

LayoutTests:

This text checks that some text without descenders in an SVG font renders the same with and
without text-decoration-skip: ink.

  • svg/custom/svg-fonts-skip-ink-expected.html: Added.
  • svg/custom/svg-fonts-skip-ink.html: Added.
4:22 PM Changeset in webkit [164074] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Added GetMyArgumentsLength to FTL
https://bugs.webkit.org/show_bug.cgi?id=128758

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

  • tests/stress/ftl-getmyargumentslength.js: Added.

(foo):

4:22 PM Changeset in webkit [164073] by Brent Fulgham
  • 12 edits
    37 adds in trunk

Create some latched scrolling tests.
https://bugs.webkit.org/show_bug.cgi?id=127606
<rdar://problem/15911348>

Reviewed by Simon Fraser.

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]): Update to recognize
the new "mouseScrollByX:andY:withWheel:andMomentumPhases:" selector.
(+[EventSendingController webScriptNameForSelector:]): Ditto.
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Implement
the new wheel event sender.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Add declaration

of new mouseScrollByWithWheelAndMomentumPhases method.

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Added

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Add stub for iOS.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle): Handle the new
mouseScrollByWithWheelAndMomentumPhases message.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Handle the
new mouseScrollByWithWheelAndMomentumPhases.

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide stub that
relays to the standard mouse wheel handler.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

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

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide implementation
of mouse wheel gesture method.

LayoutTests:

Add a series of tests to cover desired behavior with wheel events (including momentum).
This behavior is specific to the Mac platform, so is limited to the platform/mac and
platform/mac-wk2 directories.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Added.
  • platform/mac/fast/scrolling: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div.html: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select.html: Added.
4:22 PM Changeset in webkit [164072] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

Fix the iOS build after <http://trac.webkit.org/changeset/164064

  • wtf/Platform.h:
3:57 PM Changeset in webkit [164071] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/164066.

It broke tests and it was just plain wrong.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):

  • runtime/Structure.h:

(JSC::Structure::takesSlowPathInDFGForImpureProperty):

3:41 PM Changeset in webkit [164070] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix.

Fixed typo.

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::run):

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

Change FTL stack check to use VM's stackLimit
https://bugs.webkit.org/show_bug.cgi?id=128561

Reviewed by Filip Pizlo.

Changes FTL function entry to check the call frame register against the FTL
specific stack limit (VM::m_ftlStackLimit) and throw an exception if the
stack limit has been exceeded. Updated the exception handling code to have
a second entry that will unroll the current frame to the caller, since that
is where the exception should be processed.

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):

  • ftl/FTLState.h:
  • runtime/VM.h:

(JSC::VM::addressOfFTLStackLimit):

3:34 PM Changeset in webkit [164068] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the ARM build when HAVE_ARM_NEON_INTRINSICS is enabled

Add !HAVE(ARM_NEON_INTRINSICS)-guard around file-level inline function arithmeticSoftware to
avoid an unused function compiler warning when building with ARM Neon intrinsics.

  • platform/graphics/filters/FEComposite.cpp:
3:33 PM Changeset in webkit [164067] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView goToBackForwardListItem:]
https://bugs.webkit.org/show_bug.cgi?id=128773

Reviewed by Andreas Kling.

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

(-[WKWebView goToBackForwardListItem:]):

3:31 PM Changeset in webkit [164066] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

GetByIdStatus shouldn't call takesSlowPathInDFGForImpureProperty() for self accesses, and calling that method should never assert about anything
https://bugs.webkit.org/show_bug.cgi?id=128772

Reviewed by Mark Hahnenberg.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):

  • runtime/Structure.h:

(JSC::Structure::takesSlowPathInDFGForImpureProperty):

3:28 PM Changeset in webkit [164065] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/PerformanceTests

[CSS Shapes] Add performance test for raster shape
https://bugs.webkit.org/show_bug.cgi?id=128746

Reviewed by Ryosuke Niwa.

This patch adds performance testing for image valued shape-outside.
The test is skipped by default for now.

  • Layout/Shapes/ShapeOutsideRaster.html: Added.
  • Layout/Shapes/resources/shape.gif: Added.
3:17 PM Changeset in webkit [164064] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Disable HAVE_ARM_NEON_INTRINSICS

For now, disable HAVE_ARM_NEON_INTRINSICS when building for iOS. We want
to audit the applicable code before we enable this define.

  • wtf/Platform.h:
3:07 PM Changeset in webkit [164063] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add some RELEASE_ASSERTs to catch JSLock bugs earlier
https://bugs.webkit.org/show_bug.cgi?id=128762

Reviewed by Mark Lam.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • runtime/JSLock.cpp:

(JSC::JSLock::DropAllLocks::DropAllLocks):

3:04 PM Changeset in webkit [164062] by beidson@apple.com
  • 5 edits in trunk

IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=128763

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests (Covered by three existing tests)

  • platform/KeyedCoding.h:

(WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.

LayoutTests:

  • platform/mac-wk2/TestExpectations: One test passes, one passes with expectation changes, and the third is now a text failure.
  • storage/indexeddb/key-type-array-expected.txt:
3:02 PM Changeset in webkit [164061] by commit-queue@webkit.org
  • 11 edits in trunk

[css3-text] Support -webkit-text-decoration-skip: objects
https://bugs.webkit.org/show_bug.cgi?id=128723

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-02-13
Reviewed by Dean Jackson.

Source/WebCore:

Implemented 'objects' value of text-decoration-skip.
http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip

This is initial value and same behavior without
ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
added parser code and constant for 'objects'.

Changed the initial value of text-decoration-skip.

The current implementation parses 'none', but the rendering code is
not match the spec, so this patch added FIXME to the rendering code.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipFlagsToCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTextDecorationSkip):

  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::valueToDecorationSkip):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Added 'objects' value to the current test case.
Added getComputedStyle() test to test renderTextDecorationSkipFlagsToCSSValue() code.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
2:59 PM Changeset in webkit [164060] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix ARM NEON build following <http://trac.webkit.org/changeset/164058>
(https://bugs.webkit.org/show_bug.cgi?id=128767)

I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
2:46 PM Changeset in webkit [164059] by fpizlo@apple.com
  • 38 edits
    11 adds in trunk/Source

Hoist and combine array bounds checks
https://bugs.webkit.org/show_bug.cgi?id=125433

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

This adds a phase for reasoning about overflow checks and array bounds checks. It's
block-local, and removes both overflow checks and bounds checks in one go.

This also improves reasoning about commutative operations, and CSE between
CheckOverflow and Unchecked arithmetic.

This strangely uncovered a DFG backend bug where we were trying to extract an int32
from a constant even when that constant was just simply a number. I fixed that bug.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::set):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGArithMode.h:

(JSC::DFG::subsumes):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::int32ToDoubleCSE):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGEdge.cpp:

(JSC::DFG::Edge::dump):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::sanitized):
(JSC::DFG::Edge::hash):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueOfInt32Constant):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertConstant):

  • dfg/DFGIntegerCheckCombiningPhase.cpp: Added.

(JSC::DFG::IntegerCheckCombiningPhase::IntegerCheckCombiningPhase):
(JSC::DFG::IntegerCheckCombiningPhase::run):
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
(JSC::DFG::IntegerCheckCombiningPhase::rangeKeyAndAddend):
(JSC::DFG::IntegerCheckCombiningPhase::isValid):
(JSC::DFG::IntegerCheckCombiningPhase::insertAdd):
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd):
(JSC::DFG::performIntegerCheckCombining):

  • dfg/DFGIntegerCheckCombiningPhase.h: Added.
  • dfg/DFGNode.h:

(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGNodeType.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAdd):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFalse):

  • runtime/Identifier.h:
  • runtime/Intrinsic.h:
  • runtime/JSObject.h:
  • tests/stress/get-by-id-untyped.js: Added.

(foo):

  • tests/stress/inverted-additive-subsumption.js: Added.

(foo):

  • tests/stress/redundant-add-overflow-checks.js: Added.

(foo):

  • tests/stress/redundant-array-bounds-checks-addition-skip-first.js: Added.

(foo):
(arraycmp):

  • tests/stress/redundant-array-bounds-checks-addition.js: Added.

(foo):
(arraycmp):

  • tests/stress/redundant-array-bounds-checks-unchecked-addition.js: Added.

(foo):
(arraycmp):

  • tests/stress/redundant-array-bounds-checks.js: Added.

(foo):
(arraycmp):

  • tests/stress/tricky-array-bounds-checks.js: Added.

(foo):
(arraycmp):

Source/WTF:

Reviewed by Mark Hahnenberg.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/HashMethod.h: Added.

(WTF::HashMethod::operator()):

2:45 PM Changeset in webkit [164058] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
https://bugs.webkit.org/show_bug.cgi?id=128767

Reviewed by Dean Jackson.

This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.

Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
an uninitialized variable compiler warning in the existing code.

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:

(WebCore::FEComposite::computeArithmeticPixelsNeon):

2:34 PM Changeset in webkit [164057] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL should be OK with compact_unwind in a data section
https://bugs.webkit.org/show_bug.cgi?id=128756

Reviewed by Mark Hahnenberg.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):

2:18 PM Changeset in webkit [164056] by graouts@webkit.org
  • 3 edits in trunk/Tools

Unreviewed. changing my email address.

2:13 PM Changeset in webkit [164055] by timothy@apple.com
  • 1 edit in trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp

Attempt to fix LevelDB builds.

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

Make WKWebViewConfigurationPrivate.h private
https://bugs.webkit.org/show_bug.cgi?id=128761

Reviewed by Tim Horton.

  • WebKit2.xcodeproj/project.pbxproj:
1:55 PM Changeset in webkit [164053] by mmaxfield@apple.com
  • 19 edits
    2 adds in trunk

During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
https://bugs.webkit.org/show_bug.cgi?id=128688

Reviewed by Ryosuke Niwa.

Source/WebCore:

Adds a field, m_needsPositionStyleConversion, to StyledMarkupAccumulator.

Also, renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

Test: editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createMarkupInternal):

  • page/Settings.in:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy):

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

Source/WebKit/mac:

Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

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

(-[WebPreferences shouldConvertPositionStyleOnCopy]):
(-[WebPreferences setShouldConvertPositionStyleOnCopy:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetShouldConvertPositionStyleOnCopy):
(WKPreferencesGetShouldConvertPositionStyleOnCopy):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

Performs a copy of the contents of a particular div, rather than the entire body. Makes sure that
no position:fixed -> position:absolute conversion occurs.

  • editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt:
  • editing/pasteboard/copy-paste-converts-sticky-and-fixed.html:
  • editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy-expected.txt: Added.
  • editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html: Added.
1:38 PM Changeset in webkit [164052] by BJ Burg
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: DataGrid should support editing tables with arbitrary columns
https://bugs.webkit.org/show_bug.cgi?id=128619

Reviewed by Timothy Hatcher.

The data grid editing code should work with any columns, but was previously
hardcoded with the column identifiers used by DOMStorageView. This patch
makes the editing code work with any column identifiers. It also fixes some
bugs in previous/next navigation during data entry.

  • UserInterface/DOMStorageContentView.css: Highlight missing keys and values.

(.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
(.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):

  • UserInterface/DOMStorageContentView.js: Don't blow away the entire table

whenever the backend notifies us of an update to the storage object. This
caused the editing state to be destroyed when values were entered interactively.

(WebInspector.DOMStorageContentView.prototype.reset): Inline the callback
passed to DOMStorageObject.getEntries().
(WebInspector.DOMStorageContentView.prototype.itemsCleared):
(WebInspector.DOMStorageContentView.prototype.itemAdded): Request a sort
of the table rows after backend tells us about item additions or updates.

(WebInspector.DOMStorageContentView.prototype.itemUpdated): Request a sort
of the table rows after backend tells us about item additions or updates.

(WebInspector.DOMStorageContentView.prototype._sortDataGrid): Use DataGrid's
built-in sorting function.

(WebInspector.DOMStorageContentView.prototype._deleteCallback):
(WebInspector.DOMStorageContentView.prototype._editingCallback): Don't force
recreation of the entire table whenever editing finishes. Perform most
of the error checking and editing logic here, including when to insert a
new placeholder row, and when to commit the entered values to DOM storage.

  • UserInterface/DOMStorageObject.js: Keep track of the DOM storage entries

in the model so we can detect duplicate entries. Remove unused id arguments.

(WebInspector.DOMStorageObject):
(WebInspector.DOMStorageObject.prototype.get entries):
(WebInspector.DOMStorageObject.prototype.itemsCleared):
(WebInspector.DOMStorageObject.prototype.itemRemoved):
(WebInspector.DOMStorageObject.prototype.set this):
(WebInspector.DOMStorageObject.prototype.itemAdded):
(WebInspector.DOMStorageObject.prototype.set var):
(WebInspector.DOMStorageObject.prototype.itemUpdated):

  • UserInterface/DataGrid.js:

(.sortDataGrid):
(WebInspector.DataGrid.createSortableDataGrid): Use the built-in DataGrid
sortNodes() implementation.
(WebInspector.DataGrid.prototype._startEditingNodeAtColumnIndex): Renamed
from _startEditingColumnOfDataGridNode. It's easier to understand the navigation
code when presented in terms of adjusting column indexes rather than identifiers.

(WebInspector.DataGrid.prototype._startEditing):
(WebInspector.DataGrid.prototype.determineNextCell): Added. Decides which
column and row to edit next and whether the table can be sorted before the
next cell edit begins.

(WebInspector.DataGrid.prototype.moveToNextCell): Added. Wrapper method for
the above which handles sorting and beginning the next cell edit.

(WebInspector.DataGrid.prototype._editingCommitted): Use better helper methods.
(WebInspector.DataGrid.prototype._editingCancelled): Add an assert.
(WebInspector.DataGrid.prototype.get sortColumnIdentifier): Shorten.
(WebInspector.DataGrid.prototype.addPlaceholderNode):
(WebInspector.DataGrid.prototype.removeChild):
(WebInspector.DataGrid.prototype.):
(WebInspector.DataGrid.prototype.sortNodes): Remove unecessary copying
of all nodes into a separate array. Defer sorting if the user is in the
middle of editing a cell. Make placeholder nodes always sort to the bottom
regardless of the sort column identifier and sort direction.

(WebInspector.DataGridNode.prototype._attach):
(WebInspector.PlaceholderDataGridNode): Renamed from CreationDataGridNode.
(WebInspector.PlaceholderDataGridNode.prototype.makeNormal):

  • UserInterface/StorageManager.js: Don't pass unused id argument.

(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):

1:37 PM Changeset in webkit [164051] by timothy@apple.com
  • 11 edits in trunk/Source

Enable inspection of recently used IndexedDB databases.

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

Reviewed by Brady Eidson & Joseph Pecoraro.

Source/WebCore:

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::getDatabaseNames):

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:

(WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):

  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Fix up the arguments passed to getDatabaseNames.

  • WebCore.xcodeproj/project.pbxproj:

Make DOMStringList.h private so WebKit2 can use it.

  • inspector/InspectorIndexedDBAgent.cpp:

Modernize the loops and remove some PLATFORM(COCOA) ifdefs to
compile the code.

  • inspector/protocol/IndexedDB.json: Use number for version to

allow larger values instead of clamping to int.

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::sharedRecentDatabaseNameMap):
(WebKit::combinedSecurityOriginIdentifier):
(WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
(WebKit::WebIDBFactoryBackend::getDatabaseNames):
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):
Keep track of recently used database names per security-origin pair.
Implement getDatabaseNames to return the recently used names.

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

Fix up the arguments passed to getDatabaseNames.

1:26 PM Changeset in webkit [164050] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/Cocoa/WKWebView.mm:

(layoutMilestones):

1:14 PM Changeset in webkit [164049] by andersca@apple.com
  • 6 edits
    1 copy in trunk/Source/WebKit2

Add rendering progress events SPI
https://bugs.webkit.org/show_bug.cgi?id=128752

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _observedRenderingProgressEvents]):
(layoutMilestones):
(-[WKWebView _setObservedRenderingProgressEvents:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(NS_OPTIONS):

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::renderingProgressEvents):
(WebKit::NavigationState::LoaderClient::didLayout):

  • WebKit2.xcodeproj/project.pbxproj:
12:46 PM Changeset in webkit [164048] by BJ Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: long script names should be have text-overflow:ellipsis in probe details sidebar
https://bugs.webkit.org/show_bug.cgi?id=128550

Reviewed by Timothy Hatcher.

Make the link element 'display: block', place it after the floated icons,
and set the appropriate CSS overflow properties.

  • UserInterface/ProbeDetailsSidebarPanel.css:

(.details-section.probe-set .options > a.go-to-link):

  • UserInterface/ProbeSetDetailsSection.js:

(WebInspector.ProbeSetDetailsSection):

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

Copying (createMarkup) wrapping text results in space between wrapped lines stripped.
https://bugs.webkit.org/show_bug.cgi?id=63233

Source/WebCore:

The problem is StyledMarkupAccumulator uses renderedText and the space at
the end of the text has been stripped when the tag after the text was wrapped.

Patch by Chang Shu <cshu@webkit.org> on 2014-02-13
Reviewed by Ryosuke Niwa.

Test: editing/pasteboard/copy-text-with-wrapped-tag.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::handleTextBox):

  • editing/TextIterator.h:

Check the special case when the iterator runs over a range that is followed by a non-text box.
In this case, the possible last space has been collapsed and needs to be restored.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::renderedText):
Check if the range is followed by more nodes and pass this information to the constructed TextIterator.

LayoutTests:

Patch by Chang Shu <cshu@webkit.org> on 2014-02-13
Reviewed by Ryosuke Niwa.

The problem is StyledMarkupAccumulator uses renderedText and the space at
the end of the text has been stripped when the tag after the text was wrapped.

  • editing/pasteboard/copy-text-with-wrapped-tag-expected.txt: Added.
  • editing/pasteboard/copy-text-with-wrapped-tag.html: Added.
12:31 PM Changeset in webkit [164046] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Gaps for text-decoration-skip: ink are calculated assuming the glyph orientation is the same as the run orientation
https://bugs.webkit.org/show_bug.cgi?id=128718

Reviewed by Darin Adler.

Source/WebCore:

This is a stop-gap patch to make underlines in CJK text not look terrible. A long-term fix is to refactor
showGlyphsWithAdvances to move rotation logic into a common place that the text-decoration-skip: ink code
can use.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws text that has descenders that would be skipped over if the glyph orientation was the same
as the run orientation. However, it uses text-orientation: upright to make those two orientations not equal.
It then compares this to no skipping at all.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html: Added.
12:04 PM Changeset in webkit [164045] by Lucas Forschler
  • 2 edits in tags/Safari-538.16.5/Source/WebKit2

Merged r164031.

11:50 AM Changeset in webkit [164044] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.5/Source

Versioning.

11:47 AM Changeset in webkit [164043] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.5

New Tag.

11:32 AM Changeset in webkit [164042] by ap@apple.com
  • 5 edits in trunk

[Mac] Add a WebKit1 SPI to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128725

Reviewed by Anders Carlsson.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

  • WebView/WebUIDelegatePrivate.h:

Looks like UIDelegate is the closest we have to a reasonable place.

Tools:

  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webCryptoMasterKeyForWebView:]):

Use the SPI to specify a key.

10:56 AM Changeset in webkit [164041] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

IDB: TestExpectations cleanup

Unreviewed.

  • platform/mac-wk2/TestExpectations: More tests pass than fail, so only list failures.
10:52 AM Changeset in webkit [164040] by beidson@apple.com
  • 5 edits in trunk/LayoutTests

IDB: TestExpectations batch - HTTP tests

Unreviewed.

  • http/tests/security/cross-origin-indexeddb-allowed-expected.txt:
  • http/tests/security/cross-origin-indexeddb-expected.txt:
  • http/tests/security/resources/cross-origin-iframe-for-indexeddb.html:
  • platform/mac-wk2/TestExpectations: Two of the http tests are worker tests. They remain skipped. The other three pass with test updates.
10:45 AM Changeset in webkit [164039] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CStack Branch: VM::currentReturnThunkPC appears to be unused and should be removed
https://bugs.webkit.org/show_bug.cgi?id=127205

Reviewed by Geoffrey Garen.

Removed ununsed references to VM::currentReturnThunkPC.

  • jit/ThunkGenerators.cpp:

(JSC::arityFixup):

  • runtime/VM.h:
10:39 AM Changeset in webkit [164038] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

InsertIntoTextNodeCommand should get Settings from the Frame.
<https://webkit.org/b/128678>

EditCommands have a frame() accessor that returns a reference,
so there's no need to go through Document.

Reviewed by Anders Carlsson.

  • editing/InsertIntoTextNodeCommand.cpp:

(WebCore::InsertIntoTextNodeCommand::doApply):

10:36 AM Changeset in webkit [164037] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

iOS build fix.

  • WebView/WebView.mm:

(+[WebView registerForMemoryNotifications]):

10:31 AM Changeset in webkit [164036] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Document should be constructable
https://bugs.webkit.org/show_bug.cgi?id=115643

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-13
Reviewed by Darin Adler.

Source/WebCore:

http://www.w3.org/TR/2014/WD-dom-20140204/#interface-document
Make Document constructable so that one can do "new Document"
instead of "document.implementation.createHTMLDocument()".

Test: fast/dom/Document/document-constructor.html

  • dom/Document.cpp:

(WebCore::Document::create):
(WebCore::Document::origin):

  • dom/Document.h:
  • dom/Document.idl:

LayoutTests:

  • fast/dom/Document/document-constructor-expected.txt: Added.
  • fast/dom/Document/document-constructor.html: Added.
  • fast/dom/dom-constructors-expected.txt:
  • fast/dom/dom-constructors.html:
10:07 AM Changeset in webkit [164035] by commit-queue@webkit.org
  • 24 edits
    2 moves in trunk

[CSS Grid Layout] Rename named areas property
https://bugs.webkit.org/show_bug.cgi?id=127990

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-02-13
Reviewed by Sergio Villar Senin.

From Blink r165891 by <Manuel Rego Casasnovas>

The property 'grid-template' has been renamed to 'grid-template-areas'
in the last two versions of the spec.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSGridTemplateAreasValue.cpp: Renamed from Source/WebCore/css/CSSGridTemplateValue.cpp.

(WebCore::CSSGridTemplateAreasValue::CSSGridTemplateAreasValue):
(WebCore::stringForPosition):
(WebCore::CSSGridTemplateAreasValue::customCSSText):

  • css/CSSGridTemplateAreasValue.h: Renamed from Source/WebCore/css/CSSGridTemplateValue.h.

(WebCore::CSSGridTemplateAreasValue::create):
(WebCore::CSSGridTemplateAreasValue::~CSSGridTemplateAreasValue):
(WebCore::CSSGridTemplateAreasValue::gridAreaMap):
(WebCore::CSSGridTemplateAreasValue::rowCount):
(WebCore::CSSGridTemplateAreasValue::columnCount):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateAreas):

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isGridTemplateAreasValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

Source/WebInspectorUI:

  • Tools/PrettyPrinting/css.js:
  • UserInterface/External/CodeMirror/css.js:

LayoutTests:

  • fast/css-grid-layout/grid-item-area-get-set.html:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
  • fast/css-grid-layout/grid-template-get-set-expected.txt:
  • fast/css-grid-layout/grid-template-get-set.html:
10:06 AM Changeset in webkit [164034] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the last remnants of Maemo support
https://bugs.webkit.org/show_bug.cgi?id=85238

Patch by Adrian Bunk <bunk@stusta.de> on 2014-02-13
Reviewed by Ryosuke Niwa.

  • plugins/npapi.h:
10:05 AM Changeset in webkit [164033] by beidson@apple.com
  • 8 edits in trunk/LayoutTests

IDB: TestExpectations batch - "transaction-abort.html to versionchangerequest-activedomobject.html”

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-exclusive-expected.txt:
10:00 AM Changeset in webkit [164032] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Code cleanup: remove gcc<4.7 guards.
https://bugs.webkit.org/show_bug.cgi?id=128729

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-02-13
Reviewed by Anders Carlsson.

Remove GCC_VERSION_AT_LEAST guards when it checks for pre-4.7 versions,
as WK does not compile with earlier gcc versions.

Source/JavaScriptCore:

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::cacheFlush):

  • interpreter/StackVisitor.cpp:

(JSC::printif):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/Platform.h:
9:30 AM Changeset in webkit [164031] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Disable XPC for plug-ins that need executable heap
https://bugs.webkit.org/show_bug.cgi?id=128744
<rdar://problem/15962958>

Reviewed by Dan Bernstein.

When switching to XPC for plug-ins, we accidentally broke the "feature"
where plug-ins can ask for the heap to be executable.

This breaks Silverlight, so just disable XPC for any plug-ins that need this.
<rdar://problem/16059483> tracks fixing this in the XPC service.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins
that require this feature.

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Set launchOptions.useXPC to false if launchOptions.executableHeap is true.

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

REGRESSION: fast/workers/use-machine-stack.html hits Heap::isMarked(cell) assertion
https://bugs.webkit.org/show_bug.cgi?id=128745

8:22 AM Changeset in webkit [164029] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Add or remove expectations for some media layout tests
https://bugs.webkit.org/show_bug.cgi?id=128535

Unreviewed EFL layout tests gardening

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-02-13

  • platform/efl/TestExpectations:
  • platform/efl-wk1/TestExpectations:
5:25 AM Changeset in webkit [164028] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit/efl

[EFL][WK1] Do not include libsoup header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128701

Reviewed by Gyuyoung Kim.

Although ewebkit used libsoup internally, it's not good for EFL developers
to use it.
Instead, we should provide some wrapper APIs like ewk_network_proxy_uri_set
for future changes.

  • ewk/ewk_network.cpp: Removed soup related header,APIs and comments.

(ewk_network_tls_ca_certificates_path_set):

  • ewk/ewk_network.h: Ditto.
  • ewk/ewk_view.cpp: Ditto.
  • ewk/ewk_view.h: Ditto.
5:20 AM Changeset in webkit [164027] by ChangSeok Oh
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Removed unexpected pass tests from TextExpections

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
4:58 AM Changeset in webkit [164026] by ChangSeok Oh
  • 9 edits in trunk/Source/WebCore

Support ANGLE_instanced_arrays for GLES backend.
https://bugs.webkit.org/show_bug.cgi?id=128579

Reviewed by Dean Jackson.

Add some APIs to Extensions3D to support ANGLE_instanced_arrays for GLES backend.
At the same time, drawArraysInstanced, drawElementsInstanced and vertexAttribDivisor
are moved from GC3DOpenGL.cpp to GC3DOpenGLCommon.cpp since they could be shareable
through Extensions3D.

Covered by fast/canvas/webgl/angle-instanced-arrays.html

  • platform/graphics/Extensions3D.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

(WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
(WebCore::Extensions3DOpenGLES::drawArraysInstanced):
(WebCore::Extensions3DOpenGLES::drawElementsInstanced):
(WebCore::Extensions3DOpenGLES::vertexAttribDivisor):
(WebCore::Extensions3DOpenGLES::supportsExtension):

  • platform/graphics/opengl/Extensions3DOpenGLES.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::drawArraysInstanced):
(WebCore::GraphicsContext3D::drawElementsInstanced):
(WebCore::GraphicsContext3D::vertexAttribDivisor):

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
4:35 AM Changeset in webkit [164025] by Michał Pakuła vel Rutka
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/mathml/presentation/mspace-children-expected.txt: Added EFL expectation after r163626.
3:28 AM Changeset in webkit [164024] by calvaris@igalia.com
  • 51 edits
    2 adds in trunk

[GTK] MEDIA_CONTROLS_SCRIPT support
https://bugs.webkit.org/show_bug.cgi?id=123097

Reviewed by Jer Noble.

.:

Part of the Autotools and CMake structure to build the media
controls script.

  • Source/autotools/SetupWebKitFeatures.m4: Activated the media

controls script by default.

  • Source/cmake/OptionsGTK.cmake: Activated the media controls

script by default.

  • Source/cmake/WebKitFeatures.cmake: Created the option to

activate the controls script.

  • Source/cmakeconfig.h.cmake: Created the define template the the

media controls script.

Source/WebCore:

WebKitGTK+ multimedia controls are now managed from Javascript
code. Apple controls are kept as common code and GTK+ ones are
subclassed for the specific behavior.

Both CMake and Autotools build support is provided.

  • CMakeLists.txt: Added support to build the media controls

script and their associated files.

  • GNUmakefile.am: Added support to generate the C++ code from the

Javascript.

  • GNUmakefile.list.am: Added the media controls script associated

files.

  • Modules/mediacontrols/MediaControlsHost.cpp:
  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:

(WebCore::MediaControlsHost::supportsFullscreen): Added attribute
to know if the element supports fullscreen.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleWrapperMouseOut):
(Controller.prototype.updatePlaying): Use clear and
resetHideControlsTimer.
(Controller.prototype.clearHideControlsTimer): Added.
(Controller.prototype.resetHideControlsTimer): Added.

  • Modules/mediacontrols/mediaControlsGtk.js: Added.

(createControls): Calls ControllerGtk.
(ControllerGtk): Calls the superclass.
(contains): Defines a function to know if an object is contained
in an array.
(ControllerGtk.prototype.inheritFrom): Copies the method of the
superclass that are not reimplemented in the subclass.
(ControllerGtk.prototype.createControls): Calls the superclass and
create the remaining needed elements.
(ControllerGtk.prototype.configureInlineControls): Configures the
controls.
(ControllerGtk.prototype.setStatusHidden): Redefined empty.
(ControllerGtk.prototype.updateTime): Writes the duration and
current position. As it was so far, current time also includes
duration. If current time is bigger than 0 we show that.
(ControllerGtk.prototype.showCurrentTime): Shows current time and
hides duration label (that is included in current time).
(ControllerGtk.prototype.handlePlay): Calls the superclass and
force showing the current time.
(ControllerGtk.prototype.handleTimeUpdate): Always update the
time.
(ControllerGtk.prototype.handleMuteButtonMouseOver): Shows the
volume slider.
(ControllerGtk.prototype.handleVolumeBoxMouseOut): Hides the
volume slider.
(ControllerGtk.prototype.addControls): Adds the enclosure instead
of the panel directly. Panel is, of course, part of the enclosure.
(ControllerGtk.prototype.updateReadyState): Shows the fullscreen
button only if fullscreen is supported. Sets the volume in up or
down mode depending on its position in the document. Updates the
volume.
(ControllerGtk.prototype.setControlsType): Creates the controls it
they were not created before. Unlike Apple ones, WebKitGTK+
fullscreen and inline controls are the same.
(ControllerGtk.prototype.updatePlaying): Calls the superclass and
shows the controls if not playing.
(ControllerGtk.prototype.handleCaptionButtonClicked): Redefined
empty. To be coherent with volume, that also shows a popup, this
is handled with mouseover instead of click.
(ControllerGtk.prototype.buildCaptionMenu): Calls the superclass
to build the menu, sets some listeners, centers the popup with the
captions button, keeps the current height and sets the style to 0,
which is needed to animate it.
(ControllerGtk.prototype.destroyCaptionMenu): Hides the caption menu.
(ControllerGtk.prototype.showCaptionMenu): Resets the height to
its original. We don't animate it with CSS because we would need
to specify a height in the style and we don't know it in advance.
(ControllerGtk.prototype.hideCaptionMenu): Sets height to 0.
(ControllerGtk.prototype.captionMenuTransitionEnd): When the
captions menu transtition ends, it is destroyed.
(ControllerGtk.prototype.handleCaptionButtonMouseOver): Creates
the caption menu and shows it.
(ControllerGtk.prototype.handleCaptionButtonMouseOut): Hides the
captions menu.
(ControllerGtk.prototype.handleCaptionMouseOut): Hides the
captions menu.

  • PlatformGTK.cmake: Added WebCore to the target link libraries

and initialized the variables needed at CMakelists.txt

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-panel)
(video::-webkit-media-controls-panel): Added transtion based on opacity.
(video::-webkit-media-controls-panel): Set video opacity to 0.
(video::-webkit-media-controls-panel.paused): Set video opacity to 1.
(audio::-webkit-media-controls-panel div.mute-box): Set the same
style as the mute button to preserve the layout.
(audio::-webkit-media-controls-panel div.mute-box.hidden): Sets
the display to none.
(audio::-webkit-media-controls-mute-button)
(video::-webkit-media-controls-mute-button): Removed the outline
and the margin that is managed by the mute box now.
(audio::-webkit-media-controls-play-button)
(video::-webkit-media-controls-play-button): Removed the outline.
(audio::-webkit-media-controls-time-remaining-display)
(video::-webkit-media-controls-time-remaining-display): Removed
the display.
(audio::-webkit-media-controls-current-time-display)
(video::-webkit-media-controls-current-time-display): Added the
display block.
(video::-webkit-media-controls-time-remaining-display): Set
display none.
(video::-webkit-media-controls-time-remaining-display.show): Set
display block.
(video::-webkit-media-controls-time-remaining-display.hidden): Set
display none.
(audio::-webkit-media-controls-timeline)
(video::-webkit-media-controls-timeline): Removed outline.
(audio::-webkit-media-controls-volume-slider-container)
(video::-webkit-media-controls-volume-slider-container): Set
overflow hidden and set a transition by height.
(video::-webkit-media-controls-volume-slider-container.hidden):
Set height 0.
(video::-webkit-media-controls-volume-slider-container.down): Set
bottom to be below the panel. Changed the border radius and
transition accordingly.
(video::-webkit-media-controls-panel .hidden.down): Sets default
bottom as 0.
(audio::-webkit-media-controls-volume-slider)
(video::-webkit-media-controls-volume-slider): Removed the outline.
(audio::-webkit-media-controls-toggle-closed-captions-button)
(video::-webkit-media-controls-toggle-closed-captions-button):
Removed the background that is painted from C++ and removed the
outline.
(video::-webkit-media-controls-closed-captions-container):
(video::-webkit-media-controls-closed-captions-container h3):
(video::-webkit-media-controls-closed-captions-container ul):
(video::-webkit-media-controls-closed-captions-container li):
(video::-webkit-media-controls-closed-captions-container li.selected): Changed
the style to make it more coherent with the rest of the controls.
(audio::-webkit-media-controls-fullscreen-button)
(video::-webkit-media-controls-fullscreen-button): Removed the outline.
(audio::-webkit-media-controls-panel button.hidden): Sets the
display to none.

  • html/HTMLMediaElement.cpp: UserAgentScripts.h is not needed here

and build cmake build would need for changes to get this compiled.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::nodeHasPseudo): Added. Checks if a node has a certain
pseudo.
(WebCore::nodeHasClass): Added. Checks if a node has a certain
class.
(WebCore::supportsFocus): Removed some element types as outline is
now handled in CSS.
(WebCore::RenderThemeGtk::paintMediaPlayButton): Checks if the
play button has the class paused to show the play icon instead of
the pause one.
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
Added. Paints the captions icon.
(WebCore::RenderThemeGtk::mediaControlsScript): Added. Loads the
bundled scripts.

  • platform/gtk/RenderThemeGtk.h: Added the mediaControlsScript

method and declared the redefinition of the method to play the
captions icon.

LayoutTests:

Tests infrastructure for the media controls script.

  • media/click-volume-bar-not-pausing.html:
  • media/media-volume-slider-rendered-normal.html:
  • media/video-controls-captions-trackmenu-hide-on-click-outside.html:
  • media/video-volume-slider.html: Fixed.
  • platform/gtk-wk2/TestExpectations: Tests flagged.
  • platform/gtk/TestExpectations: Changed tests flags.
  • platform/gtk/accessibility/media-element-expected.txt:
  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt: Rebaseline.
  • platform/gtk/fullscreen/video-controls-override-expected.txt: Added.
  • platform/gtk/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
  • platform/gtk/media/audio-controls-rendering-expected.png:
  • platform/gtk/media/audio-controls-rendering-expected.txt:
  • platform/gtk/media/audio-repaint-expected.txt:
  • platform/gtk/media/controls-after-reload-expected.png:
  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-strict-expected.png:
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.png:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/controls-without-preload-expected.png:
  • platform/gtk/media/controls-without-preload-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.png:
  • platform/gtk/media/video-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.png:
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-empty-source-expected.txt:
  • platform/gtk/media/video-no-audio-expected.png:
  • platform/gtk/media/video-no-audio-expected.txt:
  • platform/gtk/media/video-volume-slider-expected.png:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/gtk/media/video-zoom-controls-expected.png:
  • platform/gtk/media/video-zoom-controls-expected.txt:

Rebaseline.

12:42 AM Changeset in webkit [164023] by svillar@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Moved myself to the list of reviewers.

  • Scripts/webkitpy/common/config/contributors.json:
12:39 AM Changeset in webkit [164022] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

12:36 AM Changeset in webkit [164021] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Speculative build fix after r163998.

  • DumpRenderTree/ios/PerlSupport/Makefile:
12:36 AM Changeset in webkit [164020] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.18

New tag.

Feb 12, 2014:

10:52 PM Changeset in webkit [164019] by beidson@apple.com
  • 5 edits in trunk/LayoutTests

IDB: TestExpectations batch - "odd-strings.html to structured-clone.html”

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/request-result-cache-expected.txt:
10:50 PM Changeset in webkit [164018] by mark.lam@apple.com
  • 9 edits in trunk/Source

No need to save reservedZoneSize when dropping the JSLock.
<https://webkit.org/b/128719>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The reservedZoneSize does not change due to the VM being run on a different
thread. Hence, there is no need to save and restore its value. Instead of
calling updateReservedZoneSize() to update the stack limit, we now call
setStackPointerAtVMEntry() to do the job. setStackPointerAtVMEntry()
will update the stackPointerAtVMEntry and delegate to updateStackLimit() to
update the stack limit based on the new stackPointerAtVMEntry.

  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • Previously, we initialize stackPointerAtVMEntry in VMEntryScope. This means that the stackPointerAtVMEntry may not be initialize when we instantiate the ErrorHandlingScope. And so, we needed to initialize the stackPointerAtVMEntry in the ErrorHandlingScope constructor if it's not already initialized.

Now that we initialize the stackPointerAtVMEntry when we lock the VM JSLock,
we are guaranteed that it will be initialized by the time we instantiate
the ErrorHandlingScope. Hence, we can change the ErrorHandlingScope code
to just assert that the stackPointerAtVMEntry is initialized instead.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • We no longer need to save the reservedZoneSize. Remove the related code.
  • runtime/JSLock.cpp:

(JSC::JSLock::lock):

  • When we grab the JSLock mutex for the first time, there is no reason why the stackPointerAtVMEntry should be initialized. By definition, grabbing the lock for the first time equates to entering the VM for the first time. Hence, we can just assert that stackPointerAtVMEntry is uninitialized, and initialize it unconditionally.

The only exception to this is if we're locking to regrab the JSLock in
grabAllLocks(), but grabAllLocks() will take care of restoring the
stackPointerAtVMEntry in that case after lock() returns. stackPointerAtVMEntry
should still be 0 when we've just locked the JSLock. So, the above assertion
always holds true.

Note: VM::setStackPointerAtVMEntry() will take care of calling
VM::updateStackLimit() based on the new stackPointerAtVMEntry.

  • There is no need to save the reservedZoneSize. The reservedZoneSize is set to Options::reservedZoneSize() when the VM is initialized. Thereafter, the ErrorHandlingScope will change it to Options::errorModeReservedZoneSize() when we're handling an error, and it will restore it afterwards. There is no other reason we should be changing the reservedZoneSize. Hence, we can remove the unnecessary code to save it here.

(JSC::JSLock::unlock):

  • Similarly, when the lockCount reaches 0 in unlock(), it is synonymous with exiting the VM. Hence, we should just clear the stackPointerAtVMEntry and update the stackLimit. Exiting the VM should have no effect on the VM reservedZoneSize. Hence, we can remove the unnecessary code to "restore" it.

(JSC::JSLock::dropAllLocks):

  • When dropping locks, we do not need to save the reservedZoneSize because the reservedZoneSize should remain the same regardless of which thread we are executing JS on. Hence, we can remove the unnecessary code to save the reservedZoneSize here.

(JSC::JSLock::grabAllLocks):

  • When re-grabbing locks, restoring the stackPointerAtVMEntry via VM::setStackPointerAtVMEntry() will take care of updating the stack limit. As explained above, there's no need to save the reservedZoneSize. Hence, there's no need to "restore" it here.
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::setStackPointerAtVMEntry):

  • Sets the stackPointerAtVMEntry and delegates to updateStackLimit() to update the stack limit based on the new stackPointerAtVMEntry.

(JSC::VM::updateStackLimit):

  • runtime/VM.h:

(JSC::VM::stackPointerAtVMEntry):

  • Renamed stackPointerAtVMEntry to m_stackPointerAtVMEntry and made it private. Added a stackPointerAtVMEntry() function to read the value.

Source/WTF:

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:
  • removed unnneeded m_savedReservedZoneSize.
10:40 PM Changeset in webkit [164017] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Another Windows test expectations update.

  • platform/win/TestExpectations:
10:31 PM Changeset in webkit [164016] by beidson@apple.com
  • 11 edits in trunk/LayoutTests

IDB: TestExpectations batch - "key-generator.html to objectStore-required-arguments.html"

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-cursor-expected.txt:
10:04 PM Changeset in webkit [164015] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Return immediately from DestroyPlugin IPC call
https://bugs.webkit.org/show_bug.cgi?id=128712

Reviewed by Anders Carlsson.

In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
starting.

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::destroyPlugin):

  • PluginProcess/WebProcessConnection.h:
  • PluginProcess/WebProcessConnection.messages.in:
9:52 PM Changeset in webkit [164014] by beidson@apple.com
  • 9 edits in trunk/LayoutTests

IDB: TestExpectations batch - "error-causes-abort-by-default.html to invalid-keys.html"

Unreviewed.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/invalid-keys-expected.txt:
9:39 PM Changeset in webkit [164013] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

Update test expectations for Windows.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
9:29 PM Changeset in webkit [164012] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

IDB: TestExpectations batch - "data-corruption.html to duplicates.html"
https://bugs.webkit.org/show_bug.cgi?id=128711

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
8:47 PM Changeset in webkit [164011] by beidson@apple.com
  • 6 edits in trunk/LayoutTests

IDB: TestExpectations batch - "cursor-added-bug.html to cursor-value.html"
https://bugs.webkit.org/show_bug.cgi?id=128706

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
8:43 PM Changeset in webkit [164010] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Pass the related page in the WebPageConfiguration struct
https://bugs.webkit.org/show_bug.cgi?id=128714

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

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

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):

8:24 PM Changeset in webkit [164009] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DelayedReleaseScope in MarkedAllocator::tryAllocateHelper is wrong
https://bugs.webkit.org/show_bug.cgi?id=128641

Reviewed by Michael Saboff.

We were improperly handling the case where the DelayedReleaseScope
in tryAllocateHelper would cause us to drop the API lock, allowing
another thread to sneak in and allocate a new block after we had already
concluded that there were no more blocks to allocate out of.

The fix is to call tryAllocateHelper in a loop until we know for sure
that this did not happen.

There was also a race condition with the DelayedReleaseScope in addBlock.
We would add the block to the MarkedBlock's list, sweep it, and then return,
causing us to drop the API lock momentarily. Another thread could then
grab the lock, and allocate out of the new block to the point where the
free list was empty. Then we would return to the original thread, who thinks
it's impossible to not allocate successfully at this point.
Instead we should just let tryAllocate do all the hard work with correctly
sweeping and getting a valid result.

There was another race condition in didFinishIterating. We would call resumeAllocating,
which would create a DelayedReleaseScope. The DelayedReleaseScope would then release
API lock before we set m_isIterating back to false, which would potentially confuse
other threads.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::tryPopFreeList):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::addBlock):

  • heap/MarkedAllocator.h:
8:05 PM Changeset in webkit [164008] by ap@apple.com
  • 7 edits in trunk

Don't crash when SerializedScriptValue deserialization fails
https://bugs.webkit.org/show_bug.cgi?id=128657

Reviewed by Oliver Hunt.

Source/WebCore:

Test: crypto/subtle/postMessage-worker.html

  • bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneBase::fail): Don't assert on failure.
(WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
are not allowed.

LayoutTests:

  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/resources/postMessage-worker.js:
  • platform/mac/TestExpectations:

Unskip the test, and land (unimportant) failure results.

7:34 PM Changeset in webkit [164007] by BJ Burg
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

Web Replay: capture and replay nondeterminism of Date.now() and Math.random()
https://bugs.webkit.org/show_bug.cgi?id=128633

Reviewed by Filip Pizlo.

Upstream the only two sources of script-visible nondeterminism in JavaScriptCore.

The random seed for WeakRandom is memoized when the owning JSGlobalObject is
constructed. It is deterministically initialized during replay before any
scripts execute with the global object.

The implementations of Date.now() and new Date() eventually obtain the
current time from jsCurrentTime(). When capturing, we save return values of
jsCurrentTime() into the recording. When replaying, we use memoized values from
the recording instead of obtaining values from the platform-specific currentTime()
implementation. No other code calls jsCurrentTime().

  • DerivedSources.make: Add rules to make JSReplayInputs.h from JSInputs.json.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • replay/JSInputs.json: Added. Includes specifications for replay inputs

"GetCurrentTime" and "SetRandomSeed". Tests will be added for both input
cases once sufficient replay machinery has been added.

  • replay/NondeterministicInput.h: NondeterministicInput should not have

been marked 'final'.

  • runtime/DateConstructor.cpp:

(JSC::deterministicCurrentTime): Added. Load or store the current time depending
on what kind of InputCursor is attached to the JSGlobalObject.

(JSC::constructDate): Use deterministicCurrentTime().
(JSC::dateNow): Use deterministicCurrentTime().

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::setInputCursor): When setting a non-empty input cursor,
immediately store or load the "SetRandomSeed" input and initialize WeakRandom's
random seed with it. The input cursor (and thus random seed) must be set before
any scripts are evaluated with this JSGlobalObject.

  • runtime/WeakRandom.h:

(JSC::WeakRandom::WeakRandom): Add JSGlobalObject as a friend class.
(JSC::WeakRandom::initializeSeed): Extract the seed initialization into a
separate method so it can be called outside of the JSGlobalObject constructor.

7:02 PM Changeset in webkit [164006] by Bem Jones-Bey
  • 11 edits in trunk/Source/WebCore

[CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
https://bugs.webkit.org/show_bug.cgi?id=128685

Reviewed by Alexandru Chiculita.

The ShapeInfo hierarchy has grown organically as the spec has changed,
and the naming has become very stale and confusing. The spec is now in
Last Call, so it seems like a good time to take a stab towards better
naming that matches the spec terminology and is also more consistent
in general.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::imageChanged): Use new names.
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
(WebCore::shapeInfoRequiresRelayout): Ditto.
(WebCore::RenderBlock::computeShapeSize): Ditto.
(WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::logicalSizeForChild): This method makes it much

cleaner to set the reference box size.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionNewFloats): Use new names.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
(WebCore::RenderBox::imageChanged): Ditto.

  • rendering/shapes/ShapeInfo.cpp:

(WebCore::getShapeImageMarginRect): Rename variables.
(WebCore::ShapeInfo<RenderType>::computedShape): More renames.

  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from

setShapeSize.

(WebCore::ShapeInfo::logicalLineTop): Use new names.
(WebCore::ShapeInfo::logicalLineBottom): Ditto.
(WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
(WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
(WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
(WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
(WebCore::ShapeInfo::logicalTopOffset): Use new names.
(WebCore::ShapeInfo::logicalLeftOffset): Ditto.

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
(WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
(WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.

  • rendering/shapes/ShapeInsideInfo.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.

  • rendering/shapes/ShapeOutsideInfo.h:
6:03 PM Changeset in webkit [164005] by matthew_hanson@apple.com
  • 6 edits
    6 copies in branches/safari-537.75-branch

Merge r163579.

5:54 PM Changeset in webkit [164004] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add relatedWebView property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=128707

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration relatedWebView]):
(-[WKWebViewConfiguration setRelatedWebView:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
  • WebKit2.xcodeproj/project.pbxproj:
5:40 PM Changeset in webkit [164003] by matthew_hanson@apple.com
  • 15 edits
    2 copies in branches/safari-537.75-branch

Merge r162679 and r162820

5:32 PM Changeset in webkit [164002] by matthew_hanson@apple.com
  • 10 edits in branches/safari-537.75-branch/Source/WebKit2

Merge r162904

5:27 PM Changeset in webkit [164001] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
https://bugs.webkit.org/show_bug.cgi?id=128698

Reviewed by Tim Horton.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::advance): Make 16-bit copy when needed.
(WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
for word boundaries.

5:06 PM Changeset in webkit [164000] by beidson@apple.com
  • 7 edits in trunk/LayoutTests

IDB: TestExpectations batch - "aborted-versionchange-closes.html to createObjectStore-null-name.html"
https://bugs.webkit.org/show_bug.cgi?id=128703

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
4:39 PM Changeset in webkit [163999] by ap@apple.com
  • 8 edits in trunk

[WK2] Add a C API to get WebCrypto master key from a client
https://bugs.webkit.org/show_bug.cgi?id=128702

Reviewed by Anders Carlsson.

Source/WebKit2:

Added a new version of WKContextClient, with a function that returns the key.

  • UIProcess/API/C/WKContext.h:
  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::copyWebCryptoMasterKey):

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

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::copyWebCryptoMasterKey):
(WTR::TestController::initialize):
Return a hardcoded key.

4:38 PM Changeset in webkit [163998] by dfarler@apple.com
  • 5 edits in trunk/Tools

Upstream iOS old-run-webkit-tests for use with DumpRenderTree in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=127694

Reviewed by Simon Fraser.

This is a short-term effort to get layout tests working in the iOS simulator again.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Pass PLATFORM_NAME to the makefile.

  • DumpRenderTree/ios/PerlSupport/Makefile:

Cleanup.

  • Scripts/old-run-webkit-tests:

Added functions and some exceptions for the simulator.
(installAndLaunchDumpRenderTreeAppUsingNotification):
(openIPhoneSimulator):
(quitDumpRenderTreeAppUsingNotification):
(quitIPhoneSimulator):
(simulatorSessionUUID):
(openDiffTool):
(buildDumpTool):
(openDumpTool):
(closeDumpTool):
(dumpToolDidCrash):
(expectedDirectoryForTest):
(buildPlatformResultHierarchy):

  • Scripts/webkitdirs.pm:

Support functions for old-run-webkit-tests.
(determineIPhoneSimulatorVersion):
(iPhoneSimulatorVersion):

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

Add destinationFrame property to WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128700

Reviewed by Tim Horton.

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

(-[WKNavigationAction destinationFrame]):
(-[WKNavigationAction setDestinationFrame:]):

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

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

3:57 PM Changeset in webkit [163996] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Forward declare WKNavigation in WKNavigationDelegate.h
https://bugs.webkit.org/show_bug.cgi?id=128699

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
3:14 PM Changeset in webkit [163995] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::childrenChanged does not necessarily have a page

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-12
Rubber stamped by Enrica Casucci.

  • dom/Document.cpp:

(WebCore::Document::childrenChanged):

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

Expose scrollView on the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128697

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.h:
3:09 PM Changeset in webkit [163993] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Add a missing ": " between the URL and exception in STDOUT logs.

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

Reviewed by Joseph Pecoraro.

  • page/PageConsole.cpp:

(WebCore::PageConsole::addMessage): Print ": " after calling
printSourceURLAndPosition now that it does not print it for us.

2:56 PM Changeset in webkit [163992] by andersca@apple.com
  • 4 edits
    1 delete in trunk/Source/WebKit2

Better iOS build fix.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Make these functions cross platform.

  • UIProcess/mac/WebPageProxyMac.mm:
2:54 PM Changeset in webkit [163991] by mhahnenberg@apple.com
  • 2 edits
    17 adds in trunk/Tools

Basic framework for a modern jsc CLI
https://bugs.webkit.org/show_bug.cgi?id=127435

Rubber stamped by Geoffrey Garen.

  • Scripts/build-jsc:
  • jsc-cli: Added.
  • jsc-cli/jsc-cli: Added.
  • jsc-cli/jsc-cli.xcodeproj: Added.
  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj: Added.
  • jsc-cli/jsc-cli/CLIInstance.h: Added.
  • jsc-cli/jsc-cli/CLIInstance.m: Added.

(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance run]):

  • jsc-cli/jsc-cli/JSModule.h: Added.
  • jsc-cli/jsc-cli/JSModule.m: Added.

(coreModules):
(isCoreModule):
(classForModule):
(coreModuleFullPath):
(resolveModuleAsFile):
(resolveModuleAsDirectory):
(nodeModulePaths):
(resolveAsNodeModule):
(+[JSModule resolve:atPath:]):
(globalModuleCache):
(isCached):
(cachedModule):
(cacheModule):
(+[JSModule require:atPath:]):
(+[JSModule require:atPath:inContext:]):
(-[JSModule platformObjectInContext:]):
(-[JSModule initWithId:filename:context:]):
(-[JSModule dealloc]):
(-[JSModule didStartLoading]):
(-[JSModule didFinishLoading]):
(-[JSModule require:]):
(-[JSModule exports]):

  • jsc-cli/jsc-cli/JSRunLoopThread.h: Added.
  • jsc-cli/jsc-cli/JSRunLoopThread.m: Added.

(jsThreadMain):
(+[JSRunLoopThread threadMain]):
(-[JSRunLoopThread initWithFiles:andContext:]):
(-[JSRunLoopThread startRunLoop]):
(-[JSRunLoopThread start]):
(-[JSRunLoopThread join]):
(-[JSRunLoopThread didReceiveInput:]):
(-[JSRunLoopThread performCallback:withError:]):
(-[JSRunLoopThread performCallback:withArguments:]):
(-[JSRunLoopThread didFinishRunLoopInitialization]):

  • jsc-cli/jsc-cli/ReadEvalPrintLoop.h: Added.
  • jsc-cli/jsc-cli/ReadEvalPrintLoop.m: Added.

(-[ReadEvalPrintLoop initWithJSThread:]):
(prompt):
(escapeStringForOutput):
(-[ReadEvalPrintLoop processNextInput]):
(-[ReadEvalPrintLoop run]):

  • jsc-cli/jsc-cli/RunLoopThread.h: Added.
  • jsc-cli/jsc-cli/RunLoopThread.m: Added.

(+[RunLoopThread threadMain]):
(-[RunLoopThread init]):
(-[RunLoopThread dealloc]):
(-[RunLoopThread didFinishRunLoopInitialization]):
(-[RunLoopThread start]):
(-[RunLoopThread join]):

  • jsc-cli/jsc-cli/ScriptInputSource.h: Added.
  • jsc-cli/jsc-cli/ScriptInputSource.m: Added.

(scriptInputSourceScheduleRoutine):
(scriptInputSourcePerformRoutine):
(scriptInputSourceCancelRoutine):
(-[ScriptInputSource initWithContext:]):
(-[ScriptInputSource dealloc]):
(-[ScriptInputSource addToCurrentRunLoop]):
(-[ScriptInputSource removeFromRemoteRunLoop]):
(-[ScriptInputSource didReceiveScript:]):
(-[ScriptInputSource didReceiveSignal]):
(-[ScriptInputSource runScriptRemotely:]):
(-[ScriptInputSource finishAsyncCallback:withResult:]):

  • jsc-cli/jsc-cli/main.m: Added.

(main):

2:44 PM Changeset in webkit [163990] by rniwa@webkit.org
  • 2 edits in trunk/Tools

One more build fix after r163979.

  • Scripts/webkitpy/port/mac_unittest.py:

(test_baseline_search_path):

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

WK2: coordinate mapping for frames does not work when the page is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=128690
<rdar://problem/16042925>

Reviewed by Simon Fraser.

We should not apply the scroll offset when using delegate scrolling.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):

2:36 PM Changeset in webkit [163988] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Web Inspector: Cleanup JavaScriptCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128662

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Timothy Hatcher.

Now that the code has settled, do a cleanup pass.

  • inspector/ContentSearchUtilities.cpp:
  • inspector/InspectorValues.cpp:

(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::get):

  • inspector/ScriptCallStackFactory.cpp:
  • inspector/ScriptDebugServer.cpp:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
2:36 PM Changeset in webkit [163987] by commit-queue@webkit.org
  • 22 edits
    4 moves in trunk/Source/WebCore

Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
https://bugs.webkit.org/show_bug.cgi?id=128660

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Timothy Hatcher.

Rename the files update build systems and users.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIModule.cpp:

(WebCore::CommandLineAPIModule::host):

  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorController.h:
  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):

  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::PageProfilerAgent::PageProfilerAgent):
(WebCore::InspectorProfilerAgent::create):
(WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):

  • inspector/InspectorProfilerAgent.h:
  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::addInspectedNode):

  • inspector/PageConsoleAgent.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::addInspectedHeapObject):

  • inspector/WebConsoleAgent.h:
  • inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.

(WebCore::WebInjectedScriptHost::type):
(WebCore::WebInjectedScriptHost::isHTMLAllCollection):

  • inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
  • inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.

(WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
(WebCore::WebInjectedScriptManager::disconnect):
(WebCore::WebInjectedScriptManager::didCreateInjectedScript):
(WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):

  • inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
  • inspector/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):

  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerInspectorController.h:
2:32 PM Changeset in webkit [163986] by aestes@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Fix the iOS build after r163976

Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
both Mac and iOS.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
2:16 PM Changeset in webkit [163985] by stavila@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Fix layout of floated nested region
https://bugs.webkit.org/show_bug.cgi?id=128367

Reviewed by Mihnea Ovidenie.

Added test for the correct layout of nested, floating regions.

  • fast/regions/nested-floated-region-expected.html: Added.
  • fast/regions/nested-floated-region.html: Added.
2:07 PM Changeset in webkit [163984] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS Build fix after r163975.

page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC)
PLATFORM(IOS).
1:56 PM Changeset in webkit [163983] by barraclough@apple.com
  • 10 edits in trunk/Source/WebCore

Clean up PageThrottler interface
https://bugs.webkit.org/show_bug.cgi?id=128677

Reviewed by Benjamin Poulain.

Currently, responsibility for throttling DOM timers & suspending animations is split
between the Page & the PageThrottler. Clarify by making Page responsible for suspending
animations (PageThrottler is now purely related to aspects of timer throttling), and
move all timer throttling policy to the PageThrottler, with a single function on Page to
enable (Page::setTimerThrottlingEnabled).

Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
and distinguish between media & page-load activity.

  • WebCore.exp.in:
    • removed setDOMTimerAlignmentInterval.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • createActivityToken -> mediaActivityToken
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::started):

  • createActivityToken -> pageLoadActivityToken
  • page/Page.cpp:

(WebCore::Page::Page):

  • added m_timerThrottlingEnabled, made PageThrottler a member

(WebCore::Page::setIsVisuallyIdleInternal):

  • update animiation suspension.

(WebCore::Page::setTimerThrottlingEnabled):

  • setTimerAlignmentInterval -> setTimerThrottlingEnabled

(WebCore::Page::setViewState):

  • pass viewState to PageThrottler.

(WebCore::Page::setIsVisibleInternal):

  • don't update timer throttling.
  • page/Page.h:

(WebCore::Page::pageThrottler):

  • made PageThrottler a member.

(WebCore::Page::timerAlignmentInterval):

  • inlined.
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • initialize ViewState.

(WebCore::PageThrottler::~PageThrottler):

  • clean up by calling setTimerThrottlingEnabled directly.

(WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):

  • moved from Page.

(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):

  • from Page::createActivityToken

(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):

  • don't throttle animations here.

(WebCore::PageThrottler::setViewState):
(WebCore::PageThrottler::setIsVisible):

  • added, throttle Dom timers.
  • page/PageThrottler.h:
  • page/Settings.cpp:

(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):

  • removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
  • page/Settings.h:
    • removed setDOMTimerAlignmentInterval.
1:38 PM Changeset in webkit [163982] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/Cocoa/WKProcessClass.h:
1:37 PM Changeset in webkit [163981] by beidson@apple.com
  • 4 edits in trunk/LayoutTests

Cleanup mac/mac-wk1/mac-wk2 TestExpectations a little bit
https://bugs.webkit.org/show_bug.cgi?id=128679

Reviewed by Alexey Proskuryakov.

  • platform/mac-wk1/TestExpectations: mac-wk1 specific disables should go here.
  • platform/mac-wk2/TestExpectations: Remove unnecessary re-enabling, and simplify indexeddb/mozilla.
  • platform/mac/TestExpectations: Move some tests from here to mac-wk1.
1:37 PM Changeset in webkit [163980] by benjamin@webkit.org
  • 16 edits in trunk/Source

[WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
https://bugs.webkit.org/show_bug.cgi?id=128639

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

Source/WebCore:

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::childrenChanged):
Document::setDocType() has been removed and the doctype update code with it.
Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::didReceiveDocType):

  • page/ChromeClient.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::xhtmlMobileParameters):

  • page/ViewportConfiguration.h:

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::didReceiveMobileDocType):

Source/WebKit2:

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

(WebKit::WebChromeClient::didReceiveMobileDocType):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::didReceiveMobileDocType):

1:27 PM Changeset in webkit [163979] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Build fix. Put mac-wk1 between mac-mountainlion and mac.

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path):

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

(TestRebaselineTest.test_baseline_directory):

1:22 PM Changeset in webkit [163978] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Mountain Lion build fix.

  • WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO

is not enabled on 10.8.

1:22 PM Changeset in webkit [163977] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKProcessClass.h and WKNavigationResponse.h should be public headers
https://bugs.webkit.org/show_bug.cgi?id=128683

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
1:08 PM Changeset in webkit [163976] by ap@apple.com
  • 15 edits
    4 adds in trunk

Wrap WebCrypto keys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128680

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb.html

Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
because more custom formats would be crazy (even the custom format in SerializedScriptValue
makes me nervous, we'll certainly need to change CryptoKey in the future).

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • crypto/CommonCryptoUtilities.h:
  • crypto/SerializedCryptoKeyWrap.h: Added.
  • crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.

(WebCore::vectorFromNSData):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):

Source/WebKit/mac:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):

Source/WebKit2:

Retrieve a master key (placeholder code for now), and use it to wrap key data.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):

LayoutTests:

  • crypto/subtle/rsa-indexeddb-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
12:40 PM Changeset in webkit [163975] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

Wheel events don't latch to inner scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=128225
<rdar://problem/12183688>

Reviewed by Simon Fraser

  • WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::findScrollableContainer): New helper function to locate first node
in enclosing region of document that is capable of handling mouse wheel events.
(WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
area is at the limit we will hit based on scroll direction.
(WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
is just starting, treat end-of-scroll as unhandled so the parent element can
handle things.

  • page/EventHandler.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
on the PlatformWheelEvent class.
(WebCore::ScrollingTree::setOrClearLatchedNode): Ditto

  • platform/PlatformWheelEvent.h:

(WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
(WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrolledToTop): Added
(WebCore::ScrollableArea::scrolledToBottom):Added
(WebCore::ScrollableArea::scrolledToLeft): Added
(WebCore::ScrollableArea::scrolledToRight): Added

  • platform/ScrollableArea.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::scrolledToTop): Added
(WebCore::RenderListBox::scrolledToBottom): Added
(WebCore::RenderListBox::scrolledToLeft): Added
(WebCore::RenderListBox::scrolledToRight): Added

  • rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to

allow generic use of this type in scroll wheel logic.

12:39 PM Changeset in webkit [163974] by b.long@cablelabs.com
  • 23 edits
    3 copies
    2 adds in trunk

Implement DataCue for metadata cues
https://bugs.webkit.org/show_bug.cgi?id=128402

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-datacue.html

  • CMakeLists.txt: Add DataCue.
  • DerivedSources.cpp: Add JSDataCue.
  • DerivedSources.make: Same.
  • GNUmakefile.list.am: Add DataCue and JSDataCue.
  • WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Same.
  • WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS): Add DataCue wrapper.

  • html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().

  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".

  • html/track/TextTrack.h: Add exception code parameter to addCue().
  • html/track/TextTrack.idl: Add [RaisesException] to addCue().
  • html/track/TextTrackCue.h: Add Data CueType.

LayoutTests:

  • js/dom/global-constructors-attributes-expected.txt: Add DataCue.
  • media/track/track-datacue-expected.txt: Added.
  • media/track/track-datacue.html: Added.
  • platform/efl/js/dom/global-constructors-attributes-expected.txt: Add DataCue.
  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Same.
  • platform/win/js/dom/global-constructors-attributes-expected.txt: Same.
12:34 PM Changeset in webkit [163973] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

Subpixel layout: Clean up LayoutPoint class.
https://bugs.webkit.org/show_bug.cgi?id=128515

Reviewed by Simon Fraser.

Remove redundant functions (keep the more explicit ones).

No change in functionality.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedVisibleContentRect):

  • platform/graphics/LayoutPoint.h:

(WebCore::toLayoutPoint):
(WebCore::toLayoutSize):
(WebCore::roundedIntPoint):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsRects):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::offsetFromContainer):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addFocusRingRects):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

12:32 PM Changeset in webkit [163972] by zandobersek@gmail.com
  • 6 edits in trunk/Source

[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
https://bugs.webkit.org/show_bug.cgi?id=128473

Reviewed by Anders Carlsson.

Source/WebCore:

Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
refcount-protected.

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

(WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::syncRemoteContent):
(WebCore::CoordinatedGraphicsScene::purgeGLResources):
(WebCore::CoordinatedGraphicsScene::commitScrollOffset):
(WebCore::CoordinatedGraphicsScene::appendUpdate):
(WebCore::CoordinatedGraphicsScene::setActive):

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

Source/WebKit2:

Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
throughout the lifetime of the function wrapper.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
12:29 PM Changeset in webkit [163971] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.

Not reviewed.

  • html/HTMLMediaSession.cpp:

(WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.

  • platform/audio/MediaSession.cpp:

(WebCore::stateName): Ditto.

  • platform/audio/ios/MediaSessionManagerIOS.mm:
12:28 PM Changeset in webkit [163970] by zandobersek@gmail.com
  • 2 edits in trunk

[GDB] Add .gdbinit to the list of files ignored by Git
https://bugs.webkit.org/show_bug.cgi?id=128455

Reviewed by Anders Carlsson.

  • .gitignore: Ignore the .gdbinit file which can be used to perform WebKit-specific GDB initialization

when the debugger is launched in the repository's root directory. Also remove a Chromium-specific comment
that covers already removed entries.

12:15 PM Changeset in webkit [163969] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderNamedFlowThread should only support RenderElement children.
<https://webkit.org/b/128675>

Tighten up flow-thread rendering so that it only supports element
children directly. This means we don't have to worry about text
renderers on this code path.

Reviewed by Antti Koivisto.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):

  • style/StyleResolveTree.cpp:

(WebCore::Style::createRendererIfNeeded):

11:29 AM Changeset in webkit [163968] by beidson@apple.com
  • 5 edits
    2 adds in trunk

Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Reviewed by Alexey Proskuryakov.

Tools:

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path): When running WK1 tests on Mac,

make mac-wk1 be the frontmost search path.

LayoutTests:

  • platform/mac-wk1/TestExpectations: Added. Skip IndexedDB here.
  • platform/mac-wk2/TestExpectations: Manage all mac-wk2 IndexedDB expectations here instead of building off the default mac expectations.
  • platform/mac/TestExpectations: Don’t skip IndexedDB here.
10:57 AM Changeset in webkit [163967] by rniwa@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Windows build fix attempt after r163960.

10:50 AM Changeset in webkit [163966] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.4/Source

Versioning.

10:45 AM Changeset in webkit [163965] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.4

New Tag.

10:40 AM Changeset in webkit [163964] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Adjust VM::stackLimit based on the size of the largest FTL stack produced
https://bugs.webkit.org/show_bug.cgi?id=128562

Reviewed by Mark Lam.

Added VM::m_largestFTLStackSize to track the largest stack size of an FTL compiled
function. Added VM::m_ftlStackLimit for FTL functions stack limit. Renamed
VM::updateStackLimitWithReservedZoneSize to VM::updateReservedZoneSize. Renamed
VM::setStackLimit to VM::updateStackLimit and changed it to do the updating of the
stack limits, including taking into account m_largestFTLStackSize.

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • runtime/ErrorHandlingScope.cpp:

(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::grabAllLocks):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateFTLLargestStackSize):

  • runtime/VM.h:
10:17 AM Changeset in webkit [163963] by beidson@apple.com
  • 484 edits
    2 copies
    44 adds in trunk/LayoutTests

IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Rubberstamped by Jer Noble.

Take two.

When I did this last night in r163923 the Mozilla tests outputted different results
because one of the logging functions they made had become more verbose.

This time we include the new test expectations for those tests, and update them to
reflect the different exception message outputted in WebKit vs Blink.

  • resources/js-test.js: Added.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Added.
  • storage/indexeddb/closed-cursor.html: Added.
  • storage/indexeddb/connection-leak-expected.txt: Added.
  • storage/indexeddb/connection-leak.html: Added.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Added.
  • storage/indexeddb/cursor-basics.html: Added.
  • storage/indexeddb/cursor-cast-expected.txt: Added.
  • storage/indexeddb/cursor-cast.html: Added.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
  • storage/indexeddb/cursor-continueprimarykey.html: Added.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt:
  • storage/indexeddb/cursor-leak.html: Added.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Added.
  • storage/indexeddb/cursor-request-cycle.html: Added.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Added.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Added.
  • storage/indexeddb/key-type-binary.html: Added.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Added.
  • storage/indexeddb/metadata-race.html: Added.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mozilla/add-twice-failure.html:
  • storage/indexeddb/mozilla/autoincrement-indexes.html:
  • storage/indexeddb/mozilla/bad-keypath-expected.txt:
  • storage/indexeddb/mozilla/bad-keypath.html:
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/clear.html:
  • storage/indexeddb/mozilla/create-index-unique.html:
  • storage/indexeddb/mozilla/create-index-with-integer-keys.html:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics.html:
  • storage/indexeddb/mozilla/create-objectstore-null-name.html:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html:
  • storage/indexeddb/mozilla/cursor-mutation.html:
  • storage/indexeddb/mozilla/cursor-update-updates-indexes.html:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/cursors.html:
  • storage/indexeddb/mozilla/delete-result.html:
  • storage/indexeddb/mozilla/event-source.html:
  • storage/indexeddb/mozilla/global-data.html:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes.html:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key.html:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed.html:
  • storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-no-key.html:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key.html:
  • storage/indexeddb/mozilla/key-requirements.html:
  • storage/indexeddb/mozilla/object-cursors.html:
  • storage/indexeddb/mozilla/object-identity.html:
  • storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html:
  • storage/indexeddb/mozilla/object-store-remove-values.html:
  • storage/indexeddb/mozilla/objectstorenames.html:
  • storage/indexeddb/mozilla/odd-result-order.html:
  • storage/indexeddb/mozilla/open-database-null-name.html:
  • storage/indexeddb/mozilla/put-get-values.html:
  • storage/indexeddb/mozilla/readonly-transactions-expected.txt:
  • storage/indexeddb/mozilla/readonly-transactions.html:
  • storage/indexeddb/mozilla/readwrite-transactions.html:
  • storage/indexeddb/mozilla/readyState.html:
  • storage/indexeddb/mozilla/remove-index.html:
  • storage/indexeddb/mozilla/remove-objectstore.html:
  • storage/indexeddb/mozilla/resources/add-twice-failure.js:
  • storage/indexeddb/mozilla/resources/autoincrement-indexes.js:
  • storage/indexeddb/mozilla/resources/bad-keypath.js:
  • storage/indexeddb/mozilla/resources/clear.js:
  • storage/indexeddb/mozilla/resources/create-index-unique.js:
  • storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js:
  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:
  • storage/indexeddb/mozilla/resources/create-objectstore-null-name.js:
  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:
  • storage/indexeddb/mozilla/resources/cursor-mutation.js:
  • storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/delete-result.js:
  • storage/indexeddb/mozilla/resources/event-source.js:
  • storage/indexeddb/mozilla/resources/global-data.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js:
  • storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:
  • storage/indexeddb/mozilla/resources/key-requirements.js:
  • storage/indexeddb/mozilla/resources/object-cursors.js:
  • storage/indexeddb/mozilla/resources/object-identity.js:
  • storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js:
  • storage/indexeddb/mozilla/resources/object-store-remove-values.js:
  • storage/indexeddb/mozilla/resources/objectstorenames.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:
  • storage/indexeddb/mozilla/resources/open-database-null-name.js:
  • storage/indexeddb/mozilla/resources/put-get-values.js:
  • storage/indexeddb/mozilla/resources/readonly-transactions.js:
  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:
  • storage/indexeddb/mozilla/resources/readyState.js:
  • storage/indexeddb/mozilla/resources/remove-index.js:
  • storage/indexeddb/mozilla/resources/remove-objectstore.js:
  • storage/indexeddb/mozilla/resources/versionchange-abort.js:
  • storage/indexeddb/mozilla/versionchange-abort.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Added.
  • storage/indexeddb/objectstore-keycursor.html: Added.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Added.
  • storage/indexeddb/optional-arguments.html: Added.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Added.
  • storage/indexeddb/prefetch-invalidation.html: Added.
  • storage/indexeddb/prefetch-race-expected.txt: Added.
  • storage/indexeddb/prefetch-race.html: Added.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Added.
  • storage/indexeddb/request-leak.html: Added.
  • storage/indexeddb/request-result-cache-expected.txt: Added.
  • storage/indexeddb/request-result-cache.html: Added.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:
  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Added.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:
  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:
  • storage/indexeddb/resources/database-wrapper.js:
  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:
  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:
  • storage/indexeddb/resources/exception-in-event-aborts.js:
  • storage/indexeddb/resources/exceptions.js:
  • storage/indexeddb/resources/factory-basics.js:
  • storage/indexeddb/resources/factory-cmp.js:
  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:
  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:
  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:
  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Added.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:
  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:
  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Added.
  • storage/indexeddb/transaction-ordering.html: Added.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
10:15 AM Changeset in webkit [163962] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Modernize missed inspector files
https://bugs.webkit.org/show_bug.cgi?id=128661

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-12
Reviewed by Anders Carlsson.

Add final, override, and use nullptr where appropriate.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::discardAgent):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

  • inspector/InspectorFrontendClientLocal.h:
9:57 AM Changeset in webkit [163961] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128659

Reviewed by Anders Carlsson.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN) around use of Mach-based IPC.
Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.

  • NetworkProcess/NetworkProcess.cpp: Ditto.

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

  • NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)

(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.
9:14 AM Changeset in webkit [163960] by oliver@apple.com
  • 62 edits
    2 copies
    6 adds in trunk

Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

  • GNUmakefile.am:
  • Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory. This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:

  • Each function is compiled independently of the others, and those implementations cannot currently capture all global properties (as that could be potentially unsafe). If a function does capture a global we will deliberately crash.
  • For those "global" properties that we do want access to, we use the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers are private names, and behave just like regular properties, only without the risk of adulteration. Again, in the @Object case, we explicitly duplicate the ObjectConstructor reference on the GlobalObject so that we have guaranteed access to the original version of the constructor.
  • call, apply, eval, and Function are all rejected identifiers, again to prevent anything from accidentally using an adulterated object. Instead @call and @apply are available, and happily they completely drop the neq_ptr instruction as they're defined as always being the original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

(every):

  • builtins/BuiltinExecutables.cpp: Added.

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • builtins/BuiltinExecutables.h:

(JSC::BuiltinExecutables::create):

  • builtins/BuiltinNames.h: Added.

(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::getPrivateName):
(JSC::BuiltinNames::getPublicName):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • create_hash_table:
  • generate-js-builtins: Added.

(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeFunctionCallNode):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::Lexer):
(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:

(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):

  • parser/Nodes.cpp:

(JSC::ProgramNode::setClosedVariables):

  • parser/Nodes.h:

(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):

  • parser/ParserModes.h:
  • parser/ParserTokens.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::~CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):

  • runtime/CommonIdentifiers.h:

(JSC::CommonIdentifiers::builtinNames):

  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):

  • runtime/Executable.h:

(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSFunction.h:
  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):
(JSC::isHostFunction):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):

  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):

  • runtime/JSObject.h:
  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NativeErrorConstructor.h:
  • runtime/PropertySlot.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::builtinExecutables):

Tools:

CMake updates

  • DumpRenderTree/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

  • js/array-every-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/regress/array-prototype-every-expected.txt: Added.
  • js/regress/array-prototype-every.html: Added.
  • js/regress/script-tests/array-prototype-every.js: Added.

(test1):
(test2):
(test3):

9:10 AM Changeset in webkit [163959] by Brent Fulgham
  • 18 edits in trunk/Source

Remove some unintended copies in ranged for loops
https://bugs.webkit.org/show_bug.cgi?id=128644

Reviewed by Anders Carlsson.

../JavaScriptCore:

  • inspector/InjectedScriptHost.cpp:

(Inspector::InjectedScriptHost::clearAllWrappers): Avoid creating/destroying
a std::pair<> and pointer each loop iteration.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser): Avoid copying object containing a string
each loop iteration.

../WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
RefPtrs in loop.

../WebKit2:

  • Shared/WebCrossThreadCopier.cpp:

(WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
vectors,

  • Shared/mac/RemoteLayerBackingStore.mm:

(RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
on each iteration.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
a LayerProperty object each iteration.

  • UIProcess/GeolocationPermissionRequestManagerProxy.cpp:

(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
copying a pair<int64_t, pointer> each iteration.

  • UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:

(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
RefPtr each loop iteration.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
object each cycle.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.

  • UIProcess/mac/WindowServerConnection.mm:

(WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
of occlusionNotificationHandlers each iteration.

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
iteration.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
RefPtr each loop iteration.

6:58 AM Changeset in webkit [163958] by rakuco@webkit.org
  • 17 edits in trunk

Update the HTML Media Capture implementation.
https://bugs.webkit.org/show_bug.cgi?id=118465

Reviewed by Darin Adler.

Make the implementation in WebKit compatible with the 2013-05-09
version of the spec, which makes the "capture" attribute a boolean
instead of an enum.

Source/WebCore:

Covered by fast/forms/file/file-input-capture.html.

  • html/FileInputType.cpp:

(WebCore::FileInputType::handleDOMActivateEvent):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
(WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl: Turn the `capture' attribute into a

reflective boolean instead of a DOMString.

  • platform/FileChooser.h:

Source/WebKit/efl:

  • ewk/ewk_file_chooser.cpp:

(ewk_file_chooser_capture_get): Return an Eina_Bool now.

  • ewk/ewk_file_chooser.h: Get rid of Ewk_File_Chooser_Capture_Type.

Source/WebKit2:

  • Shared/WebOpenPanelParameters.cpp:

(WebKit::WebOpenPanelParameters::capture): Return a bool.

  • Shared/WebOpenPanelParameters.h: Ditto.
  • UIProcess/API/C/WKOpenPanelParameters.cpp:

(WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
incompatible with the current version of the spec.
(WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.

  • UIProcess/API/C/WKOpenPanelParameters.h:

LayoutTests:

  • fast/forms/file/file-input-capture-expected.txt:
  • fast/forms/file/file-input-capture.html:
5:31 AM Changeset in webkit [163957] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Remove unused method in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=128373

Reviewed by Mihnea Ovidenie.

After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
RenderFlowThread::computeRegionClippingRect method is obsolete.

No new tests needed, this patch only removes an unused method.

  • rendering/RenderFlowThread.cpp:
  • rendering/RenderFlowThread.h:
5:21 AM Changeset in webkit [163956] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Fails to build if configure is run with its absolute path
https://bugs.webkit.org/show_bug.cgi?id=126693

Reviewed by Gustavo Noronha Silva.

When creating links to the WebKit2 headers in the source tree
don't expect $(WebKit2) to be a relative path.

  • GNUmakefile.am:
4:40 AM Changeset in webkit [163955] by commit-queue@webkit.org
  • 15 edits
    1 copy
    2 moves
    7 adds
    2 deletes in trunk

[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
https://bugs.webkit.org/show_bug.cgi?id=99119

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-12
Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for -webkit-blend-mode with Core Graphics.
The layer promotion code that forced compositing when blending was detected has been removed.
Remaining work for the software path is to detect and implement isolation of the blending operation:
as stated in the spec, blending should be limited to the parent stacking context.

Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html

css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
css3/compositing/blend-mode-simple-composited.html
css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.

  • rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
  • rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.

(WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.

  • rendering/RenderLayerCompositor.h:
  • Remove the requiresCompositingForBlending method
  • Remove the CompositingReasonBlending from the CompositingReasons enum.

LayoutTests:

  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt: Copied from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html: Test if having an overlapping composited sibling forces compositing of a blended element.
  • css3/compositing/blend-mode-layers.html: Update to test both the software and the hardware path.
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt: Renamed from LayoutTests/css3/compositing/should-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html: Test if the parent of an accelerated element with -webkit-blend-mode is promoted.
  • css3/compositing/blend-mode-reflection.html: Update to test both the software and the hardware path.
  • css3/compositing/blend-mode-should-not-have-compositing-layer.html: Removed.
  • css3/compositing/blend-mode-simple-composited.html: Test all the blend modes for the hardware path.
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt: Renamed from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html: Test to ensure that an element with -webkit-blend-mode and a composited descendant is also accelerated.
  • css3/compositing/should-have-compositing-layer.html: Removed.
  • platform/mac/css3/compositing/blend-mode-layers-expected.png:
  • platform/mac/css3/compositing/blend-mode-layers-expected.txt:
  • platform/mac/css3/compositing/blend-mode-overflow-expected.png:
  • platform/mac/css3/compositing/blend-mode-overflow-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-reflection-expected.png:
  • platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.png: Added.
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt: Added.
  • platform/mac/css3/compositing/blend-mode-simple-expected.png:
4:17 AM Changeset in webkit [163954] by berto@igalia.com
  • 2 edits in trunk

'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
4:13 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:13 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:40 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
3:40 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:27 AM Changeset in webkit [163953] by Michał Pakuła vel Rutka
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gatdening

Add test expectations for failing tests.

  • platform/efl/TestExpectations:
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.png: Rebaseline after r163475.
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.txt: Ditto.

Feb 11, 2014:

11:59 PM Changeset in webkit [163952] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Undo an accidental change.

  • platform/mac/TestExpectations:
11:06 PM Changeset in webkit [163951] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r163262?): transitions/shorthand-border-transitions.html flakily asserts
https://bugs.webkit.org/show_bug.cgi?id=128283

  • platform/mac/TestExpectations: Updated the expectation to match failure mode.
10:40 PM Changeset in webkit [163950] by fpizlo@apple.com
  • 2 edits in trunk/Source/WebKit2

JIT should be enabled (regression from addition of JIT enabled setting)
https://bugs.webkit.org/show_bug.cgi?id=128653

Reviewed by Tim Horton.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::registerUserDefaultsIfNeeded):

10:03 PM Changeset in webkit [163949] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

More Windows test rebaselines.

  • platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
9:54 PM Changeset in webkit [163948] by rniwa@webkit.org
  • 4 edits in trunk/Source

Source/JavaScriptCore: Debug build fix after r163946.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):

Source/WebKit2: Remove one of includes added in r163943 and r163939.

  • WebProcess/WebPage/WebPage.h:
9:45 PM Changeset in webkit [163947] by mitz@apple.com
  • 2 edits
    1 delete in trunk/Source/WebKit2

<rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
https://bugs.webkit.org/show_bug.cgi?id=128650

Reviewed by Mark Rowe.

  • Configurations/All-iOS.xcconfig: Removed this unused file.
  • Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that

its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
(wrong) install location.

9:42 PM Changeset in webkit [163946] by fpizlo@apple.com
  • 40 edits
    1 add in trunk/Source/JavaScriptCore

Inserting a node with a codeOrigin "like" another node should copy both the codeOrigin and codeOriginForExitTarget
https://bugs.webkit.org/show_bug.cgi?id=128635

Reviewed by Michael Saboff.

Originally nodes just had a codeOrigin. But then we started doing code motion, and we
needed to separate the codeOrigin that designated where to exit from the codeOrigin
that designated everything else. The "everything else" is actually pretty important:
it includes profiling, exception handling, and the actual semantics of the node. For
example some nodes use the origin's global object in some way.

This all sort of worked except for one quirk: the facilities for creating nodes all
assumed that there really was only one origin. LICM would work around this by setting
the codeOriginForExitTarget manually. But, that means that:

  • If we did hoist a node twice, then the second time around, we would forget the node's original exit target.


  • If we did an insertNode() to insert a node before a hoisted node, the inserted node would have the wrong exit target.


Most of the time, if we copy the code origin, we actually want to copy both origins.
So, this patch introduces the notion of a NodeOrigin which has two CodeOrigins: a
forExit code origin that says where to exit, and a semantic code origin for everything
else.

This also (annoyingly?) means that we are always more explicit about which code origin
we refer to. That means that a lot of "node->codeOrigin" expressions had to change to
"node->origin.semantic". This was partly a ploy on my part to ensure that this
refactoring was complete: to get the code to compile I really had to audit all uses of
CodeOrigin. If, in the future, we find that "node->origin.semantic" is too cumbersome
then we can reintroduce the Node::codeOrigin field. For now I kinda like it though.

  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::ArrayMode::alreadyChecked):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addToGraph):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::jettisonBlock):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::addPhiSilently):
(JSC::DFG::CPSRethreadingPhase::addPhi):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
(JSC::DFG::CPSRethreadingPhase::propagatePhis):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setLocalStoreElimination):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::notifyCompilingStructureTransition):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGCriticalEdgeBreakingPhase.cpp:

(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::fixupBlock):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::createDumpList):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::createToString):
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::convertStringAddUse):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToString):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteOffset):
(JSC::DFG::FixupPhase::addPhantomsIfNecessary):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::hasExitSite):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • dfg/DFGInvalidationPointInjectionPhase.cpp:

(JSC::DFG::InvalidationPointInjectionPhase::handle):
(JSC::DFG::InvalidationPointInjectionPhase::insertInvalidationCheck):

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::isStronglyProvedConstantIn):

  • dfg/DFGNodeOrigin.h: Added.

(JSC::DFG::NodeOrigin::NodeOrigin):
(JSC::DFG::NodeOrigin::isSet):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGResurrectionForValidationPhase.cpp:

(JSC::DFG::ResurrectionForValidationPhase::run):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSSALoweringPhase.cpp:

(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallWithCallFrameRollbackOnException):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCall):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::prepareToFoldTypedArray):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateSSA):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):
(JSC::DFG::WatchpointCollectionPhase::handleEdge):
(JSC::DFG::WatchpointCollectionPhase::handleMasqueradesAsUndefined):
(JSC::DFG::WatchpointCollectionPhase::globalObject):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::link):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayBuffer):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileGetMyScope):
(JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated):
(JSC::FTL::LowerDFGToLLVM::getById):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructure):
(JSC::FTL::LowerDFGToLLVM::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::FTL::LowerDFGToLLVM::callPreflight):

9:15 PM Changeset in webkit [163945] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

transitions/shorthand-border-transitions.html became flaky. Skip it for now.

  • platform/mac/TestExpectations:
8:50 PM Changeset in webkit [163944] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
repaint on device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=128477

Reviewed by Simon Fraser.

RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
repaints on integral position.

No change in functionality.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloats):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintAfterLayoutIfNeeded):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::clearRepaintRects):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):

  • rendering/RenderObject.h:
8:45 PM Changeset in webkit [163943] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

EFL build fix after r163919.

  • WebProcess/WebPage/WebPage.h:
8:42 PM Changeset in webkit [163942] by rniwa@webkit.org
  • 26 edits
    3 adds in trunk/LayoutTests

Windows rebaselines.

  • platform/win/css1/box_properties/margin_right-expected.txt:
  • platform/win/css1/box_properties/padding-expected.txt:
  • platform/win/css1/box_properties/padding_left-expected.txt:
  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/win/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
  • platform/win/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
  • platform/win/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
  • platform/win/fast/css/empty-pseudo-class-expected.txt:
  • platform/win/fast/css/first-child-pseudo-class-expected.txt:
  • platform/win/fast/css/last-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:
  • platform/win/fast/repaint/reflection-redraw-expected.txt:
  • platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
  • platform/win/fast/table/multiple-captions-display-expected.txt:
  • platform/win/js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt:
  • platform/win/mathml: Added.
  • platform/win/mathml/presentation: Added.
  • platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
  • platform/win/tables/mozilla/marvin/body_col-expected.txt:
  • platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/win/tables/mozilla/other/body_col-expected.txt:
8:37 PM Changeset in webkit [163941] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix fix.

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

8:36 PM Changeset in webkit [163940] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

8:25 PM Changeset in webkit [163939] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r163919

WKGestureTypes.h needs PLATFORM(IOS) guard.

  • WebProcess/WebPage/WebPage.h:
8:24 PM Changeset in webkit [163938] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=128648

Reviewed by Mark Lam.

I did CompareEq(Object:, ObjectOrOther:) correctly but the flipped version wrong.
That's what I get for running tests in release mode. It's hard to write a test for
the incorrect codegen; that's kind of why the assertions are there.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEq):

8:13 PM Changeset in webkit [163937] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, trivial change to silence FTL assertions

Normally, lowJSValue() should only be used for UntypedUse only. Here we are using it
on ObjectOrOtherUse because we execute the speculation ourselves. The way you're
supposed to do this is by passing ManualOperandSpeculation to tell lowJSValue() not
to assert.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):

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

ContentData equals() methods are not inline-able <http://webkit.org/b/128538>

Reviewed by Darin Adler.

Get rid of pure virtual equals() method in favor of
ContentData::Type enum for runtime type information.
This also lets us devirtualize the isFoo() methods.

  • rendering/style/ContentData.h:

(WebCore::ContentData::type): Add.
(WebCore::ContentData::isCounter): Devirtualize.
(WebCore::ContentData::isImage): Devirtualize.
(WebCore::ContentData::isQuote): Devirtualize.
(WebCore::ContentData::isText): Devirtualize.
(WebCore::ContentData::ContentData): Add. Include
ContentData::Type parameter.
(WebCore::operator==): Add overloaded methods for each subclass.
Stop using pure virtual equals() method, check type(), and use
overloaded subclass operator==() methods.
(WebCore::operator!=): Add overloaded methods for each subclass.

8:06 PM Changeset in webkit [163935] by fpizlo@apple.com
  • 2 edits in trunk/Tools

It should be possible to force copy-webkitlibraries-blahblah to copy things regardless of timestamp
https://bugs.webkit.org/show_bug.cgi?id=128646

Reviewed by Mark Rowe.

  • Scripts/copy-webkitlibraries-to-product-directory:

(unpackIfNecessary):
(dittoHeaders):

7:53 PM Changeset in webkit [163934] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Protect some RenderFlowThread functions.
<https://webkit.org/b/128642>

Make the RenderFlowThread constructor protected and a handful of
member functions private.

Reviewed by Anders Carlsson.

  • rendering/RenderFlowThread.h:
7:51 PM Changeset in webkit [163933] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Don't allocate RenderNamedFlowThread's child list separately.
<https://webkit.org/b/128640>

Since we always create the flow-thread child list, there's no reason
to put it in a separate heap allocation. Also remove the typedef and
use auto instead.

Reviewed by Anders Carlsson.

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):

  • rendering/RenderNamedFlowThread.h:
7:45 PM Changeset in webkit [163932] by commit-queue@webkit.org
  • 404 edits
    46 deletes in trunk/LayoutTests

Unreviewed, rolling out r163923.
http://trac.webkit.org/changeset/163923
https://bugs.webkit.org/show_bug.cgi?id=128645

"Mozilla tests shouldn't have changed, but did. Rollout for
now" (Requested by bradeeoh on #webkit).

  • resources/js-test.js: Removed.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Removed.
  • storage/indexeddb/closed-cursor.html: Removed.
  • storage/indexeddb/connection-leak-expected.txt: Removed.
  • storage/indexeddb/connection-leak.html: Removed.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Removed.
  • storage/indexeddb/cursor-basics.html: Removed.
  • storage/indexeddb/cursor-cast-expected.txt: Removed.
  • storage/indexeddb/cursor-cast.html: Removed.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Removed.
  • storage/indexeddb/cursor-continueprimarykey.html: Removed.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt: Removed.
  • storage/indexeddb/cursor-leak.html: Removed.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Removed.
  • storage/indexeddb/cursor-request-cycle.html: Removed.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Removed.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Removed.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Removed.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Removed.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Removed.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Removed.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Removed.
  • storage/indexeddb/key-type-binary.html: Removed.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Removed.
  • storage/indexeddb/metadata-race.html: Removed.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Removed.
  • storage/indexeddb/objectstore-keycursor.html: Removed.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Removed.
  • storage/indexeddb/optional-arguments.html: Removed.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Removed.
  • storage/indexeddb/prefetch-invalidation.html: Removed.
  • storage/indexeddb/prefetch-race-expected.txt: Removed.
  • storage/indexeddb/prefetch-race.html: Removed.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Removed.
  • storage/indexeddb/request-leak.html: Removed.
  • storage/indexeddb/request-result-cache-expected.txt: Removed.
  • storage/indexeddb/request-result-cache.html: Removed.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:

(test):
(openCallback):

  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Removed.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Removed.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:

(prepareDatabase):

  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:

(logError):

  • storage/indexeddb/resources/database-wrapper.js:

(onBlocked):

  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:

(deleteSuccessCallback):

  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:

(prepareDatabase):

  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:

(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onsuccess):

  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:

(test):

  • storage/indexeddb/resources/exception-in-event-aborts.js:

(causeException):

  • storage/indexeddb/resources/exceptions.js:

(testObjectStore):

  • storage/indexeddb/resources/factory-basics.js:

(test):
(getDatabaseNamesSuccess1):
(getDatabaseNamesSuccess2):

  • storage/indexeddb/resources/factory-cmp.js:

(testValidKeys):

  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:

(prepareDatabase):

  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:

(connection2UpgradeNeeded):
(connection2Success):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):

  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Removed.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Removed.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Removed.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:

(connection2BlockedCallback):
(errorWhenTryingLowVersion):

  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Removed.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:

(prepareDatabase):

  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js: Removed.
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:

(unexpectedErrorCallback):
(unexpectedAbortCallback):
(evalAndExpectException):

  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:

(testErrorFromRequest.trans.onabort):
(testErrorFromRequest):
(testErrorFromException.trans.onabort):
(testErrorFromException):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded.trans.onabort):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded):
(testErrorFromCommit.trans.oncomplete):
(testErrorFromCommit):

  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:

(onUpgradeNeeded):

  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Removed.
  • storage/indexeddb/transaction-ordering.html: Removed.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
7:28 PM Changeset in webkit [163931] by Alan Bujtas
  • 22 edits in trunk/Source

Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
https://bugs.webkit.org/show_bug.cgi?id=128460

Reviewed by Simon Fraser.

GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
subpixel position.

No change in functionality.

Source/WebCore:

  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::paintContents):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.h:
  • rendering/RenderLayer.cpp:

(WebCore::cornerRect):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::scrollCornerAndResizerRect):
(WebCore::RenderLayer::verticalScrollbarStart):
(WebCore::RenderLayer::horizontalScrollbarStart):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):

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

(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):

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

(WebCore::RenderLayerCompositor::paintContents):

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

(WebCore::RenderWidget::paint):

Source/WebKit/gtk:

  • WebCoreSupport/AcceleratedCompositingContext.h:
  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:

(WebKit::AcceleratedCompositingContext::paintContents):

Source/WebKit/win:

  • WebView.cpp:

(WebView::paintContents):

  • WebView.h:

Source/WebKit2:

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::paintContents):

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

(WebKit::RemoteLayerTreeDrawingArea::paintContents):

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

(WebKit::TiledCoreAnimationDrawingArea::paintContents):

7:23 PM Changeset in webkit [163930] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

[WebKit2, JSC] Add user default to disable the JIT
https://bugs.webkit.org/show_bug.cgi?id=128643

Reviewed by Filip Pizlo.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

7:16 PM Changeset in webkit [163929] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Use LLVM's dead store elimination
https://bugs.webkit.org/show_bug.cgi?id=128638

Reviewed by Mark Hahnenberg.

DFG's store elimination was being run too soon for comfort on the FTL path. It's
really only sound when run after all other optimizations. Remove it from the FTL
path.

Enable LLVM store elimination. It's both easier to reason about and more
comprehensive.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

6:55 PM Changeset in webkit [163928] by Antti Koivisto
  • 16 edits
    2 adds in trunk

GIF animations should be suspended when outside of viewport
https://bugs.webkit.org/show_bug.cgi?id=128632

Source/WebCore:

Reviewed by Andreas Kling.

Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.

Pause animations when they are outside the viewport by not painting them.

Test: fast/repaint/no-animation-outside-viewport.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::animationAdvanced):

Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.

  • loader/cache/CachedImage.h:


Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.

  • loader/cache/CachedImageClient.h:

(WebCore::CachedImageClient::newImageAnimationFrameAvailable):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollPositionChanged):

Check if we have image animations to resume when scroll position changes.

  • page/Page.cpp:

(WebCore::Page::resumeAnimatingImages):

Use the same mechanism when resuming background tabs etc.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::internalAdvanceAnimation):

Remove the shouldPauseAnimation test, always rely on pausing on invalidation.

  • platform/graphics/ImageObserver.h:
  • rendering/RenderBoxModelObject.cpp:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::~RenderElement):
(WebCore::shouldRepaintForImageAnimation):

Factor the pausing conditions to a function. Test that the animation is withing the
visible rect.

(WebCore::RenderElement::newImageAnimationFrameAvailable):

Add renderer to the paused animation set if we don't continue the animation.

(WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):

Resume the paused animations by triggering repaint.

  • rendering/RenderElement.h:

(WebCore::RenderElement::setHasPausedImageAnimations):
(WebCore::RenderElement::hasPausedImageAnimations):

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

(WebCore::RenderView::addRendererWithPausedImageAnimations):
(WebCore::RenderView::removeRendererWithPausedImageAnimations):
(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):

  • rendering/RenderView.h:

LayoutTests:

Reviewed by Andreas Kling.

  • fast/repaint/no-animation-outside-viewport-expected.txt: Added.
  • fast/repaint/no-animation-outside-viewport.html: Added.
6:52 PM Changeset in webkit [163927] by BJ Burg
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: DOMStorageView should listen for events from DOMStorageObject
https://bugs.webkit.org/show_bug.cgi?id=128620

Reviewed by Timothy Hatcher.

The storage manager used to have a map of DOMStorageViews and delivered events
directly to them. Instead, the DOMStorageObserver should use the manager to
find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
learns about storage updates from DOMStorageObject events.

  • UserInterface/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView): Add event listeners.
(WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
(WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
(WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
Use for..of when iterating over nodes.

  • UserInterface/DOMStorageObject.js:

(WebInspector.DOMStorageObject.prototype.removeItem): Moved.
(WebInspector.DOMStorageObject.prototype.setItem): Moved.
(WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
(WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
(WebInspector.DOMStorageObject.prototype.itemAdded): Added.
(WebInspector.DOMStorageObject.prototype.itemUpdated): Added.

  • UserInterface/DOMStorageObserver.js: Look up and notify the associated model.

(WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
(WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
(WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
(WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):

  • UserInterface/StorageManager.js: Remove view lookup code. Remove

direct calls to DOMStorageViews.
(WebInspector.StorageManager.prototype.itemsCleared):
(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):
(WebInspector.StorageManager.prototype.domStorageWasUpdated):
(WebInspector.StorageManager.prototype.inspectDOMStorage):
(WebInspector.StorageManager.prototype._domStorageForIdentifier):
(WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
(WebInspector.StorageManager.prototype._databaseForIdentifier):

6:03 PM Changeset in webkit [163926] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merge r161925.

6:01 PM Changeset in webkit [163925] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused RenderNamedFlowThread::previousRendererForNode().
<https://webkit.org/b/128637>

Reviewed by Antti Koivisto.

  • rendering/RenderNamedFlowThread.cpp:
  • rendering/RenderNamedFlowThread.h:
5:57 PM Changeset in webkit [163924] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add failing test expectations to asynchronous spellchecking tests.

  • platform/win/TestExpectations:
5:56 PM Changeset in webkit [163923] by beidson@apple.com
  • 404 edits
    2 copies
    44 adds in trunk/LayoutTests

IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Reviewed by Tim Horton.

  • resources/js-test.js: Added.
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes.html:
  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-shared-workers.html:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/basics-workers.html:
  • storage/indexeddb/basics.html:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor-expected.txt: Added.
  • storage/indexeddb/closed-cursor.html: Added.
  • storage/indexeddb/connection-leak-expected.txt: Added.
  • storage/indexeddb/connection-leak.html: Added.
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-and-remove-object-store.html:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options.html:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createIndex-after-failure.html:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required.html:
  • storage/indexeddb/createObjectStore-null-name.html:
  • storage/indexeddb/cursor-added-bug.html:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-advance-workers-expected.txt:
  • storage/indexeddb/cursor-advance-workers.html:
  • storage/indexeddb/cursor-advance.html:
  • storage/indexeddb/cursor-basics-expected.txt: Added.
  • storage/indexeddb/cursor-basics.html: Added.
  • storage/indexeddb/cursor-cast-expected.txt: Added.
  • storage/indexeddb/cursor-cast.html: Added.
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-dir.html:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-continue-validity.html:
  • storage/indexeddb/cursor-continue.html:
  • storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
  • storage/indexeddb/cursor-continueprimarykey.html: Added.
  • storage/indexeddb/cursor-delete.html:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-finished.html:
  • storage/indexeddb/cursor-inconsistency.html:
  • storage/indexeddb/cursor-index-delete.html:
  • storage/indexeddb/cursor-key-order.html:
  • storage/indexeddb/cursor-leak-expected.txt:
  • storage/indexeddb/cursor-leak.html: Added.
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-prev-no-duplicate.html:
  • storage/indexeddb/cursor-primary-key-order.html:
  • storage/indexeddb/cursor-properties.html:
  • storage/indexeddb/cursor-request-cycle-expected.txt: Added.
  • storage/indexeddb/cursor-request-cycle.html: Added.
  • storage/indexeddb/cursor-reverse-bug.html:
  • storage/indexeddb/cursor-skip-deleted.html:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required.html:
  • storage/indexeddb/cursor-update.html:
  • storage/indexeddb/cursor-value.html:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/data-corruption.html:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-basics.html:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-close.html:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-closepending-flag.html:
  • storage/indexeddb/database-deletepending-flag.html:
  • storage/indexeddb/database-name-undefined-expected.txt:
  • storage/indexeddb/database-name-undefined.html:
  • storage/indexeddb/database-odd-names.html:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/database-wrapper.html:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-closed-database-object.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
  • storage/indexeddb/delete-range.html:
  • storage/indexeddb/deleteIndex-bug110792-expected.txt:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteIndex.html:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required.html:
  • storage/indexeddb/deleteObjectStore-null-name.html:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deleted-objects.html:
  • storage/indexeddb/deletedatabase-blocked.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
  • storage/indexeddb/deletedatabase-not-blocked.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/dont-wedge.html:
  • storage/indexeddb/duplicates.html:
  • storage/indexeddb/error-causes-abort-by-default.html:
  • storage/indexeddb/events-expected.txt:
  • storage/indexeddb/events.html:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exception-in-event-aborts.html:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/exceptions.html:
  • storage/indexeddb/factory-basics-expected.txt:
  • storage/indexeddb/factory-basics-workers-expected.txt:
  • storage/indexeddb/factory-basics-workers.html:
  • storage/indexeddb/factory-basics.html:
  • storage/indexeddb/factory-cmp-expected.txt:
  • storage/indexeddb/factory-cmp.html:
  • storage/indexeddb/factory-deletedatabase.html:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/get-keyrange.html:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-basics-workers-expected.txt:
  • storage/indexeddb/index-basics-workers.html:
  • storage/indexeddb/index-basics.html:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-count.html:
  • storage/indexeddb/index-cursor.html:
  • storage/indexeddb/index-duplicate-keypaths.html:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-get-key-argument-required.html:
  • storage/indexeddb/index-multientry.html:
  • storage/indexeddb/index-population.html:
  • storage/indexeddb/index-unique.html:
  • storage/indexeddb/interfaces.html:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-bad-parameters.html:
  • storage/indexeddb/intversion-blocked.html:
  • storage/indexeddb/intversion-close-between-events.html:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete.html:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded.html:
  • storage/indexeddb/intversion-encoding.html:
  • storage/indexeddb/intversion-gated-on-delete.html:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue.html:
  • storage/indexeddb/intversion-omit-parameter.html:
  • storage/indexeddb/intversion-open-in-upgradeneeded.html:
  • storage/indexeddb/intversion-open-with-version.html:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-same.html: Added.
  • storage/indexeddb/intversion-persistence.html:
  • storage/indexeddb/intversion-revert-on-abort.html:
  • storage/indexeddb/intversion-two-opens-no-versions.html:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/intversion-upgrades.html:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/invalid-keys.html:
  • storage/indexeddb/key-generator.html:
  • storage/indexeddb/key-sort-order-across-types.html:
  • storage/indexeddb/key-sort-order-date.html:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-array.html:
  • storage/indexeddb/key-type-binary-expected.txt: Added.
  • storage/indexeddb/key-type-binary.html: Added.
  • storage/indexeddb/key-type-infinity.html:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-arrays.html:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-basics.html:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-edges.html:
  • storage/indexeddb/keypath-fetch-key.html:
  • storage/indexeddb/keypath-intrinsic-properties.html:
  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-required-arguments-expected.txt:
  • storage/indexeddb/keyrange-required-arguments.html:
  • storage/indexeddb/keyrange.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/lazy-index-types.html:
  • storage/indexeddb/legacy-constants.html:
  • storage/indexeddb/list-ordering.html:
  • storage/indexeddb/metadata-race-expected.txt: Added.
  • storage/indexeddb/metadata-race.html: Added.
  • storage/indexeddb/metadata.html:
  • storage/indexeddb/mutating-cursor.html:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectStore-required-arguments.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-autoincrement.html:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-basics-workers.html:
  • storage/indexeddb/objectstore-basics.html:
  • storage/indexeddb/objectstore-clear.html:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-count.html:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-cursor.html:
  • storage/indexeddb/objectstore-keycursor-expected.txt: Added.
  • storage/indexeddb/objectstore-keycursor.html: Added.
  • storage/indexeddb/objectstore-removeobjectstore.html:
  • storage/indexeddb/odd-strings.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-cursor.html:
  • storage/indexeddb/open-during-transaction.html:
  • storage/indexeddb/open-ordering.html:
  • storage/indexeddb/open-twice-workers.html:
  • storage/indexeddb/opencursor-key.html:
  • storage/indexeddb/optional-arguments-expected.txt: Added.
  • storage/indexeddb/optional-arguments.html: Added.
  • storage/indexeddb/pending-activity-workers.html:
  • storage/indexeddb/pending-activity.html:
  • storage/indexeddb/pending-version-change-on-exit.html:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
  • storage/indexeddb/pending-version-change-stuck.html:
  • storage/indexeddb/persistence.html:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071.html:
  • storage/indexeddb/prefetch-invalidation-expected.txt: Added.
  • storage/indexeddb/prefetch-invalidation.html: Added.
  • storage/indexeddb/prefetch-race-expected.txt: Added.
  • storage/indexeddb/prefetch-race.html: Added.
  • storage/indexeddb/queued-commands.html:
  • storage/indexeddb/readonly-properties.html:
  • storage/indexeddb/readonly.html:
  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/removed.html:
  • storage/indexeddb/request-continue-abort.html:
  • storage/indexeddb/request-event-propagation.html:
  • storage/indexeddb/request-leak-expected.txt: Added.
  • storage/indexeddb/request-leak.html: Added.
  • storage/indexeddb/request-result-cache-expected.txt: Added.
  • storage/indexeddb/request-result-cache.html: Added.
  • storage/indexeddb/resources/aborted-versionchange-closes.js:
  • storage/indexeddb/resources/basics.js:
  • storage/indexeddb/resources/create-and-remove-object-store.js:
  • storage/indexeddb/resources/create-object-store-options.js:
  • storage/indexeddb/resources/createIndex-after-failure.js:
  • storage/indexeddb/resources/createObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/createObjectStore-null-name.js:
  • storage/indexeddb/resources/cursor-added-bug.js:
  • storage/indexeddb/resources/cursor-advance.js:
  • storage/indexeddb/resources/cursor-basics.js: Added.
  • storage/indexeddb/resources/cursor-continue-dir.js:
  • storage/indexeddb/resources/cursor-continue-validity.js:
  • storage/indexeddb/resources/cursor-continue.js:
  • storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
  • storage/indexeddb/resources/cursor-delete.js:
  • storage/indexeddb/resources/cursor-inconsistency.js:
  • storage/indexeddb/resources/cursor-index-delete.js:
  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:
  • storage/indexeddb/resources/cursor-primary-key-order.js:
  • storage/indexeddb/resources/cursor-properties.js:
  • storage/indexeddb/resources/cursor-reverse-bug.js:
  • storage/indexeddb/resources/cursor-skip-deleted.js:
  • storage/indexeddb/resources/cursor-update-value-argument-required.js:
  • storage/indexeddb/resources/cursor-update.js:
  • storage/indexeddb/resources/cursor-value.js:
  • storage/indexeddb/resources/data-corruption.js:
  • storage/indexeddb/resources/database-basics.js:
  • storage/indexeddb/resources/database-close.js:
  • storage/indexeddb/resources/database-closepending-flag.js:
  • storage/indexeddb/resources/database-deletepending-flag.js:
  • storage/indexeddb/resources/database-name-undefined.js:
  • storage/indexeddb/resources/database-odd-names.js:
  • storage/indexeddb/resources/database-quota.js:
  • storage/indexeddb/resources/database-wrapper.js:
  • storage/indexeddb/resources/delete-closed-database-object.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
  • storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
  • storage/indexeddb/resources/delete-range.js:
  • storage/indexeddb/resources/deleteIndex.js:
  • storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
  • storage/indexeddb/resources/deleteObjectStore-null-name.js:
  • storage/indexeddb/resources/deleted-objects.js:
  • storage/indexeddb/resources/deletedatabase-blocked.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
  • storage/indexeddb/resources/deletedatabase-not-blocked.js:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
  • storage/indexeddb/resources/dont-wedge.js:
  • storage/indexeddb/resources/duplicates.js:
  • storage/indexeddb/resources/error-causes-abort-by-default.js:
  • storage/indexeddb/resources/events.js:
  • storage/indexeddb/resources/exception-in-event-aborts.js:
  • storage/indexeddb/resources/exceptions.js:
  • storage/indexeddb/resources/factory-basics.js:
  • storage/indexeddb/resources/factory-cmp.js:
  • storage/indexeddb/resources/factory-deletedatabase.js:
  • storage/indexeddb/resources/get-keyrange.js:
  • storage/indexeddb/resources/index-basics.js:
  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:
  • storage/indexeddb/resources/index-duplicate-keypaths.js:
  • storage/indexeddb/resources/index-get-key-argument-required.js:
  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-population.js:
  • storage/indexeddb/resources/index-unique.js:
  • storage/indexeddb/resources/interfaces.js:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-bad-parameters.js:
  • storage/indexeddb/resources/intversion-blocked.js:
  • storage/indexeddb/resources/intversion-close-between-events.js:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
  • storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-encoding.js:
  • storage/indexeddb/resources/intversion-gated-on-delete.js:
  • storage/indexeddb/resources/intversion-long-queue.js:
  • storage/indexeddb/resources/intversion-omit-parameter.js:
  • storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
  • storage/indexeddb/resources/intversion-open-with-version.js:
  • storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
  • storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
  • storage/indexeddb/resources/intversion-persistence.js:
  • storage/indexeddb/resources/intversion-revert-on-abort.js:
  • storage/indexeddb/resources/intversion-two-opens-no-versions.js:
  • storage/indexeddb/resources/intversion-upgrades.js:
  • storage/indexeddb/resources/invalid-keys.js:
  • storage/indexeddb/resources/key-generator.js:
  • storage/indexeddb/resources/key-sort-order-across-types.js:
  • storage/indexeddb/resources/key-sort-order-date.js:
  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/key-type-binary.js: Added.
  • storage/indexeddb/resources/key-type-infinity.js:
  • storage/indexeddb/resources/keypath-arrays.js:
  • storage/indexeddb/resources/keypath-basics.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-fetch-key.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/keyrange-required-arguments.js:
  • storage/indexeddb/resources/keyrange.js:
  • storage/indexeddb/resources/lazy-index-types.js:
  • storage/indexeddb/resources/legacy-constants.js:
  • storage/indexeddb/resources/list-ordering.js:
  • storage/indexeddb/resources/metadata.js:
  • storage/indexeddb/resources/mutating-cursor.js:
  • storage/indexeddb/resources/objectStore-required-arguments.js:
  • storage/indexeddb/resources/objectstore-autoincrement.js:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/objectstore-clear.js:
  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:
  • storage/indexeddb/resources/objectstore-keycursor.js:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/open-cursor.js:
  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/open-ordering.js:
  • storage/indexeddb/resources/open-twice.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/pending-activity.js:
  • storage/indexeddb/resources/pending-version-change-on-exit.js:
  • storage/indexeddb/resources/pending-version-change-stuck.js:
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/queued-commands.js:
  • storage/indexeddb/resources/readonly-properties.js:
  • storage/indexeddb/resources/readonly.js:
  • storage/indexeddb/resources/removed.js:
  • storage/indexeddb/resources/request-continue-abort.js:
  • storage/indexeddb/resources/request-event-propagation.js:
  • storage/indexeddb/resources/set_version_blocked.js:
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
  • storage/indexeddb/resources/setversion-not-blocked.js:
  • storage/indexeddb/resources/shared.js:
  • storage/indexeddb/resources/transaction-abort.js:
  • storage/indexeddb/resources/transaction-active-flag.js:
  • storage/indexeddb/resources/transaction-after-close.js:
  • storage/indexeddb/resources/transaction-and-objectstore-calls.js:
  • storage/indexeddb/resources/transaction-basics.js:
  • storage/indexeddb/resources/transaction-complete-workers.js:
  • storage/indexeddb/resources/transaction-coordination-across-databases.js:
  • storage/indexeddb/resources/transaction-coordination-within-database.js:
  • storage/indexeddb/resources/transaction-crash-on-abort.js:
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/resources/transaction-event-propagation.js:
  • storage/indexeddb/resources/transaction-read-only.js:
  • storage/indexeddb/resources/transaction-readwrite-exclusive.js:
  • storage/indexeddb/resources/transaction-rollback.js:
  • storage/indexeddb/resources/transaction-scope-sequencing.js:
  • storage/indexeddb/resources/transaction-starvation.js:
  • storage/indexeddb/resources/transaction-storeNames-required.js:
  • storage/indexeddb/resources/unblocked-version-changes.js:
  • storage/indexeddb/resources/unprefix.js:
  • storage/indexeddb/resources/value-undefined.js:
  • storage/indexeddb/resources/values-odd-types.js:
  • storage/indexeddb/resources/version-change-abort.js:
  • storage/indexeddb/resources/version-change-exclusive.js:
  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:
  • storage/indexeddb/set_version_blocked.html:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close.html:
  • storage/indexeddb/setversion-not-blocked.html:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort.html:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-active-flag.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-after-close.html:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls.html:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-basics.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-complete-workers-expected.txt:
  • storage/indexeddb/transaction-complete-workers.html:
  • storage/indexeddb/transaction-coordination-across-databases.html:
  • storage/indexeddb/transaction-coordination-within-database.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-crash-on-abort.html:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-error.html:
  • storage/indexeddb/transaction-event-propagation.html:
  • storage/indexeddb/transaction-ordering-expected.txt: Added.
  • storage/indexeddb/transaction-ordering.html: Added.
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-read-only.html:
  • storage/indexeddb/transaction-readwrite-exclusive.html:
  • storage/indexeddb/transaction-rollback.html:
  • storage/indexeddb/transaction-scope-sequencing.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/transaction-storeNames-required.html:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/unblocked-version-changes.html:
  • storage/indexeddb/unprefix-workers.html:
  • storage/indexeddb/unprefix.html:
  • storage/indexeddb/value-undefined.html:
  • storage/indexeddb/values-odd-types.html:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-abort.html:
  • storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/version-change-exclusive.html:
  • storage/indexeddb/versionchangerequest-activedomobject.html:
5:55 PM Changeset in webkit [163922] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Move renderNamedFlowThreadWrapper() to RenderElement.
<https://webkit.org/b/128634>

This function is only ever called on RenderElements so move it there
from RenderObject.

Reviewed by Antti Koivisto.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::renderNamedFlowThreadWrapper):

  • rendering/RenderElement.h:
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
5:54 PM Changeset in webkit [163921] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Position and thickness of underline as text size changes
https://bugs.webkit.org/show_bug.cgi?id=16768

Source/WebCore:

Reviewed by Dean Jackson.

This patch adopts the iOS codepath for underlines. It also reorganizes
drawLineForText to avoid a costly global state save & restore.

Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::computeLineBoundsAndAntialiasingModeForText):
(WebCore::GraphicsContext::computeLineBoundsForText):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawLinesForText):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws underlined text at a very large font size. It then positions and clips
the text so that the underline should fill a box if the underline grows in proportion
to text size. The comparison is to a box that has its background color set.

Reviewed by Dean Jackson.

  • fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Added.
5:53 PM Changeset in webkit [163920] by rniwa@webkit.org
  • 17 edits in trunk/Source

Frame::rectForSelection shouldn't instantiate FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128587

Reviewed by Enrica Casucci.

Source/WebCore:

Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
iOS's Frame::rectForScrollToVisible use that function instead.

The above change allows us to remove:

  • suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
  • suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient

See inline comments below for more details.

  • Source/WebCore/WebCore.exp.in:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::CaretBase::updateCaretRect):
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::DragCaretController::caretRenderer):
(WebCore::repaintCaretForLocalRect):
(WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
the code to update caretNode when and only when caret rect is updated. Also added an assertion to
ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.

(WebCore::CaretBase::paintCaret):

  • editing/FrameSelection.h:
  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
the convention to use containing block as the renderer to paint caret.

  • editing/htmlediting.cpp:

(WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
(WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
(WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
(WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.

  • editing/htmlediting.h:
  • loader/EmptyClients.h:
  • page/EditorClient.h:
  • page/Frame.h:
  • page/ios/FrameIOS.mm:

(WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
absoluteCaretBounds().

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::WebEditorClient):
(WebEditorClient::respondToChangedSelection):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
5:10 PM Changeset in webkit [163919] by enrica@apple.com
  • 7 edits in trunk/Source

Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

Source/WebCore:

Adding few exports.

  • WebCore.exp.in:

Source/WebKit2:

First step towards implementing block selections on iOS.
The main logic is in rangeForWebSelectionAtPosition that
decides whether we create a text or a block selection.

  • Shared/ios/WKGestureTypes.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(toUIWKSelectionFlags):
(selectionChangedWithGesture):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):

4:22 PM Changeset in webkit [163918] by BJ Burg
  • 5 edits
    59 adds in trunk

Web Replay: upstream replay input code generator and EncodedValue class
https://bugs.webkit.org/show_bug.cgi?id=128215

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add the replay inputs code generator. Most features of the input generator are
exercised by included generator regression tests, which produce useful but
non-compilable test replay inputs.

Add EncodedValue, the main replay input serialization class that encodes and
decodes inputs and their data between C++ types and the JSON-based replay recording
format. EncodedValue uses EncodingTraits specializations for type-specific encoding.
Relative to other WebKit marshalling mechanisms, EncodedValue is key/value based.
EncodedValue uses InspectorValue subclasses as its backing data structure.

Add some missing numerical conversions to InspectorValue.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/InspectorValues.cpp:

(Inspector::InspectorValue::asNumber):
(Inspector::InspectorBasicValue::asNumber):

  • inspector/InspectorValues.h:
  • replay/EncodedValue.cpp: Added.

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::ScalarEncodingTraits<bool>::encodeValue):
(JSC::ScalarEncodingTraits<double>::encodeValue):
(JSC::ScalarEncodingTraits<float>::encodeValue):
(JSC::ScalarEncodingTraits<int32_t>::encodeValue):
(JSC::ScalarEncodingTraits<int64_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint32_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint64_t>::encodeValue):
(JSC::long>::encodeValue):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::long>):
(JSC::EncodedValue::convertTo<String>):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):

  • replay/EncodedValue.h: Added.

(JSC::EncodedValue::EncodedValue):
(JSC::EncodedValue::createObject):
(JSC::EncodedValue::createArray):
(JSC::EncodedValue::createString):
(JSC::EncodedValue::~EncodedValue):
(JSC::ScalarEncodingTraits::decodeValue):
(JSC::EncodingTraits<String>::encodeValue):
(JSC::EncodedValue::put):
(JSC::EncodedValue::append):
(JSC::EncodedValue::get):

  • replay/scripts/CodeGeneratorReplayInputs.py: Added.

(ParseException):
(TypecheckException):
(Framework):
(Framework.init):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(InputQueue):
(InputQueue.init):
(InputQueue.setting):
(InputQueue.fromString):
(InputQueues):
(Input):
(Input.init):
(Input.setting):
(InputMember):
(InputMember.init):
(InputMember.has_flag):
(TypeMode):
(TypeMode.init):
(TypeMode.fromString):
(TypeModes):
(Type):
(Type.init):
(Type.eq):
(Type.hash):
(Type.has_flag):
(Type.is_struct):
(Type.is_enum):
(Type.is_enum_class):
(Type.declaration_kind):
(Type.qualified_prefix):
(Type.qualified_prefix.is):
(Type.type_name):
(Type.storage_type):
(Type.borrow_type):
(Type.argument_type):
(check_properties):
(VectorType):
(VectorType.init):
(VectorType.has_flag):
(VectorType.is_struct):
(VectorType.is_enum):
(VectorType.is_enum_class):
(VectorType.qualified_prefix):
(VectorType.type_name):
(VectorType.argument_type):
(InputsModel):
(InputsModel.init):
(InputsModel.enum_types):
(InputsModel.get_type_for_member):
(InputsModel.parse_toplevel):
(InputsModel.parse_type_with_framework_name):
(InputsModel.parse_input):
(InputsModel.typecheck):
(InputsModel.typecheck_type):
(InputsModel.typecheck_input):
(InputsModel.typecheck_input_member):
(IncrementalFileWriter):
(IncrementalFileWriter.init):
(IncrementalFileWriter.write):
(IncrementalFileWriter.close):
(lcfirst):
(wrap_with_guard):
(Generator):
(Generator.init):
(Generator.setting):
(Generator.output_filename):
(Generator.write_output_files):
(Generator.generate_header):
(Generator.generate_implementation):
(Generator.generate_license):
(Generator.generate_includes):
(Generator.generate_includes.declaration):
(Generator.generate_includes.declaration.is):
(Generator.generate_type_forward_declarations):
(Generator.generate_type_forward_declarations.is):
(Generator.generate_class_declaration):
(Generator.generate_input_constructor_declaration):
(Generator.generate_input_destructor_declaration):
(Generator.generate_input_member_getter):
(Generator.generate_input_member_declaration):
(Generator.generate_input_member_tuples):
(Generator.qualified_input_name):
(Generator.generate_input_trait_declaration):
(Generator.generate_enum_trait_declaration):
(Generator.generate_for_each_macro):
(Generator.generate_class_implementation):
(Generator.generate_enum_trait_implementation):
(Generator.generate_enum_trait_implementation.is):
(Generator.generate_input_trait_implementation):
(Generator.generate_input_encode_implementation):
(Generator.generate_input_decode_implementation):
(Generator.generate_constructor_initializer_list):
(Generator.generate_constructor_formals_list):
(Generator.generate_member_borrow_expression):
(Generator.generate_member_move_expression):
(Generator.generate_constructor_arguments_list):
(generate_from_specification):

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py: Added.

(Templates):

  • replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error: Added.
  • replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error: Added.
  • replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error: Added.
  • replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-input-name.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-input-queue.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-type-mode.json-error: Added.
  • replay/scripts/tests/expected/fail-on-missing-type-name.json-error: Added.
  • replay/scripts/tests/expected/fail-on-no-inputs.json-error: Added.
  • replay/scripts/tests/expected/fail-on-no-types.json-error: Added.
  • replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error: Added.
  • replay/scripts/tests/expected/fail-on-unknown-member-type.json-error: Added.
  • replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-error: Added.
  • replay/scripts/tests/expected/generate-event-loop-shape-types.json-error: Added.
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/expected/generate-inputs-with-flags.json-error: Added.
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp: Added.
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h: Added.
  • replay/scripts/tests/fail-on-c-style-enum-no-storage.json: Added.
  • replay/scripts/tests/fail-on-duplicate-input-names.json: Added.
  • replay/scripts/tests/fail-on-duplicate-type-names.json: Added.
  • replay/scripts/tests/fail-on-enum-type-missing-values.json: Added.
  • replay/scripts/tests/fail-on-missing-input-member-name.json: Added.
  • replay/scripts/tests/fail-on-missing-input-name.json: Added.
  • replay/scripts/tests/fail-on-missing-input-queue.json: Added.
  • replay/scripts/tests/fail-on-missing-type-mode.json: Added.
  • replay/scripts/tests/fail-on-missing-type-name.json: Added.
  • replay/scripts/tests/fail-on-no-inputs.json: Added.
  • replay/scripts/tests/fail-on-no-types.json: Added.
  • replay/scripts/tests/fail-on-unknown-input-queue.json: Added.
  • replay/scripts/tests/fail-on-unknown-member-type.json: Added.
  • replay/scripts/tests/fail-on-unknown-type-mode.json: Added.
  • replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json: Added.
  • replay/scripts/tests/generate-enum-encoding-helpers.json: Added.
  • replay/scripts/tests/generate-event-loop-shape-types.json: Added.
  • replay/scripts/tests/generate-input-with-guard.json: Added.
  • replay/scripts/tests/generate-input-with-vector-members.json: Added.
  • replay/scripts/tests/generate-inputs-with-flags.json: Added.
  • replay/scripts/tests/generate-memoized-type-modes.json: Added.

Tools:

Add an executable script to launch the replay input generator tests.
Add a test harness for running the code generator tests, mostly taken
from the bindings test harness (but simplified).

  • Scripts/run-input-generator-tests: Added.

(main):

  • Scripts/webkitpy/replay/init.py: Added.
  • Scripts/webkitpy/replay/main.py: Added.

(InputGeneratorTests):
(InputGeneratorTests.init):
(InputGeneratorTests.generate_from_json):
(InputGeneratorTests.write_error_file):
(InputGeneratorTests.detect_changes):
(InputGeneratorTests.run_tests):
(InputGeneratorTests.main):

4:08 PM Changeset in webkit [163917] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
<https://webkit.org/b/128623>

Codify the fact that RenderNamedFlowThread always has a corresponding
WebKitNamedFlow by storing it in a Ref, and adding an accessor that
returns a reference to get rid of all the ->'s.

Also removed some unnecessary assertions exposed by this.

Reviewed by Antti Koivisto.

  • dom/NamedFlowCollection.cpp:

(WebCore::NamedFlowCollection::ensureFlowWithName):

  • dom/NamedFlowCollection.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::flowThreadName):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
(WebCore::RenderNamedFlowThread::setMarkForDestruction):
(WebCore::RenderNamedFlowThread::resetMarkForDestruction):
(WebCore::RenderNamedFlowThread::isMarkedForDestruction):

  • rendering/RenderNamedFlowThread.h:
4:06 PM Changeset in webkit [163916] by mmaxfield@apple.com
  • 19 edits
    2 adds in trunk

Source/WebCore: Convert position:fixed property to position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

This adds a Setting and Preference that allows clients to opt-in to this behavior.

This new behavior is only activated if the entire body is copied. If there is a position:fixed
element in the copied selection, it is replaced with position:absolute, and a containing
block (position:relative) is wrapped around the copied text.

This patch originally converted position:-webkit-sticky to position:relative. However, we
currently don't support copying and pasting of position:-webkit-sticky content (See below).
Therefore, this patch only deals with position:fixed.

Right now we don't copy position:-webkit-sticky. This is because:

  1. When copying styled elements, we parse the style properties again
  2. CSSParserContext has a flag which can disable parsing -webkit-sticky
  3. There are two constructors to CSSParserContext: one that takes a document and sets up the

aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
flags to false

  1. At the relevant place within copy code, we are far removed from the Document object, so we

instead call the second constructor, thereby disabling parsing of -webkit-sticky

Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html

  • WebCore.exp.in: Export the Setting setter
  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style

  • editing/EditingStyle.h:
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
an element which needs the position:relative containing block
(WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
containing block if necessary
(WebCore::createMarkupInternal):

  • page/Settings.cpp:

(WebCore::Settings::Settings): New setting to opt-in to this new behavior
(WebCore::Settings::setConvertPositionStyleOnCopy):

  • page/Settings.h:

(WebCore::Settings::convertPositionStyleOnCopy):

  • testing/InternalSettings.cpp: Allow setting the setting from a Layout Test

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setConvertPositionStyleOnCopy):

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

Source/WebKit/mac: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

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

(-[WebPreferences convertPositionStyleOnCopy]):
(-[WebPreferences setConvertPositionStyleOnCopy:]):

  • WebView/WebPreferencesPrivate.h: Opt-in to new behavior
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetConvertPositionStyleOnCopy):
(WKPreferencesGetConvertPositionStyleOnCopy):

  • UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

Checks that the style properties get converted.

  • editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt: Added.
  • editing/pasteboard/copy-paste-converts-sticky-and-fixed.html: Added.
4:02 PM Changeset in webkit [163915] by commit-queue@webkit.org
  • 5 edits in trunk

XMLHttpRequest should not send DNT header
https://bugs.webkit.org/show_bug.cgi?id=128533

Patch by Youenn Fablet <youennf@gmail.com> on 2014-02-11
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added DNT (Do Not Track) header to the list of forbidden headers.
Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):

LayoutTests:

Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that DNT header is not sent.

  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers.html:
3:07 PM Changeset in webkit [163914] by jpfau@apple.com
  • 8 edits in trunk

Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
https://bugs.webkit.org/show_bug.cgi?id=128557

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):

  • loader/appcache/ApplicationCacheHost.h:

LayoutTests:

  • http/tests/security/resources/cross-origin-iframe-for-appcache-allowed.html:
  • http/tests/security/resources/cross-origin-iframe-for-appcache.html:
  • http/tests/security/resources/same-origin-iframe-for-appcache-blocked.html:
3:05 PM Changeset in webkit [163913] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Chris Fleizach.

Resolving build failure caused by r163891.

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::computedRoleString):

3:01 PM Changeset in webkit [163912] by beidson@apple.com
  • 4 edits in trunk

IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
<rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Covered by storage/indexeddb/mozilla/object-identity.html.

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
(WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enabled all of the storage/indexeddb/mozilla tests except 1.
2:56 PM Changeset in webkit [163911] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests

Unreviewed. Fix typo in layout test introduced in r163811.

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-11

  • inspector-protocol/debugger/hit-breakpoint-from-console.html:
2:12 PM Changeset in webkit [163910] by rniwa@webkit.org
  • 3 edits in branches/safari-537.60-branch/Tools

Merge r160726

2013-12-17 Brent Fulgham <Brent Fulgham>

[Win] Revise filter-build-webkit to deal with Windows build logs
https://bugs.webkit.org/show_bug.cgi?id=125866

Reviewed by David Kilzer.

Enhance the script to accept a 'platform' argument. When platform
'win' is provided, use processing for the Windows build file format.
Otherwise, process the files as normal.

  • Scripts/filter-build-webkit: (usageAndExit): Add a 'platform' argument (shouldIgnoreLine): When platform == 'win' use the new Windows rules for processing the build file.
2:00 PM Changeset in webkit [163909] by roger_fong@apple.com
  • 2 edits in trunk/WebKitLibraries

[Windows] Set ENABLE_CSS_SHAPE_INSIDE feature flag on Windows.

  • win/tools/vsprops/FeatureDefines.props:
1:56 PM Changeset in webkit [163908] by benjamin@webkit.org
  • 17 edits in trunk/Source/WebKit2

[WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
https://bugs.webkit.org/show_bug.cgi?id=128575

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-11
Reviewed by Darin Adler.

In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.

This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

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

(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::screenToRootView):
(WebKit::WebView::rootViewToScreen):

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

(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::screenToRootView):
(WebKit::WebChromeClient::rootViewToScreen):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::screenToRootView):
(WebKit::WebPage::rootViewToScreen):

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

(-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

1:50 PM Changeset in webkit [163907] by jer.noble@apple.com
  • 9 edits in trunk/Source/WebCore

[EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
https://bugs.webkit.org/show_bug.cgi?id=128559

Reviewed by Dean Jackson.

To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
CDMPrivateAVFoundation back into its media engine.

  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm:

(WebCore::MediaKeyExceptionToErrorCode): Added.
(WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
(WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
(WebCore::CDMSessionAVFoundation::update): Ditto.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
(WebCore::MediaPlayer::releaseKeys): Ditto.
(WebCore::MediaPlayer::update): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
(WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateInterface::update): Ditto.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.

1:36 PM Changeset in webkit [163906] by jer.noble@apple.com
  • 2 edits
    2 adds in trunk/Source/WebCore

Run UserAgentScripts through jsmin rather than the css preprocessor
https://bugs.webkit.org/show_bug.cgi?id=127559

Reviewed by Tim Horton.

User Agent JavaScript files were being run through the c++ preprocessor to strip out
comments (and presumably to allow #if ENABLE macros, though that feature is entirely
unused). This had the side effect of removing important whitespace, namely newlines where
there would normally be an implicit semicolon.

Instead, .js files will now be run through the jsmin minifier, used by the inspector.
Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
keep newlines when their presence adds an implied semicolon.

  • DerivedSources.make:
  • Scripts/make-js-file-arrays.py: Added.

(stringifyCodepoint):
(chunk):
(main):

1:28 PM Changeset in webkit [163905] by aestes@apple.com
  • 11 edits in trunk/Source

[Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
https://bugs.webkit.org/show_bug.cgi?id=128583

Reviewed by Anders Carlsson.

The delegate method was removed in Snow Leopard.

Source/WebCore:

  • loader/ResourceLoader.cpp:
  • loader/ResourceLoader.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

Source/WebKit/mac:

  • Misc/WebDownload.mm:

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/NetworkResourceLoader.h:
1:28 PM Changeset in webkit [163904] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Content Filter] Check for NULL before calling dispatch_release()
https://bugs.webkit.org/show_bug.cgi?id=128576

Reviewed by Darin Adler.

m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
passing NULL to dispatch_release() is undefined.

  • platform/mac/ContentFilterMac.mm:

(WebCore::ContentFilter::~ContentFilter):

1:23 PM Changeset in webkit [163903] by alex.christensen@flexsim.com
  • 13 edits in trunk

Source/WebKit: Fixed linking on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

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

Corrected Win64 linker symbols.

Source/WebKit/win: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::createWindow):

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::customizeMenu):

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createPlugin):

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorClient::releaseFrontend):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):

  • WebCoreSupport/WebInspectorClient.h:
  • WebDropSource.cpp:

(generateMouseEvent):

  • WebFrame.cpp:

(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
Removed all casts from &HWND to OLE_HANDLE*.

Tools: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(AccessibilityController::rootElement):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setWindowIsKey):
Removed all casts from &HWND to OLE_HANDLE*.

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

[MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
https://bugs.webkit.org/show_bug.cgi?id=127560

Reviewed by Eric Carlson.

When evaluating a script through ScriptController, if that script does not have an
explicit sourceURL, it will not appear in the resources section of the Web Inspector.
For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

1:12 PM Changeset in webkit [163901] by matthew_hanson@apple.com
  • 3 edits
    6 copies in branches/safari-537.75-branch

Merge r158739.

1:01 PM Changeset in webkit [163900] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

Merge r158719.

12:44 PM Changeset in webkit [163899] by Samuel White
  • 20 edits in trunk

AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
https://bugs.webkit.org/show_bug.cgi?id=128397

Reviewed by Chris Fleizach.

Source/WebCore:

Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.

No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectText):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

Tools:

Updated testing methods to accept a replacement string. This enables us to test text
replacement support for the AXSelectTextWithCriteria parameterized attribute.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(selectTextWithCriteriaCallback):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(selectTextParameterizedAttributeForCriteria):
(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

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

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::selectTextParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::selectTextWithCriteria):

LayoutTests:

Updated test and expectations to handle text replacement.

  • platform/mac/accessibility/select-text-expected.txt:
  • platform/mac/accessibility/select-text.html:
12:39 PM Changeset in webkit [163898] by matthew_hanson@apple.com
  • 15 edits in branches/safari-537.75-branch

Merge r158447.

12:32 PM Changeset in webkit [163897] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Add Availability Macros to new JSC APIs
https://bugs.webkit.org/show_bug.cgi?id=128615

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-11
Reviewed by Mark Rowe.

  • API/JSContext.h:
  • API/JSContextRef.h:
12:28 PM Changeset in webkit [163896] by fpizlo@apple.com
  • 3 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should support CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=127752

Reviewed by Oliver Hunt.

Also introduce some helpers for reasoning about nullness and truthyness.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotNully):
(JSC::FTL::LowerDFGToLLVM::isNully):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):

  • tests/stress/compare-eq-object-or-other-to-object.js: Added.

(foo):
(test):

  • tests/stress/compare-eq-object-to-object-or-other.js: Added.

(foo):
(test):

12:26 PM Changeset in webkit [163895] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed. Speculative test fix.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::pixelSnappingFactor):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):

12:12 PM Changeset in webkit [163894] by ddkilzer@apple.com
  • 6 edits in trunk/Tools

[ASan] Fix build failures in Tools due to missing $(inherited) values
<http://webkit.org/b/128485>

Reviewed by Dean Jackson.

  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
  • Move $(inherited) from OTHER_LDFLAGS_macosx to OTHER_LDFLAGS.
  • DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
  • DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
  • Add $(inherited) to OTHER_LDFLAGS.
  • WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
  • WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
  • Add $(inherited) to OTHER_LDFLAGS, or move from OTHER_LDFLAGS_BASE to OTHER_LDFLAGS.
  • Extract $(OTHER_LDFLAGS_BASE) from platform-specific settings into OTHER_LDFLAGS.
11:49 AM Changeset in webkit [163893] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • platform/ios/TileGrid.mm:

(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):

11:31 AM Changeset in webkit [163892] by beidson@apple.com
  • 4 edits in trunk

IndexedDB tests on some bots are flakey (timeouts)
<rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

Reviewed by Sam Weinig.

Source/WebKit2:

When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
*ESPECIALLY* when dealing with multiple threads.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

LayoutTests:

  • platform/mac-wk2/TestExpectations: Reenable the tests.
11:27 AM Changeset in webkit [163891] by commit-queue@webkit.org
  • 28 edits
    2 adds in trunk

Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

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

Source/WebCore:

New methods supporting WebCore::AccessibilityObject::computedRoleString()
used for Accessibility section in WebInspector Node Inspector. Other updates
support the JSON interface for the WebInspectorUI feature.

Test: accessibility/roles-computedRoleString.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::initializeRoleMap):
(WebCore::ariaRoleMap):
(WebCore::reverseAriaRoleMap):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
(WebCore::AccessibilityObject::computedRoleString):

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

(-[WebAccessibilityObjectWrapper computedRoleString]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorDOMAgent.h:
  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

New Accessibility section in WebInspector Node Inspector.
Version 1.0 only shows computed role. Computed label should come soon.

Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/DOMNode.js:
  • UserInterface/DOMNodeDetailsSidebarPanel.js:
  • UserInterface/DetailsSection.css:
  • UserInterface/InspectorWebBackendCommands.js:

Tools:

New computedRoleString interfaces in DumpRenderTree/WebKitTestRunner
to support LayoutTest coverage of AccessibilityObject::computedRoleString()

  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

LayoutTests:

New layout verifying AccessibilityObject::computedRoleString()

  • accessibility/roles-computedRoleString-expected.txt: Added.
  • accessibility/roles-computedRoleString.html: Added.
10:59 AM Changeset in webkit [163890] by oliver@apple.com
  • 15 edits in trunk

Stop throwing when attempting to read instance properties directly from the prototype
https://bugs.webkit.org/show_bug.cgi?id=128568

Reviewed by Mark Lam.

Source/WebCore:

A number of websites expect to be able to access instance properties
directly through the prototype. This is broken behavior but if we
throw an exception the entire site breaks. This patch simply makes us
return undefined when reading, and logs the error to the console.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

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

(WebCore::jsTestActiveDOMObjectExcitingAttr):

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

(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):

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

(WebCore::jsTestExceptionName):

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

(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):

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

(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):

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

(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):

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

(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):

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

(WebCore::jsattributeReadonly):

LayoutTests:

Update tests to match required behavior.

  • js/dom/dom-as-prototype-assignment-exception-expected.txt:
  • js/dom/script-tests/dom-as-prototype-assignment-exception.js:
10:37 AM Changeset in webkit [163889] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Animation tests are flaky in Release on EWS, too.

  • platform/mac/TestExpectations: Removed [ Debug ] from several animation test

expectations.

10:25 AM Changeset in webkit [163888] by svillar@igalia.com
  • 18 edits in trunk

[CSS Grid Layout] Support calc() breadth size type
https://bugs.webkit.org/show_bug.cgi?id=103761

Reviewed by Dean Jackson.

Source/WebCore:

We now support using calc() in
-webkit-grid-template-{columns|rows}. This means that we now
match the specification and support all the possible ways to
specify the track breadths.

This includes a fix to CSSCalculationValue that was converting
Length values to CalcExpressionNumber and thus removing all the
info regarding length units (px, em, pt...). That's why things
like calc(10px + 20%) were shown as calc(10 + 20%) in
getComputedStyle() output.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcPrimitiveValue::toCalcValue):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):

  • css/StyleResolver.cpp:

(WebCore::createGridTrackBreadth):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

Added some more tests for track breadths specified with calc().

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
10:09 AM Changeset in webkit [163887] by mhahnenberg@apple.com
  • 5 edits in trunk/Source

32-bit LLInt writeBarrierOnGlobalObject is wrong
https://bugs.webkit.org/show_bug.cgi?id=128556

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.

Source/WTF:

  • wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
10:00 AM Changeset in webkit [163886] by mitz@apple.com
  • 46 edits
    1 copy
    1 move
    2 adds
    1 delete in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128582

Reviewed by Darin Adler.

  • Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.

(WKContextMenuItemGetTag):

  • Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions

are not needed on iOS.

  • Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::toAPI):
(WebKit::toImpl):

  • Shared/APIObject.h: Ditto.
  • Shared/ChildProcess.cpp: Ditto.
  • Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around

setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.

  • Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
  • Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):

  • Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/Downloads/Download.h: Ditto.
  • Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):

  • Shared/FontInfo.h: Ditto.
  • Shared/LayerTreeContext.h: Ditto.
  • Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around

forward-declaration of NSView.

  • Shared/NativeWebMouseEvent.h: Ditto.
  • Shared/NativeWebWheelEvent.h: Ditto.
  • Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
  • Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA).

  • Shared/Network/CustomProtocols/mac: Removed.
  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
  • Shared/PlatformPopupMenuData.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h: Ditto.
  • Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
  • Shared/Plugins/PluginModuleInfo.h: Ditto.
  • Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.

(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
  • Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of

NSPrintInfo.

  • Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
  • Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • Shared/WebArchive.h: Ditto.
  • Shared/WebArchiveResource.cpp: Ditto.
  • Shared/WebArchiveResource.h: Ditto.
  • Shared/WebCoreArgumentCoders.cpp: Ditto.

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):

  • Shared/WebCoreArgumentCoders.h: Ditto.
  • Shared/WebEvent.h: Ditto.
  • Shared/WebEventConversion.cpp: Ditto.

(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):

  • Shared/WebKit2Initialize.cpp: Ditto.

(WebKit::InitializeWebKit2):

  • Shared/WebPageCreationParameters.cpp: Ditto.

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h: Ditto.
  • Shared/WebPreferencesStore.h: Ditto.
  • Shared/WebProcessCreationParameters.cpp: Ditto.

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h: Ditto.
  • Shared/WebWheelEvent.cpp: Ditto.

(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):

  • Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).

(IPC::decode):

  • Shared/mac/CommandLineMac.cpp: Removed.
  • Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
  • Shared/posix: Added.
  • Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed

comment.

  • WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.
9:50 AM Changeset in webkit [163885] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] Compile error related to toString function.
https://bugs.webkit.org/show_bug.cgi?id=128607

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Brent Fulgham.

  • WebView.cpp:

(toString): Added another toString function to make sure we are not trying to use WTF::toString.

9:49 AM Changeset in webkit [163884] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merge r158058.

9:36 AM Changeset in webkit [163883] by ap@apple.com
  • 2 edits in trunk/Source/WebKit/mac

iOS build fix.

  • WebCoreSupport/WebChromeClient.mm: Fixed incorrectly nested ifdefs.
9:36 AM Changeset in webkit [163882] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

Correct some uses of 'auto'
https://bugs.webkit.org/show_bug.cgi?id=128578

Reviewed by Anders Carlsson.

Correct the following instances of "for (auto ...)" to use reference or
const references to avoid copies.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::elementsFromAttribute):

  • css/CSSGridTemplateValue.cpp:

(WebCore::stringForPosition):

  • dom/Node.cpp:

(WebCore::NodeListsNodeData::invalidateCaches):

  • inspector/PageInjectedScriptManager.cpp:

(WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):

  • page/WheelEventDeltaTracker.cpp:

(WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):

  • platform/graphics/mac/WebLayer.mm:

(WebCore::drawLayerContents):

  • platform/ios/TileGrid.mm:

(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):

  • rendering/InlineTextBox.cpp:

(WebCore::translateIntersectionPointsToSkipInkBoundaries):

  • testing/InternalSettings.cpp:

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

9:34 AM Changeset in webkit [163881] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

LLInt typo error after r139004.
https://bugs.webkit.org/show_bug.cgi?id=128592

Reviewed by Michael Saboff.

  • offlineasm/arm.rb: change immediate to register in the condition
9:33 AM Changeset in webkit [163880] by stavila@adobe.com
  • 1 edit
    6 adds in trunk/LayoutTests

[CSS Regions] clipping rectangle for "overflow: hidden" should be based on the padding box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=119546

Reviewed by Anders Carlsson.

Added tests for the correct painting of region overflow over the region's padding.
This problem was solved by https://bugs.webkit.org/show_bug.cgi?id=118665 and
https://bugs.webkit.org/show_bug.cgi?id=128590.
Two writing modes (horiz-bt and vert-rl) are still not working properly and a separate
issue has been created for them (https://bugs.webkit.org/show_bug.cgi?id=128600).

  • fast/regions/clip-to-padding-box-expected.html: Added.
  • fast/regions/clip-to-padding-box-margins-expected.html: Added.
  • fast/regions/clip-to-padding-box-margins.html: Added.
  • fast/regions/clip-to-padding-box-vertical-lr-expected.html: Added.
  • fast/regions/clip-to-padding-box-vertical-lr.html: Added.
  • fast/regions/clip-to-padding-box.html: Added.
8:57 AM Changeset in webkit [163879] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

LICM should gracefully handle unprofiled code
https://bugs.webkit.org/show_bug.cgi?id=127848

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):

LayoutTests:

  • js/regress/script-tests/unprofiled-licm.js: Added.

(foo):

  • js/regress/unprofiled-licm-expected.txt: Added.
  • js/regress/unprofiled-licm.html: Added.
8:51 AM Changeset in webkit [163878] by hyatt@apple.com
  • 10 edits
    4 adds in trunk

[New Multicolumn] Make columns work with line grids
https://bugs.webkit.org/show_bug.cgi?id=128555

Reviewed by Antti Koivisto.

Added line-snap-into-columns.html and line-snap-inside-columns.html

Source/WebCore:

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:

(WebCore::LayoutState::pageOffset):
(WebCore::LayoutState::setLineGridPaginationOrigin):
Change the LayoutState to call into the renderer to compute the line
grid pagination origin instead of doing it directly. Added the
appropriate getters and setters to enable the renderer to do this.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeLineGridPaginationOrigin):

  • rendering/RenderBlock.h:

An implementation for the old multi-column code. The logic is the
same with tweaks made now that the method is on the renderer instead.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::pageLogicalTopForOffset):
Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
flow threads are never embedded in an enclosing pagination context, so they
didn't add in the firstPageLogicalTop (or subtract it when computing the region
hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
since it can occur somewhere on the page.

Ultimately regions will need to get smarter here too if they want to work with
line grids, but for now I just fixed multi-column.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isUnsplittableForPagination):
Undo this change, since it prevents the inheritance of line grids into the
multi-column layout.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):

  • rendering/RenderMultiColumnFlowThread.h:

An implementation for the new multi-column code. The logic is the
same as the old code. Code duplication is ok, since the old multi-column method
in RenderBlock will just be deleted once the new code is turned on, and it's easier
not to intertwine them.

LayoutTests:

  • fast/multicol/newmulticol/line-grid-inside-columns-expected.html: Added.
  • fast/multicol/newmulticol/line-grid-inside-columns.html: Added.
  • fast/multicol/newmulticol/line-grid-into-columns-expected.html: Added.
  • fast/multicol/newmulticol/line-grid-into-columns.html: Added.
8:27 AM Changeset in webkit [163877] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
<rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Add the test to the enabled list.
8:27 AM Changeset in webkit [163876] by mhahnenberg@apple.com
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

Obj-C API: JSExport doesn't work for methods that contain protocols in their type signature
https://bugs.webkit.org/show_bug.cgi?id=128540

Reviewed by Oliver Hunt.

The bug is in parseObjCType in ObjcRuntimeExtras.h. When we see an '@' in the
type signature of a method, we assume that what follows the '@' is a class name,
so we call objc_getClass, and if that returns nil then we give up on the method
and don't export it.

This assumption doesn't work in the case of id<Protocol> because it's the name
of the protocol that follows the '@', not the name of a class. We should have
another fallback case for protocol names.

There's another case that also doesn't work, and that's the case of a named class
with a specified prototype in a method signature (e.g. NSObject<MyProtocol>).
There the substring of the type signature that represents the class is "NSObject<MyProtocol>",
which will also cause objc_getClass to return nil.

  • API/ObjcRuntimeExtras.h:

(parseObjCType):

  • API/tests/DateTests.mm: Also fixed an issue I noticed where we don't use an autorelease pool

for the DateTests.

  • API/tests/JSExportTests.h: Added.
  • API/tests/JSExportTests.mm: Added.

(-[TruthTeller returnTrue]):
(-[ExportMethodWithIdProtocol methodWithIdProtocol:]):
(-[ExportMethodWithClassProtocol methodWithClassProtocol:]):
(+[JSExportTests exportInstanceMethodWithIdProtocolTest]):
(+[JSExportTests exportInstanceMethodWithClassProtocolTest]):
(runJSExportTests):

8:14 AM Changeset in webkit [163875] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

8:12 AM Changeset in webkit [163874] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

[WinCairo] Compile error, deleted file in WTF.
https://bugs.webkit.org/show_bug.cgi?id=128601

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Csaba Osztrogonác.

  • WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
8:12 AM Changeset in webkit [163873] by stavila@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Regions] Overflow above the first region is not properly painted for regions with padding
https://bugs.webkit.org/show_bug.cgi?id=128590

Reviewed by Andrei Bucur.

Source/WebCore:

Painting is done using the layer of the region's container, so offsetting using the content box
of the region itself is incorrect.

Test: fast/regions/region-padding-overflow-hidden.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::regionContainer):
(WebCore::RenderRegion::regionContainerLayer):

  • rendering/RenderRegion.h:

LayoutTests:

Added test for the correct painting of overflow above the first region
when the region has padding.

  • fast/regions/region-padding-overflow-hidden-expected.html: Added.
  • fast/regions/region-padding-overflow-hidden.html: Added.
6:30 AM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
3:10 AM WebKitGTK/2.4.x edited by Philippe Normand
(diff)
2:21 AM Changeset in webkit [163872] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

querySelector() does not use the compiler correctly
https://bugs.webkit.org/show_bug.cgi?id=128588

Reviewed by Andreas Kling.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):
I messed up the refactoring when I landed SelectorQuery. The compiled
code was not used the first time through SelectorDataList::execute.

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

[GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

  • media/video-extreme-playbackrate-crash-expected.txt: Added.
  • media/video-extreme-playbackrate-crash.html: Added.
12:37 AM Changeset in webkit [163870] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix /webkit2/WebKitWebExtension/isolated-world after r163797.

Use a global variable for the script result.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(scriptDialogCallback):
(testWebExtensionIsolatedWorld):

12:32 AM Changeset in webkit [163869] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip IndexedDB tests again, they are failing.

  • platform/mac-wk2/TestExpectations:
12:30 AM Changeset in webkit [163868] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add hooks for wrapping CryptoKeys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128567

  • platform/mac/TestExpectations: Forgot to include this in the patch, skipping a

worker test that no longer works.

Note: See TracTimeline for information about the timeline view.