WebKit-https.git
7 years agoAdd checked casts for ScriptExecutionContext.
akling@apple.com [Sun, 16 Feb 2014 00:26:53 +0000 (00:26 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] All WebKit clients should encrypt WebCrypto keys automatically
ap@apple.com [Sat, 15 Feb 2014 23:26:21 +0000 (23:26 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agocomputeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
rniwa@webkit.org [Sat, 15 Feb 2014 22:32:05 +0000 (22:32 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] Stop calling mktemp(3).
rakuco@webkit.org [Sat, 15 Feb 2014 21:15:49 +0000 (21:15 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, roll out r164166.
fpizlo@apple.com [Sat, 15 Feb 2014 19:45:54 +0000 (19:45 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
bfulgham@apple.com [Sat, 15 Feb 2014 19:25:49 +0000 (19:25 +0000)]
[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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove double hashing from DatasetDOMStringMap::deleteItem
darin@apple.com [Sat, 15 Feb 2014 18:16:24 +0000 (18:16 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove 'static' specifier from free inline functions in StringImpl.h
mikhail.pozdnyakov@intel.com [Sat, 15 Feb 2014 18:15:16 +0000 (18:15 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSetting currentTime on HTMLMediaElement with media controller should throw exception.
commit-queue@webkit.org [Sat, 15 Feb 2014 18:00:22 +0000 (18:00 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoForm controls are always painted in the active state
andersca@apple.com [Sat, 15 Feb 2014 17:51:57 +0000 (17:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not...
mitz@apple.com [Sat, 15 Feb 2014 17:06:17 +0000 (17:06 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agomessages.py doesn't handle parameters with more than one level of scope.
commit-queue@webkit.org [Sat, 15 Feb 2014 09:28:01 +0000 (09:28 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
commit-queue@webkit.org [Sat, 15 Feb 2014 08:57:21 +0000 (08:57 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK1] Do not include cairo header in the public headers
ryuan.choi@samsung.com [Sat, 15 Feb 2014 08:39:12 +0000 (08:39 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
carlosgc@webkit.org [Sat, 15 Feb 2014 08:36:58 +0000 (08:36 +0000)]
[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_VOID__VOID
instead of g_cclosure_marshal_VOID__OBJECT.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdded GetMyArgumentByVal to FTL
commit-queue@webkit.org [Sat, 15 Feb 2014 08:34:07 +0000 (08:34 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
samuel_white@apple.com [Sat, 15 Feb 2014 08:33:43 +0000 (08:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] LLINT is not working.
commit-queue@webkit.org [Sat, 15 Feb 2014 08:30:54 +0000 (08:30 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: scope chain details sidebar doesn't update values modified via console
commit-queue@webkit.org [Sat, 15 Feb 2014 08:28:41 +0000 (08:28 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Shapes] Add performance test for raster shape with shape-margin
zoltan@webkit.org [Sat, 15 Feb 2014 08:27:16 +0000 (08:27 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWK2 AVKit enter fullscreen doesn't work a second time.
commit-queue@webkit.org [Sat, 15 Feb 2014 08:25:25 +0000 (08:25 +0000)]
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();

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] 10X slower than Chrome when drawing a video into a canvas
jer.noble@apple.com [Sat, 15 Feb 2014 08:23:53 +0000 (08:23 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCQ fix after r164105.
rniwa@webkit.org [Sat, 15 Feb 2014 08:18:13 +0000 (08:18 +0000)]
CQ fix after r164105.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCTTE: WorkerGlobalScope is always owned by a WorkerThread.
akling@apple.com [Sat, 15 Feb 2014 07:41:12 +0000 (07:41 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImprove the appearance of DYEBench
rniwa@webkit.org [Sat, 15 Feb 2014 05:45:26 +0000 (05:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agosetSelectionRange shouldn't trigger a synchronous layout to check focusability when...
rniwa@webkit.org [Sat, 15 Feb 2014 04:52:38 +0000 (04:52 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd back pre-r164154 results to platform/mac-mountainlion.
rniwa@webkit.org [Sat, 15 Feb 2014 04:33:20 +0000 (04:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMac rebaseline after r164145.
rniwa@webkit.org [Sat, 15 Feb 2014 04:28:43 +0000 (04:28 +0000)]
Mac rebaseline after r164145.

* platform/mac/fast/forms/search-styled-expected.png:
* platform/mac/fast/forms/search-styled-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWindows rebaselines after dependency updates.
rniwa@webkit.org [Sat, 15 Feb 2014 03:56:19 +0000 (03:56 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoControl tints don't update inside WebViews
andersca@apple.com [Sat, 15 Feb 2014 03:45:58 +0000 (03:45 +0000)]
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].

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: CRASH when debugger closes while paused and remote inspecting a JSContext
joepeck@webkit.org [Sat, 15 Feb 2014 03:06:46 +0000 (03:06 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAnother build fix after r164149.
rniwa@webkit.org [Sat, 15 Feb 2014 02:52:32 +0000 (02:52 +0000)]
Another build fix after r164149.

* Scripts/webkitpy/port/port_testcase.py:
(test_apache_config_file_name_for_platform):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix after r164148.
rniwa@webkit.org [Sat, 15 Feb 2014 02:50:14 +0000 (02:50 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agorun-webkit-tests doesn't work with Apache 2.4
rniwa@webkit.org [Sat, 15 Feb 2014 02:33:39 +0000 (02:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago-[JSManagedValue value] needs to be protected by the API lock
mhahnenberg@apple.com [Sat, 15 Feb 2014 01:27:53 +0000 (01:27 +0000)]
-[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd SPI for monitoring web process crashes
andersca@apple.com [Sat, 15 Feb 2014 01:06:42 +0000 (01:06 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r157443): Search fields with a non-white background don’t have a round...
mitz@apple.com [Sat, 15 Feb 2014 00:59:56 +0000 (00:59 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Replay: AtomicString replay input names should be stored in a thread-local table
bburg@apple.com [Sat, 15 Feb 2014 00:54:36 +0000 (00:54 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] Activate CSS Region Tests on Windows
bfulgham@apple.com [Sat, 15 Feb 2014 00:51:45 +0000 (00:51 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd support for specced event handlers to HTMLMediaElement
jer.noble@apple.com [Sat, 15 Feb 2014 00:48:09 +0000 (00:48 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Win] Make tests more consistent with Mac platform
bfulgham@apple.com [Sat, 15 Feb 2014 00:04:55 +0000 (00:04 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMac rebaseline after r164127.
rniwa@webkit.org [Sat, 15 Feb 2014 00:01:38 +0000 (00:01 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplement a few more Array prototype functions in JS
oliver@apple.com [Fri, 14 Feb 2014 23:29:31 +0000 (23:29 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd SPI for authentication
andersca@apple.com [Fri, 14 Feb 2014 23:15:18 +0000 (23:15 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSave ARGV in a local to avoid repeated lookups
mhahnenberg@apple.com [Fri, 14 Feb 2014 23:09:45 +0000 (23:09 +0000)]
Save ARGV in a local to avoid repeated lookups

Rubber stamped by Joseph Pecoraro.

* jsc-cli/jsc-cli/CLIInstance.m:
(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoASSERT(isValidAllocation(bytes)) when ObjC API creates custom errors
mhahnenberg@apple.com [Fri, 14 Feb 2014 22:44:52 +0000 (22:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMargin tiles are not created for the top and left sides when there is a < 1.0
bdakin@apple.com [Fri, 14 Feb 2014 22:30:18 +0000 (22:30 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agojsc-cli should allow scripts to access argv
mhahnenberg@apple.com [Fri, 14 Feb 2014 22:28:36 +0000 (22:28 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agosetSelection should not synchronously trigger layout
rniwa@webkit.org [Fri, 14 Feb 2014 22:27:04 +0000 (22:27 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd WKBackForwardListDidChangeNotification
andersca@apple.com [Fri, 14 Feb 2014 22:09:57 +0000 (22:09 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPurge remaining ENABLE(SHADOW_DOM) cruft.
akling@apple.com [Fri, 14 Feb 2014 21:29:02 +0000 (21:29 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[MediaControls][iOS] Embedded YouTube does not show a 'paused' button state after...
jer.noble@apple.com [Fri, 14 Feb 2014 21:21:24 +0000 (21:21 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[MediaControls][iOS] Start playback button is visible when playing embedded YouTube
jer.noble@apple.com [Fri, 14 Feb 2014 21:19:24 +0000 (21:19 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBaseline JIT should have a fast path to bypass the write barrier on op_enter
mhahnenberg@apple.com [Fri, 14 Feb 2014 21:17:50 +0000 (21:17 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[MediaControls] Add support for a loading progress meter
jer.noble@apple.com [Fri, 14 Feb 2014 21:15:52 +0000 (21:15 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS][WK2] Always enable AVKit in WK2
jer.noble@apple.com [Fri, 14 Feb 2014 21:13:59 +0000 (21:13 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoClean up JSDOMStringMap::deleteProperty
benjamin@webkit.org [Fri, 14 Feb 2014 21:00:19 +0000 (21:00 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImprove the performance on mobile of FTPDirectoryDocument
benjamin@webkit.org [Fri, 14 Feb 2014 20:59:27 +0000 (20:59 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDo not attempt to synchronize attributes when no Simple Selector could match an anima...
benjamin@webkit.org [Fri, 14 Feb 2014 20:58:28 +0000 (20:58 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
benjamin@webkit.org [Fri, 14 Feb 2014 20:56:02 +0000 (20:56 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago<rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keybo...
benjamin@webkit.org [Fri, 14 Feb 2014 20:53:13 +0000 (20:53 +0000)]
<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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDon't optimize variadic closure calls
fpizlo@apple.com [Fri, 14 Feb 2014 20:51:38 +0000 (20:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake code generation of the unoptimized pseudo classes separate
benjamin@webkit.org [Fri, 14 Feb 2014 20:47:12 +0000 (20:47 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: color wheel should support Retina displays
graouts@webkit.org [Fri, 14 Feb 2014 20:34:06 +0000 (20:34 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplement text-decoration-skip: auto
mmaxfield@apple.com [Fri, 14 Feb 2014 20:08:33 +0000 (20:08 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but...
mitz@apple.com [Fri, 14 Feb 2014 19:38:17 +0000 (19:38 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd -[WKWebView estimatedProgress]
andersca@apple.com [Fri, 14 Feb 2014 19:26:32 +0000 (19:26 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGive ScrollingTree(State)Nodes a reference to another layer, which is used for moving...
simon.fraser@apple.com [Fri, 14 Feb 2014 19:13:54 +0000 (19:13 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd -[WKWebView _handle]
andersca@apple.com [Fri, 14 Feb 2014 18:59:06 +0000 (18:59 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed test correction to get bots green.
bfulgham@apple.com [Fri, 14 Feb 2014 18:31:44 +0000 (18:31 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: WebKit needs heuristics to differentiate lists used for layout from semantic...
cfleizach@apple.com [Fri, 14 Feb 2014 17:52:41 +0000 (17:52 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse AtomicString arguments in TrackPrivateBaseClient callbacks
b.long@cablelabs.com [Fri, 14 Feb 2014 17:51:28 +0000 (17:51 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCreate some latched scrolling tests.
bfulgham@apple.com [Fri, 14 Feb 2014 17:48:55 +0000 (17:48 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleComma...
commit-queue@webkit.org [Fri, 14 Feb 2014 17:41:03 +0000 (17:41 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] visibility: hidden on a region should hide its content
abucur@adobe.com [Fri, 14 Feb 2014 17:35:22 +0000 (17:35 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[ASan] Disable JSStack::sanitizeStack() to avoid false-positive stack-buffer-overflow...
ddkilzer@apple.com [Fri, 14 Feb 2014 17:11:23 +0000 (17:11 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRefactoring design-mode-spellcheck-off.html to use asynchronous spellchecking
g.czajkowski@samsung.com [Fri, 14 Feb 2014 13:57:53 +0000 (13:57 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse asynchronous spellchecking in spelling-hasspellingmarker.js
g.czajkowski@samsung.com [Fri, 14 Feb 2014 12:26:54 +0000 (12:26 +0000)]
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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFollow-up fix after r164036.
ossy@webkit.org [Fri, 14 Feb 2014 11:52:05 +0000 (11:52 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r164090.
commit-queue@webkit.org [Fri, 14 Feb 2014 11:38:52 +0000 (11:38 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago(try)append and insert operations don't need new operator for PODs
commit-queue@webkit.org [Fri, 14 Feb 2014 11:14:56 +0000 (11:14 +0000)]
(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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCleaning the JSStaticScopeObject files left behind after renaming their objects to...
mario.prada@samsung.com [Fri, 14 Feb 2014 11:10:28 +0000 (11:10 +0000)]
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 <agomez@igalia.com> 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate Windows test expectations.
rniwa@webkit.org [Fri, 14 Feb 2014 09:47:10 +0000 (09:47 +0000)]
Update Windows test expectations.

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

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Cocoa] Expose the bundle form client
mitz@apple.com [Fri, 14 Feb 2014 06:04:27 +0000 (06:04 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Cocoa] Add a way to get the page from a frame in the injected bundle
mitz@apple.com [Fri, 14 Feb 2014 06:03:34 +0000 (06:03 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoKill some of the last vestiges of the C++ interpreter's PICs
fpizlo@apple.com [Fri, 14 Feb 2014 05:37:38 +0000 (05:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public...
commit-queue@webkit.org [Fri, 14 Feb 2014 04:03:59 +0000 (04:03 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] [CMake] JavaScriptCore crashes in JSC::eval
mrobinson@webkit.org [Fri, 14 Feb 2014 03:35:13 +0000 (03:35 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoThe JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs....
mark.lam@apple.com [Fri, 14 Feb 2014 02:42:10 +0000 (02:42 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoJSManagedValue::dealloc modifies NSMapTable while iterating it
mhahnenberg@apple.com [Fri, 14 Feb 2014 02:36:44 +0000 (02:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, fix build.
fpizlo@apple.com [Fri, 14 Feb 2014 02:32:02 +0000 (02:32 +0000)]
Unreviewed, fix build.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Unreviewed gardening of some timing out tests.
roger_fong@apple.com [Fri, 14 Feb 2014 02:25:28 +0000 (02:25 +0000)]
[Windows] Unreviewed gardening of some timing out tests.
https://bugs.webkit.org/show_bug.cgi?id=128789.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSpeculative Release build fix after r164077.
rniwa@webkit.org [Fri, 14 Feb 2014 02:04:51 +0000 (02:04 +0000)]
Speculative Release build fix after r164077.

* API/JSValue.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove position:sticky runtime flag
mmaxfield@apple.com [Fri, 14 Feb 2014 01:59:29 +0000 (01:59 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd -[WKWebView stopLoading:]
andersca@apple.com [Fri, 14 Feb 2014 01:53:43 +0000 (01:53 +0000)]
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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDumpRenderTree fails to build: Perl support module building for OS X but linking...
dfarler@apple.com [Fri, 14 Feb 2014 01:49:24 +0000 (01:49 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r164073 and r164080.
rniwa@webkit.org [Fri, 14 Feb 2014 01:44:07 +0000 (01:44 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix for Mountain Lion.
bfulgham@apple.com [Fri, 14 Feb 2014 01:30:10 +0000 (01:30 +0000)]
Unreviewed build fix for Mountain Lion.

* DumpRenderTree/mac/EventSendingController.mm: Provide definition
for kCGScrollWheelEventScrollPhase if it isn't found in the
system headers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd -[WKWebView activeURL]
andersca@apple.com [Fri, 14 Feb 2014 01:24:09 +0000 (01:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Shapes] Add performance test for complex polygon with shape-margin
zoltan@webkit.org [Fri, 14 Feb 2014 01:17:14 +0000 (01:17 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164078 268f45cc-cd09-0410-ab3c-d52691b4dbfc