⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

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