WebKit-https.git
5 years ago[GTK] Expose user script messages to GObject DOM bindings
carlosgc@webkit.org [Wed, 12 Nov 2014 12:30:38 +0000 (12:30 +0000)]
[GTK] Expose user script messages to GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=138411

Reviewed by Philippe Normand.

Source/WebCore:

* PlatformGTK.cmake: Add WebKitDOMCustomUnstable.h to the list of
installed headers and make a symlink for it in the DerivedSources dir.
* bindings/gobject/WebKitDOMCustomUnstable.h: Added.
* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_dom_window_get_webkit_namespace):
(webkit_dom_user_message_handlers_namespace_get_handler):
* bindings/scripts/CodeGeneratorGObject.pm:
(HasUnstableCustomAPI): Helper function to check if the given
class has custom unstable API.
(WriteData): Include WebKitDOMCustomUnstable.h header if the class
has API defined there.

Tools:

Add a test case to check that user script messages sent using the
DOM bindings API are also received in the UI process.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:
(UserScriptMessageTest::waitUntilMessageReceived):
(UserScriptMessageTest::postMessageAndWaitUntilReceived):
(testUserContentManagerScriptMessageFromDOMBindings):
(beforeAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(documentLoadedCallback):

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

5 years ago[GTK] Fix how SerializedScriptValue is exposed to GObject DOM bindings
carlosgc@webkit.org [Wed, 12 Nov 2014 12:26:26 +0000 (12:26 +0000)]
[GTK] Fix how SerializedScriptValue is exposed to GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=138409

Reviewed by Philippe Normand.

It's currently exposed as a WebKitDOMSerializedScriptValue class
that doesn't really exist. It should be handled as a string, that
is used to create a SerializedScriptValue when coming from the
API, and converted to a string again when returned to the API.

* bindings/scripts/CodeGeneratorGObject.pm:
(GetGlibTypeName): Return gchar* as glib type of SerializedScriptValue.
(IsGDOMClassType): Don't consider SerializedScriptValue as a GDOM class.
(GenerateFunction): Handle SerializedScriptValue parameters and
return values specially.
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(webkit_dom_test_callback_callback_with_serialized_script_value_param):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_serialized_value):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
(webkit_dom_test_serialized_script_value_interface_class_init):
(webkit_dom_test_serialized_script_value_interface_get_value):
(webkit_dom_test_serialized_script_value_interface_set_value):
(webkit_dom_test_serialized_script_value_interface_get_readonly_value):
(webkit_dom_test_serialized_script_value_interface_get_cached_value):
(webkit_dom_test_serialized_script_value_interface_set_cached_value):
(webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
(webkit_dom_test_typedefs_class_init):
(webkit_dom_test_typedefs_get_immutable_serialized_script_value):
(webkit_dom_test_typedefs_set_immutable_serialized_script_value):
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:

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

5 years ago[GTK] Move RedirectedXCompositeWindow from platform to WebKit2 layer
carlosgc@webkit.org [Wed, 12 Nov 2014 12:13:10 +0000 (12:13 +0000)]
[GTK] Move RedirectedXCompositeWindow from platform to WebKit2 layer
https://bugs.webkit.org/show_bug.cgi?id=138093

Reviewed by Martin Robinson.

Source/WebCore:

Remove RedirectedXCompositeWindow.

* PlatformGTK.cmake:

Source/WebKit2:

It's only used by WebKitWebViewBase. While moving the code the
following cleanups have been made:

  - Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
  - Use a helper class XDamageNotifier to handle the XDamage
    events filtering and notification.
  - Use std::function instead of pointer to function for the
    damage callback.
  - Pass the X display to the RedirectedXCompositeWindow constructor
    and keep it as a member to use it everywhere, instead of using
    the default display in some places and the widget display in others.
  - Pass the damage notify function as a contructor parameter of
    RedirectedXCompositeWindow instead of setting the callback
    right after creating the object.
  - Remove GLContextNeeded and all the dead code related to the
    CreateGLContext mode that is no longer used.
  - Rename cairoSurfaceForWidget() as surface().
  - windowId() has been renamed as windowID() and made const.
  - Use std::unique_ptr instead of PassOwnPtr.
  - Fix coding style issues.

* PlatformGTK.cmake:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseConstructed):
(webkitWebViewRenderAcceleratedCompositingResults):
(webkitWebViewBaseCreateWebPage):
(redirectedWindowDamagedCallback): Deleted.
* UIProcess/gtk/RedirectedXCompositeWindow.cpp: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.cpp.
(WebKit::XDamageNotifier::XDamageNotifier):
(WebKit::XDamageNotifier::add):
(WebKit::XDamageNotifier::remove):
(WebKit::XDamageNotifier::filterXDamageEvent):
(WebKit::XDamageNotifier::filterXEvent):
(WebKit::xDamageNotifier):
(WebKit::supportsXDamageAndXComposite):
(WebKit::RedirectedXCompositeWindow::create):
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::resize):
(WebKit::RedirectedXCompositeWindow::cleanupPixmapAndPixmapSurface):
(WebKit::RedirectedXCompositeWindow::surface):
* UIProcess/gtk/RedirectedXCompositeWindow.h: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h.
(WebKit::RedirectedXCompositeWindow::windowID):

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

5 years agoUnreviewed. Fix GTK+ clean build after r175930.
carlosgc@webkit.org [Wed, 12 Nov 2014 11:25:16 +0000 (11:25 +0000)]
Unreviewed. Fix GTK+ clean build after r175930.

Partial rollout of r175930 to not build the new unit test that
broke clean builds in GTK+ port.

* TestWebKitAPI/PlatformGTK.cmake:

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

5 years agoPatch
philn@webkit.org [Wed, 12 Nov 2014 08:25:05 +0000 (08:25 +0000)]
Patch

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

5 years ago[EFL] Clean up OwnPtr in RenderThemeEfl
gyuyoung.kim@samsung.com [Wed, 12 Nov 2014 07:59:21 +0000 (07:59 +0000)]
[EFL] Clean up OwnPtr in RenderThemeEfl
https://bugs.webkit.org/show_bug.cgi?id=138642

Reviewed by Zoltan Herczeg.

No new tests, no behavior change.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::applyEdjeRTLState): Clean up all remaining OwnPtr.

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

5 years agoMove Modules/websockets to std::unique_ptr
gyuyoung.kim@samsung.com [Wed, 12 Nov 2014 07:33:13 +0000 (07:33 +0000)]
Move Modules/websockets to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=138649

Reviewed by Chris Dumez.

Remove create() factory function and use std::make_unique<>, std::unique_ptr<>
instead of OwnPtr, PassOwnPtr.
However didReceiveBinaryData() is still using PassOwnPtr. It should be replaced
with std::unique_ptr<>

No new tests, no behavior.

* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
(WebCore::WebSocketChannel::didFail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::enqueueTextFrame):
(WebCore::WebSocketChannel::enqueueRawFrame):
(WebCore::WebSocketChannel::enqueueBlobFrame):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):
(WebCore::WebSocketChannel::sendFrame):
* Modules/websockets/WebSocketChannel.h:
* Modules/websockets/WebSocketDeflateFramer.cpp:
(WebCore::WebSocketDeflateFramer::createExtensionProcessor):
(WebCore::WebSocketDeflateFramer::enableDeflate):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::inflate):
(WebCore::WebSocketExtensionDeflateFrame::create): Deleted.
* Modules/websockets/WebSocketDeflateFramer.h:
(WebCore::DeflateResultHolder::create): Deleted.
(WebCore::InflateResultHolder::create): Deleted.
* Modules/websockets/WebSocketDeflater.cpp:
(WebCore::WebSocketDeflater::WebSocketDeflater):
(WebCore::WebSocketInflater::WebSocketInflater):
(WebCore::WebSocketDeflater::create): Deleted.
(WebCore::WebSocketInflater::create): Deleted.
* Modules/websockets/WebSocketDeflater.h:
* Modules/websockets/WebSocketExtensionDispatcher.cpp:
(WebCore::WebSocketExtensionDispatcher::addProcessor):
* Modules/websockets/WebSocketExtensionDispatcher.h:
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::addExtensionProcessor):
* Modules/websockets/WebSocketHandshake.h:

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

5 years agoVersioning.
bshafiei@apple.com [Wed, 12 Nov 2014 06:17:39 +0000 (06:17 +0000)]
Versioning.

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

5 years agoUnreviewed iOS build fix after r176001.
cdumez@apple.com [Wed, 12 Nov 2014 06:13:46 +0000 (06:13 +0000)]
Unreviewed iOS build fix after r176001.

Export an additional symbol.

* WebCore.exp.in:

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

5 years agoChange DFG to use scope operand for op_resolve_scope
msaboff@apple.com [Wed, 12 Nov 2014 06:00:42 +0000 (06:00 +0000)]
Change DFG to use scope operand for op_resolve_scope
https://bugs.webkit.org/show_bug.cgi?id=138651

Reviewed by Geoffrey Garen.

Changed to use the provided scope VirtualRegister.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getScope): Changed to use an argument scope register.
(JSC::DFG::ByteCodeParser::parseBlock): Created VirtualRegister from scope operand.

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

5 years ago[EFL] Unreviewed EFL gardening. Rebaseline after r174535.
jinwoo7.song@samsung.com [Wed, 12 Nov 2014 05:23:03 +0000 (05:23 +0000)]
[EFL] Unreviewed EFL gardening. Rebaseline after r174535.

* platform/efl/css3/selectors3/html/css3-modsel-61-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-83-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-61-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-83-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-61-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-83-expected.txt:
* platform/efl/fast/selectors/061-expected.txt:
* platform/efl/fast/selectors/083-expected.txt:

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

5 years ago[Mac] Add diagnostic logging for per-media-engine load failures
jer.noble@apple.com [Wed, 12 Nov 2014 04:29:54 +0000 (04:29 +0000)]
[Mac] Add diagnostic logging for per-media-engine load failures
https://bugs.webkit.org/show_bug.cgi?id=138647

Reviewed by Eric Carlson.

Add diagnostic logging fired whenever a media engine fails to load media,
even if another engine subsequentially succeeds. Add a mechanism for retrieving
the platform-specific error code from a given engine.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):
* page/DiagnosticLoggingKeys.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::platformErrorCode):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerEngineFailedToLoad):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::platformErrorCode):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::platformErrorCode):
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::assetErrorCode):
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetErrorCode):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::platformErrorCode):

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

5 years agoMark more virtual functions in HTMLInputElement as final
cdumez@apple.com [Wed, 12 Nov 2014 04:17:18 +0000 (04:17 +0000)]
Mark more virtual functions in HTMLInputElement as final
https://bugs.webkit.org/show_bug.cgi?id=138644

Reviewed by Andreas Kling.

Source/WebCore:

Mark more virtual functions in HTMLInputElement as final to help the
compiler optimize better.

No new tests, no behavior change.

* html/HTMLInputElement.h:

Source/WebKit:

Export an additional symbol to fix Windows build.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

5 years agoRemove IncrementalSweeper::create()
gyuyoung.kim@samsung.com [Wed, 12 Nov 2014 03:13:47 +0000 (03:13 +0000)]
Remove IncrementalSweeper::create()
https://bugs.webkit.org/show_bug.cgi?id=138243

Reviewed by Filip Pizlo.

As a step to use std::unique_ptr<> and std::make_unique<>, this patch removes
IncrementalSweeper::create(), then set constructor of IncrementalSweeper to public.
Now we begins to use std::make_unique<> to create IncrementalSweeper instance.

Source/JavaScriptCore:

* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::setIncrementalSweeper):
* heap/Heap.h:
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::create): Deleted.
* heap/IncrementalSweeper.h:

Source/WebCore:

No new tests, no behavior changes.

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
* platform/ios/WebSafeIncrementalSweeperIOS.h:

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

5 years agoWeb Inspector: Handle activating extra agents properly after inspector has connected
commit-queue@webkit.org [Wed, 12 Nov 2014 03:07:12 +0000 (03:07 +0000)]
Web Inspector: Handle activating extra agents properly after inspector has connected
https://bugs.webkit.org/show_bug.cgi?id=138639

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-11-11
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Instead of having the protocol configuration directly add the extra agent
to the inspector registry, isntead go through the augmentable controller.
The controller will initialize as required if we are already connected or not,
and will add to the registry.

The functional change here is that the frontend can be notified to activate
extra agents multiple times as agents eventually become available.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::activateExtraDomain):
* inspector/agents/InspectorAgent.h:
* inspector/augmentable/AugmentableInspectorController.h:
* inspector/scripts/codegen/generator_templates.py:
* inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/expected/enum-values.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
Rebased results.

Source/WebInspectorUI:

* UserInterface/Base/Main.js:
(WebInspector.activateExtraDomains):

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

5 years agoUse scope register when processing op_resolve_scope in LLInt and Baseline JIT
msaboff@apple.com [Wed, 12 Nov 2014 02:33:43 +0000 (02:33 +0000)]
Use scope register when processing op_resolve_scope in LLInt and Baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=138637

Reviewed by Mark Lam.

Filled out op_resolve_scope processing to use the scope operand to access the current
scope chain.

* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
Added scope virtual register parameter to emitResolveClosure().  Added new callOperation() to
support the additional argument.

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Added "scope" parameter to emitResolveClosure().  Passed scope register index to slow path.
Used scope virtual register instead of JSStack::ScopeChain.

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

5 years agoMove 'border-image-*' / '-webkit-mask-box-image-*' CSS properties to the new StyleBuilder
cdumez@apple.com [Wed, 12 Nov 2014 01:51:39 +0000 (01:51 +0000)]
Move 'border-image-*' / '-webkit-mask-box-image-*' CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138594

Reviewed by Antti Koivisto.

Move 'border-image-*' / '-webkit-mask-box-image-*' CSS properties from
DeprecatedStyleBuilder to the new StyleBuilder using custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImageModifier::getValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::setValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyInheritValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyInitialValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::getValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::setValue):

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

5 years agoAction menu hit testing is not working properly with all WK1 apps
bdakin@apple.com [Wed, 12 Nov 2014 01:29:43 +0000 (01:29 +0000)]
Action menu hit testing is not working properly with all WK1 apps
https://bugs.webkit.org/show_bug.cgi?id=138643
-and corresponding-
rdar://problem/18949376

Reviewed by Tim Horton.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _lookupText:]):

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

5 years agoModernize $buildingForIPhone in CodeGeneratorObjC.pm
ddkilzer@apple.com [Wed, 12 Nov 2014 01:20:30 +0000 (01:20 +0000)]
Modernize $buildingForIPhone in CodeGeneratorObjC.pm
<http://webkit.org/b/138640>

Reviewed by Daniel Bates.

Mac OS X is the only platform that supports NSColor, so rename
$buildingForIPhone to $shouldUseCGColor (which is actually what
the variable represents) and define it in terms of the "macosx"
platform name.

* bindings/scripts/CodeGeneratorObjC.pm:
($buildingForIPhone): Rename to $shouldUseCGColor.
($shouldUseCGColor): False if PLATFORM_NAME is not defined,
which is the case on older Xcodes when building for Mac OS X, or
if PLATFORM_NAME is equal to "macosx".  True otherwise.
(GetClassName): Switch to use new variable name.
(AddIncludesForType): Ditto.
(GenerateHeader): Remove dead code.  The
$buildingForTigerOrEarlier variable was accidentally
re-introduced in r161638, but was originally removed in r127032!
(GenerateImplementation): Switch to use new variable name.

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

5 years agoTemporarlity turn video/video-border-radius-expected.html into a non-reftest,
ap@apple.com [Wed, 12 Nov 2014 01:06:18 +0000 (01:06 +0000)]
Temporarlity turn video/video-border-radius-expected.html into a non-reftest,
hoping to get some error output from it.

* compositing/video/video-border-radius-expected.html: Removed.
* compositing/video/video-border-radius-expected.html-disabled: Copied from LayoutTests/compositing/video/video-border-radius-expected.html.
* compositing/video/video-border-radius-expected.png: Added.
* compositing/video/video-border-radius-expected.txt: Added.

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

5 years agoWeb Inspector: Don't require a debugger be attached for inspector auto attach
commit-queue@webkit.org [Wed, 12 Nov 2014 01:05:58 +0000 (01:05 +0000)]
Web Inspector: Don't require a debugger be attached for inspector auto attach
https://bugs.webkit.org/show_bug.cgi?id=138638

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-11-11
Reviewed by Timothy Hatcher.

* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate):

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

5 years agoAdd support for mailto: link action menus
timothy_horton@apple.com [Wed, 12 Nov 2014 00:59:54 +0000 (00:59 +0000)]
Add support for mailto: link action menus
https://bugs.webkit.org/show_bug.cgi?id=138641
<rdar://problem/18741567>

Reviewed by Beth Dakin.

* Shared/API/c/WKActionMenuTypes.h:
Add a new type for mailto links.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForMailtoLink]):
Build a DDActionContext and grab menu items for our mailto link.

(-[WKActionMenuController _defaultMenuItems]):
Get menu items from _defaultMenuItemsForMailtoLink if needed.

* WebCore.exp.in:
Add an export.

* platform/spi/mac/DataDetectorsSPI.h:
Add some DataDetectors SPI.

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

5 years agowebkit-patch --suggest-reviewers is broken with newer versions of git
ddkilzer@apple.com [Wed, 12 Nov 2014 00:46:41 +0000 (00:46 +0000)]
webkit-patch --suggest-reviewers is broken with newer versions of git
<http://webkit.org/b/138627>

Reviewed by Michael Saboff with feedback from Daniel Bates.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git._changes_files_for_commit): Strip blank lines instead of
assuming there is always a blank line at the beginning of the
list.

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

5 years agofast/text/international/hindi-spacing.html and transforms/2d/hindi-rotated.html are
ap@apple.com [Wed, 12 Nov 2014 00:23:18 +0000 (00:23 +0000)]
fast/text/international/hindi-spacing.html and transforms/2d/hindi-rotated.html are
flaky on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=138075

* platform/mac/TestExpectations: Mark them as such.

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

5 years agoinspector/css/matched-style-properties.html and inspector/css/selector-specificity...
ap@apple.com [Wed, 12 Nov 2014 00:15:26 +0000 (00:15 +0000)]
inspector/css/matched-style-properties.html and inspector/css/selector-specificity.html
are very flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=138636

Bring back Crash expectattion, as this is how it's reported on WK1. Also added one more test.

* platform/mac/TestExpectations:

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

5 years agocompositing/video/video-border-radius.html frequently times out on 10.8
ap@apple.com [Wed, 12 Nov 2014 00:09:51 +0000 (00:09 +0000)]
compositing/video/video-border-radius.html frequently times out on 10.8

Add an error even listener, to at hopefully get a proper failure when this happens.

* compositing/video/video-border-radius.html:

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

5 years agoClients should be notified when a page preview finishes
conrad_shultz@apple.com [Tue, 11 Nov 2014 23:59:41 +0000 (23:59 +0000)]
Clients should be notified when a page preview finishes
https://bugs.webkit.org/show_bug.cgi?id=138635

Reviewed by Tim Horton.

Add SPI to WKView to allow clients to do any cleanup that might be necessary when the preview closes.

* UIProcess/API/Cocoa/WKViewPrivate.h:
Declare new SPI.

* UIProcess/API/mac/WKView.mm:
(-[WKView _finishPreviewingURL:withPreviewView:]):
Stub SPI implementation.

* UIProcess/mac/WKActionMenuController.h:
Add an ivar for the preview view controller.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
Update to use the ivar.
(-[WKActionMenuController _clearPreviewPopover]):
Send -_finishPreviewingURL:withPreviewView: and nil out the view controller ivar.

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

5 years agoinspector/css/matched-style-properties.html and inspector/css/selector-specificity...
ap@apple.com [Tue, 11 Nov 2014 23:56:47 +0000 (23:56 +0000)]
inspector/css/matched-style-properties.html and inspector/css/selector-specificity.html
are very flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=138636

Updated the results and comments for tests that don't work in production builds,
those are not quite relevant here.

* platform/mac/TestExpectations:

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

5 years agoUpdate artwork for some action menu items
timothy_horton@apple.com [Tue, 11 Nov 2014 23:23:22 +0000 (23:23 +0000)]
Update artwork for some action menu items
https://bugs.webkit.org/show_bug.cgi?id=138634
<rdar://problem/18871984>

Reviewed by Anders Carlsson.

* Resources/OpenInNewWindowTemplate.pdf: Removed.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createActionMenuItemForTag:]):
(webKitBundleImageNamed): Deleted.
* WebKit2.xcodeproj/project.pbxproj:
Get rid of our custom art, and use system art for two more items.

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

5 years agoDRT and WKTR touch disk cache
ap@apple.com [Tue, 11 Nov 2014 23:13:05 +0000 (23:13 +0000)]
DRT and WKTR touch disk cache
https://bugs.webkit.org/show_bug.cgi?id=138622

Reviewed by Geoffrey Garen.

Source/WebKit2:

Setting a cache model has a very strange behavior in WebKit2, where it ignores
sizes that were explicitly passed from UI process, and uses different ones. As
setCacheModel() is always called on launch, it always creates a non-empty disk cache.

The design needs to be improved one day, but for now, just make sure that we never
create a disk cache during testing.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::platformSetCacheModel):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm: (prepareConsistentTestingEnvironment):
Set a shared cache before calling -_switchNetworkLoaderToNewTestingSession, not after,
because this function uses the shared cache.

* WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformInitializeContext):
Create an empty shared cache to prevent a default one from being created on disk.

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

5 years ago[iOS] video is sometimes allowed to play from the background
eric.carlson@apple.com [Tue, 11 Nov 2014 23:11:28 +0000 (23:11 +0000)]
[iOS] video is sometimes allowed to play from the background
https://bugs.webkit.org/show_bug.cgi?id=138522

Rubber-stamped by Jer Noble.

* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::updateClientDataBuffering): Call MediaSessionManager::sessionCanLoadMedia.

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

5 years ago[iOS] a page with video in optimized fullscreen is visible
eric.carlson@apple.com [Tue, 11 Nov 2014 22:59:28 +0000 (22:59 +0000)]
[iOS] a page with video in optimized fullscreen is visible
https://bugs.webkit.org/show_bug.cgi?id=138632

Reviewed by Anders Carlsson.

Source/WebCore:

* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
(WebCore::WebVideoFullscreenInterfaceAVKit::mode): Expose fullscreen mode.

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isPlayingFullscreenOptimizedVideo]): New.

* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewVisible): Return true if displaying optimized fullscreen
    video.

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

5 years agocompositing/video/video-border-radius.html frequently times out on 10.8
ap@apple.com [Tue, 11 Nov 2014 22:58:28 +0000 (22:58 +0000)]
compositing/video/video-border-radius.html frequently times out on 10.8

Add an event listener before setting source, not after. This should not affect
anything, but seems worth a try.

* compositing/video/video-border-radius.html:

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

5 years agoMountain Lion build fix
mmaxfield@apple.com [Tue, 11 Nov 2014 22:42:23 +0000 (22:42 +0000)]
Mountain Lion build fix
https://bugs.webkit.org/show_bug.cgi?id=138631

Reviewed by Simon Fraser.

* platform/spi/cocoa/CoreTextSPI.h:

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

5 years agoWeb Inspector: Main.js missing many trailing semicolons
jonowells@apple.com [Tue, 11 Nov 2014 22:20:31 +0000 (22:20 +0000)]
Web Inspector: Main.js missing many trailing semicolons
https://bugs.webkit.org/show_bug.cgi?id=138624

Add semicolons to function variable assignments.

Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js: Added semicolons.

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

5 years ago[iOS] cleanup wireless route monitoring
eric.carlson@apple.com [Tue, 11 Nov 2014 22:03:15 +0000 (22:03 +0000)]
[iOS] cleanup wireless route monitoring
https://bugs.webkit.org/show_bug.cgi?id=138614

Reviewed by Jer Noble.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::clearMediaPlayer): Add logging.
(WebCore::HTMLMediaElement::removeEventListener): Ditto.
(WebCore::HTMLMediaElement::createMediaPlayer): Ditto.

* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions): Add logging.
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Ditto.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Ditto.
(-[WebMediaSessionHelper initWithCallback:]): Ditto.
(-[WebMediaSessionHelper dealloc]): Always deallocate volume view and routing controller
    on the main thread.
(-[WebMediaSessionHelper clearCallback]): Add logging.
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Ditto.
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): Always call routing controller on
    the main thread.
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Ditto.
(-[WebMediaSessionHelper interruption:]): Add logging.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): Ditto.
(-[WebMediaSessionHelper applicationDidBecomeActive:]): Ditto.
(-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]): Ditto.

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

5 years agoUnreviewd iOS build fix
mmaxfield@apple.com [Tue, 11 Nov 2014 22:02:16 +0000 (22:02 +0000)]
Unreviewd iOS build fix

* platform/spi/cocoa/CoreTextSPI.h:

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

5 years agoProtect Document in ProcessingInstruction::setXSLStyleSheet()
ddkilzer@apple.com [Tue, 11 Nov 2014 21:56:21 +0000 (21:56 +0000)]
Protect Document in ProcessingInstruction::setXSLStyleSheet()
<http://webkit.org/b/138621>

Reviewed by Andreas Kling.

The patch is inspired by the following Blink revision by
<tasak@google.com>:
<https://src.chromium.org/viewvc/blink?view=rev&revision=182309>

* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setXSLStyleSheet):

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

5 years agoOccasional assertion failure under recommendedScrollbarStyleDidChange()
timothy_horton@apple.com [Tue, 11 Nov 2014 21:39:46 +0000 (21:39 +0000)]
Occasional assertion failure under recommendedScrollbarStyleDidChange()
https://bugs.webkit.org/show_bug.cgi?id=138604
<rdar://problem/18855914>

Reviewed by Beth Dakin.

It is possible for AppKit to install tracking areas into our view
behind our back, but we have code that depends on knowing exactly
the set of tracking areas installed on WKView.

Make this more robust by keeping a reference to the tracking area we
use for many things and manipulating that instead of making assumptions
about the total set of tracking areas on WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView _primaryTrackingArea]):
(-[WKView _replacePrimaryTrackingArea:]):
Provide a 'primary' tracking area setter/getter.

(-[WKView initWithFrame:context:configuration:webView:]):
Keep a reference to the original tracking area installed at initialization time.

* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
Instead of walking the set of tracking areas, make use of the fact that
we know exactly which tracking area we installed, and uninstall just that
one, and replace it with our newly-built one.

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

5 years agoFinish moving CTFontGetVerticalGlyphsForCharacters and CTLineCreateWithUniCharProvide...
mmaxfield@apple.com [Tue, 11 Nov 2014 21:37:03 +0000 (21:37 +0000)]
Finish moving CTFontGetVerticalGlyphsForCharacters and CTLineCreateWithUniCharProvider out from WKSI
https://bugs.webkit.org/show_bug.cgi?id=138623

Reviewed by Geoff Garen.

Source/WebCore:

No new tests because there is no behavior change.

* WebCore.exp.in:
* WebCore.order:
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/spi/cocoa/CoreTextSPI.h:

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebKit.order:

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* mac/WebKit2.order:

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

5 years agoUnreviewed Mountain Lion build fix
mmaxfield@apple.com [Tue, 11 Nov 2014 21:21:45 +0000 (21:21 +0000)]
Unreviewed Mountain Lion build fix

* platform/spi/cocoa/CoreTextSPI.h:

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

5 years agoUnreviewed, rolling out r175852.
commit-queue@webkit.org [Tue, 11 Nov 2014 21:13:59 +0000 (21:13 +0000)]
Unreviewed, rolling out r175852.
https://bugs.webkit.org/show_bug.cgi?id=138626

Broke PLT by introducing a crash. (Requested by rniwa on
#webkit).

Reverted changeset:

"Lazily create HTMLInputElement's inputType and shadow
subtree"
https://bugs.webkit.org/show_bug.cgi?id=138524
http://trac.webkit.org/changeset/175852

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

5 years agoAdd a respondsToSelector check to dismissActionMenuPopovers
timothy_horton@apple.com [Tue, 11 Nov 2014 20:56:20 +0000 (20:56 +0000)]
Add a respondsToSelector check to dismissActionMenuPopovers
​https://bugs.webkit.org/show_bug.cgi?id=138600
<rdar://problem/18932770>

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController dismissActionMenuPopovers]):
Avoid calling this wherever it doesn't exist.

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

5 years agoRegression(r175947): Caused assertions in debug builds
cdumez@apple.com [Tue, 11 Nov 2014 20:41:50 +0000 (20:41 +0000)]
Regression(r175947): Caused assertions in debug builds
https://bugs.webkit.org/show_bug.cgi?id=138620

Reviewed by Benjamin Poulain.

In HTMLCollection::traverseForward(), traversedCount was incremented 1
time too many when hitting the end of the collection (i.e. element
becomes null). Doing a partial revert.

No new tests, already covered by existing tests.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::traverseForward):

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

5 years agoHandle cases in StackVisitor::Frame::existingArguments() when lexicalEnvironment...
commit-queue@webkit.org [Tue, 11 Nov 2014 20:36:11 +0000 (20:36 +0000)]
Handle cases in StackVisitor::Frame::existingArguments() when lexicalEnvironment and/or unmodifiedArgumentsRegister is not set up yet
https://bugs.webkit.org/show_bug.cgi?id=138543

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-11-11
Reviewed by Geoffrey Garen.

Exception fuzzing may may raise exceptions in places where they would be
otherwise impossible. Therefore, a callFrame may lack activation even if
the codeBlock signals need of activation. Also, even if codeBlock
signals the use of arguments, the unmodifiedArgumentsRegister may not be
initialized yet (neither locally nor in lexicalEnvironment).

If codeBlock()->needsActivation() is false, unmodifiedArgumentsRegister
is already checked for Undefined. This patch applies the same check when
the condition is true (and also checks whether
callFrame()->hasActivation()).

* interpreter/CallFrame.h:
(JSC::ExecState::hasActivation):
Moved to interpreter/CallFrameInlines.h.
* interpreter/CallFrameInlines.h:
(JSC::CallFrame::hasActivation):
Fixed to verify that the JSValue returned by uncheckedActivation() is a
cell.
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::existingArguments):

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

5 years agoDataDetectors' menu items aren't presented in the telephone number menu
timothy_horton@apple.com [Tue, 11 Nov 2014 20:12:02 +0000 (20:12 +0000)]
DataDetectors' menu items aren't presented in the telephone number menu
https://bugs.webkit.org/show_bug.cgi?id=138602
<rdar://problem/18866308>

Reviewed by Beth Dakin.

We currently round-trip the DataDetectors telephone number NSMenuItems
through the very-lossy WebContextMenuItemData, for no real reason.
We should avoid this so that DataDetectors' actual NSMenuItems are
presented in the final menu, so that they can adjust their items after
providing them to us.

* Platform/mac/MenuUtilities.h:
* Platform/mac/MenuUtilities.mm:
(WebKit::menuItemTitleForTelephoneNumber): Deleted.
Stop adjusting the menu item titles, as they come correct now.

(WebKit::menuItemsForTelephoneNumber): Deleted.
(WebKit::menuForTelephoneNumber):
Return a fully-formed menu for the single telephone number case.

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::showTelephoneNumberMenu):
Present the fully-formed menu, without round-tripping through
WebContextMenuItemData, because we do not need to hand the items to
the context menu client (and indeed, were not), and because this
allows us to use the exact items returned by DataDetectors, so they
can keep ahold of the items that we actually present.

* UIProcess/PageClient.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::showPlatformContextMenu):
Add a Mac-only PageClient function for presenting a NSMenu at a
WKView-relative point.

* English.lproj/Localizable.strings:
Remove a now-unused localized string.

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

5 years ago[Frame Flattening] ASSERT(transaction->view == &view()) fails in RenderBlock::removeF...
dbates@webkit.org [Tue, 11 Nov 2014 19:38:37 +0000 (19:38 +0000)]
[Frame Flattening] ASSERT(transaction->view == &view()) fails in RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction()
https://bugs.webkit.org/show_bug.cgi?id=138615
<rdar://problem/18928487>

Reviewed by David Hyatt.

Source/WebCore:

Fixes an issue where we always expected that the RenderView associated with the RenderBlock called in
RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction() is the same as the RenderView associated with
the top transaction in the UpdateScrollInfoAfterLayoutTransaction stack regardless of frame flattening. This
expectation is only true when frame flattening is disabled.

Test: fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction):

LayoutTests:

Add a test that causes an assertion failure in affected builds.

* fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update-expected.txt: Added.
* fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html: Added.

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

5 years agoAdopt DDActionContext menu type SPI
timothy_horton@apple.com [Tue, 11 Nov 2014 19:18:58 +0000 (19:18 +0000)]
Adopt DDActionContext menu type SPI
https://bugs.webkit.org/show_bug.cgi?id=138603
<rdar://problem/18867627>

Reviewed by Anders Carlsson.

* platform/spi/mac/DataDetectorsSPI.h:
Add the new SPI.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Use the new SPI instead of WKSI.

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

5 years agoData Detectors popovers should be dismissed upon scrolling
timothy_horton@apple.com [Tue, 11 Nov 2014 19:17:11 +0000 (19:17 +0000)]
Data Detectors popovers should be dismissed upon scrolling
https://bugs.webkit.org/show_bug.cgi?id=138600
<rdar://problem/18932770>

Reviewed by Beth Dakin.

* platform/spi/mac/DataDetectorsSPI.h:
Adjust the SPI header.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
Dismiss popovers when we start preparing another menu.

(-[WKActionMenuController dismissActionMenuPopovers]):
Use the new DataDetectors SPI.

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

5 years agoLocalize strings for action menus
timothy_horton@apple.com [Tue, 11 Nov 2014 19:14:07 +0000 (19:14 +0000)]
Localize strings for action menus
https://bugs.webkit.org/show_bug.cgi?id=138591
<rdar://problem/18815343>

Reviewed by Dan Bates.

* English.lproj/Localizable.strings:
Add a bunch of localizable strings.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
Make use of the new strings.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _showTextIndicator]):
(-[WKActionMenuController _hideTextIndicator]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
Make use of the new strings.

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

5 years agoCleanup from r175379
mmaxfield@apple.com [Tue, 11 Nov 2014 19:13:06 +0000 (19:13 +0000)]
Cleanup from r175379
https://bugs.webkit.org/show_bug.cgi?id=138616

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

* WebCore.exp.in:
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebKit.order:

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* mac/WebKit2.order:

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

5 years agoMove CTFontTransformGlyphs out from WKSI
mmaxfield@apple.com [Tue, 11 Nov 2014 18:59:53 +0000 (18:59 +0000)]
Move CTFontTransformGlyphs out from WKSI
https://bugs.webkit.org/show_bug.cgi?id=138599

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

* WebCore.exp.in:
* WebCore.order:
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::applyTransforms):
* platform/graphics/SimpleFontData.h:
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/spi/cocoa/CoreTextSPI.h:

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebKit.order:

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* mac/WebKit2.order:

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

5 years agoMore iOS build fix.
mitz@apple.com [Tue, 11 Nov 2014 18:17:38 +0000 (18:17 +0000)]
More iOS build fix.

* WebView/WebHTMLViewInternal.h:

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

5 years agoiOS build fix.
mitz@apple.com [Tue, 11 Nov 2014 17:59:03 +0000 (17:59 +0000)]
iOS build fix.

* WebView/WebHTMLView.mm:

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

5 years agoUse std::unique_ptr<>|std::make_unique_ptr in RenderThemeEfl::ThemePartCacheEntry...
gyuyoung.kim@samsung.com [Tue, 11 Nov 2014 17:53:32 +0000 (17:53 +0000)]
Use std::unique_ptr<>|std::make_unique_ptr in RenderThemeEfl::ThemePartCacheEntry::create()
https://bugs.webkit.org/show_bug.cgi?id=138558

Reviewed by Anders Carlsson.

This patch removes PassOwnPtr and OwnPtr in RenderThemeEfl::ThemePartCacheEntry::create().
It would be good if we also remove create() factory function though, in this case, it is
a little hard to remove it since the create() factory function does many works to create
a ThemePartCacheEntry instance. Thus this patch just replaces PassOwnPtr|OwnPtr with
std::unique_ptr<> and std::make_unique<> in RenderThemeEfl::ThemePartCacheEntry::create().

Besides the theme entries have been maintained by Eina_List*. Unfortunately it doesn't support
std::unique_ptr<> yet. Thus the Eina_List* should be replaced with Vector<std::unique_ptr<>>
so that m_partCache has ownship of all EFL theme entries. This patch tries to keep original
cache algorithm based on Vector class.

No new tests, no behavior changes.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::getThemePartFromCache):
* platform/efl/RenderThemeEfl.h:

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

5 years agoMinor tweaks to HTMLCollection
darin@apple.com [Tue, 11 Nov 2014 17:35:29 +0000 (17:35 +0000)]
Minor tweaks to HTMLCollection
https://bugs.webkit.org/show_bug.cgi?id=138556

Reviewed by Chris Dumez.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
Update for namedElements function that now returns a Vector; also use
a new style for loop to iterate it.

* bindings/js/JSHTMLAllCollectionCustom.cpp: Removed some unneeded includes.
(WebCore::namedItems): Updated name to match WebKit coding style, and also
updated to use the return value from namedItems, which now returns a Vector.
(WebCore::callHTMLAllCollection): Updated for namedItems name change.
Also removed explicit Node* type from result of namedItemWithIndex, since that
function now returns a more specific type.
(WebCore::JSHTMLAllCollection::nameGetter): Update for namedItems name change.
(WebCore::JSHTMLAllCollection::item): Ditto.
(WebCore::JSHTMLAllCollection::namedItem): Ditto.

* bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Removed some unneeded includes.
(WebCore::namedItems): Updated name to match WebKit coding style, and also
updated to use the return value from namedItems, which now returns a Vector.
(WebCore::JSHTMLFormControlsCollection::nameGetter): Update for namedItems name change.
(WebCore::JSHTMLFormControlsCollection::namedItem): Ditto.

* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter): Updated to use the return value from
namedItems, which now returns a Vector.

* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::HTMLAllCollection): Marked the constructor inline,
since it's only used in one place, the create function.
(WebCore::HTMLAllCollection::~HTMLAllCollection): Deleted. No need to have an
explicit destructor since there's nothing special to implement, and includers of
the header file have everything they ened to compile the compiler-generated one.
(WebCore::HTMLAllCollection::namedItemWithIndex): Changed return type to Element.

* html/HTMLAllCollection.h: Removed unneeded explicit declaration of destructor.
Chagned return type of namedItemWithIndex to Element.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::rootTypeFromCollectionType): Marked this inline. Also
changed this to be a static member function so it can use the RootType enum, which
is now private to the class.
(WebCore::isMatchingHTMLElement): Marked this function static so it will get
internal linkage.
(WebCore::isMatchingElement): Ditto.
(WebCore::previousElement): Marked this function inline since it's called in only
one place. Changed argument type to a reference since it can never be null.
(WebCore::HTMLCollection::iterateForPreviousElement): Changed argument name and
also updated for above changes.
(WebCore::firstMatchingElement): Marked this function static so it will get
internal linkage.
(WebCore::nextMatchingElement): Ditto. Changed argument type to a reference
since it can never be null.
(WebCore::HTMLCollection::item): Changed return type to Element.
(WebCore::nameShouldBeVisibleInDocumentAll): Added an overload that takes an
Element. This streamlines the code below that calls it so it fits on one line.
(WebCore::firstMatchingChildElement): Marked this function static so it will get
internal linkage.
(WebCore::nextMatchingSiblingElement): Ditto. Changed argument type to a reference
since it can never be null.
(WebCore::HTMLCollection::usesCustomForwardOnlyTraversal): Moved here from the
header since, although it's marked inline, it's only used inside this file.
(WebCore::HTMLCollection::traverseForward): Restructured the code a little bit
to make the function smaller and possibly easier to read. This does add one
redundant null check, but it seems OK to do that.
(WebCore::HTMLCollection::collectionTraverseBackward): Tweaked foramtting a bit.
(WebCore::HTMLCollection::namedItem): Changed return type to Element. Tightened
the code that calls nameShouldBeVisibleInDocumentAll so it fits better on one line.
Changed code that handles m_shouldOnlyIncludeDirectChildren to use a nested if
instead of an && since it makes the code a little easier to read.
(WebCore::HTMLCollection::updateNamedElementCache): Tweaked code a little bit,
using shorter variable names, and using references instead of pointers. Also removed
the call to didPopulate, since setNamedItemCache now takes care of that.
(WebCore::HTMLCollection::namedItems): Changed to return a Vector instead of
appending to an existing one. Also use reserveInitialCapacity and uncheckedAppend
for better performance. Added a FIXME, because there seems to be something wrong
here about this being non-virtual. Made other small tweaks to streamline the code.
(WebCore::HTMLCollection::customElementAfter): Moved this here from the header.
There is no reason to need to inline this.

* html/HTMLCollection.h: Removed unneeded includes. Moved function bodies out
of the class definitions so the class definitions are easier to read. Made some
functions that were formerly public or protected be private instead. Added a call
to didPopulate to setNamedItemCache so the callers don't have to do it.

* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::namedItem): Changed return value to Element.
Tweaked coding style a little bit.
(WebCore::HTMLFormControlsCollection::updateNamedElementCache): Rearranged to
simplify a bit. Don't build the foundInputElements set when the owner is not a
form element, since we don't use the set in that case. Use shorter variable names,
and modern for loops. Also removed the call to didPopulate, since setNamedItemCache
now takes care of that.

* html/HTMLFormControlsCollection.h: Removed some uneeded forward declarations.
Updated return type for namedItem, and also made the override private.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::namedElements): Changed to return a Vector and updated
function name accordingly.
* html/HTMLFormElement.h: Ditto.

* html/HTMLNameCollection.h: Removed a stray blank line.

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::namedItem): Changed return value to Element.
(WebCore::HTMLSelectElement::item): Ditto.
* html/HTMLSelectElement.h: Ditto.

* page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Rewrote loop as a for loop rather than a while
loop. Removed unwanted use of children()->collectionBegin() to get the first element
child of an HTMLElement. This function uses a mix of DOM and rendering functions that
is probably incorrect, but I did not tackle fixing that at this time.

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

5 years ago[Mac] WebCore includes unused cursor image resources
mitz@apple.com [Tue, 11 Nov 2014 17:22:11 +0000 (17:22 +0000)]
[Mac] WebCore includes unused cursor image resources
https://bugs.webkit.org/show_bug.cgi?id=138605

Reviewed by Anders Carlsson.

* Resources/aliasCursor.png: Removed.
* Resources/cellCursor.png: Removed.
* Resources/contextMenuCursor.png: Removed.
* Resources/copyCursor.png: Removed.
* Resources/eastResizeCursor.png: Removed.
* Resources/eastWestResizeCursor.png: Removed.
* Resources/helpCursor.png: Removed.
* Resources/linkCursor.png: Removed.
* Resources/moveCursor.png: Removed.
* Resources/noDropCursor.png: Removed.
* Resources/noneCursor.png: Removed.
* Resources/northEastResizeCursor.png: Removed.
* Resources/northEastSouthWestResizeCursor.png: Removed.
* Resources/northResizeCursor.png: Removed.
* Resources/northSouthResizeCursor.png: Removed.
* Resources/northWestResizeCursor.png: Removed.
* Resources/northWestSouthEastResizeCursor.png: Removed.
* Resources/progressCursor.png: Removed.
* Resources/southEastResizeCursor.png: Removed.
* Resources/southResizeCursor.png: Removed.
* Resources/southWestResizeCursor.png: Removed.
* Resources/verticalTextCursor.png: Removed.
* Resources/waitCursor.png: Removed.
* Resources/westResizeCursor.png: Removed.
* Resources/zoomInCursor.png: Removed.
* Resources/zoomOutCursor.png: Removed.

* WebCore.xcodeproj/project.pbxproj: Removed references to the above files.

* platform/mac/CursorMac.mm:
(WebCore::Cursor::ensurePlatformCursor): For Help, Cell, ZoomIn and ZoomOut, don’t check
for a nil return value from wkCursor(), which can’t occur in any supported configuration.
For None, create a cursor with an empty NSImage instead of loading a transparent image from
the file system.
(WebCore::createNamedCursor): Deleted.

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

5 years agoUnreviewed, rolling out r175844.
gyuyoung.kim@samsung.com [Tue, 11 Nov 2014 17:16:02 +0000 (17:16 +0000)]
Unreviewed, rolling out r175844.

Win debug build has broken since r175844.

Reverted changeset:

"Use std::unique_ptr<> and std::make_unique<> in WebCore"
https://bugs.webkit.org/show_bug.cgi?id=138560
http://trac.webkit.org/changeset/175844

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

5 years agoQt/Chromium remnants in MediaPlayer
commit-queue@webkit.org [Tue, 11 Nov 2014 16:54:02 +0000 (16:54 +0000)]
Qt/Chromium remnants in MediaPlayer
https://bugs.webkit.org/show_bug.cgi?id=138611

Patch by Philippe Normand <pnormand@igalia.com> on 2014-11-11
Reviewed by Jer Noble.

* platform/graphics/MediaPlayer.h: Remove unused Qt/Chromium stuff.

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

5 years agoMove '-webkit-marquee-speed' CSS property to the new StyleBuilder
cdumez@apple.com [Tue, 11 Nov 2014 16:31:44 +0000 (16:31 +0000)]
Move '-webkit-marquee-speed' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138595

Reviewed by Antti Koivisto.

Move '-webkit-marquee-speed' CSS property from DeprecatedStyleBuilder
to the new StyleBuilder by adding a new MarqueeSpeed Converter.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue): Deleted.
(WebCore::ApplyPropertyMarqueeSpeed::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertMarqueeSpeed):

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

5 years ago[EFL] Unskip now passing http tests
commit-queue@webkit.org [Tue, 11 Nov 2014 16:29:23 +0000 (16:29 +0000)]
[EFL] Unskip now passing http tests
https://bugs.webkit.org/show_bug.cgi?id=137694

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-11-11
Reviewed by Csaba Osztrogonác.

* platform/efl/TestExpectations:

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

5 years ago[CSS Grid Layout] Limit the size of explicit/implicit grid
svillar@igalia.com [Tue, 11 Nov 2014 16:26:06 +0000 (16:26 +0000)]
[CSS Grid Layout] Limit the size of explicit/implicit grid
https://bugs.webkit.org/show_bug.cgi?id=136217

Reviewed by Andreas Kling.

Source/WebCore:

A recent change in the specs allow us to set a limit (maximum
size) for both the explicit and implicit grids so we can protect
ourselves from absurdly huge grid specifications. It was decided
to use the recommended limit which is 1 million.

This means that we can remove the old limitation for the number of
repetitions in repeat(). Instead we now clamp the number of
repetitions to the maximum value that allow us to have the maximum
number of whole repetitions without exceeding the track number
limit.

* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTrackRepeatFunction): Replaced the
old limit by the new one.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeItemsOnGrid): Use the amount of tracks
provided by GridResolvedPosition.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto.
* rendering/style/GridCoordinate.h:
(WebCore::GridSpan::GridSpan):
* rendering/style/GridResolvedPosition.cpp:
(WebCore::GridResolvedPosition::explicitGridColumnCount): Bring
the static function back to life.
(WebCore::GridResolvedPosition::explicitGridRowCount): Ditto.
(WebCore::explicitGridSizeForSide):
* rendering/style/GridResolvedPosition.h:

Tools:

Added a new unit test for the CSS parser. Right now it only checks
that we properly clamp the maximum number of tracks on a grid to a
maximum of 1 million.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/CSSParser.cpp: Added.
(TestWebKitAPI::computeNumberOfTracks): Helper function.
(TestWebKitAPI::TEST): Added a
CSSPropertyParserTest.GridTrackLimits test case.

LayoutTests:

Removed as they are now part of the WebCore's CSSParser.cpp unit
test. The reason why it was moved there is because the test would
require huge (~1000000 tracks) grid allocations, making the test
quite slow specially on Debug builds.

* fast/css-grid-layout/grid-element-repeat-max-repetitions-expected.txt: Removed.
* fast/css-grid-layout/grid-element-repeat-max-repetitions.html: Removed.

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

5 years ago[EFL] Unreviewed EFL gardening after r174233.
jinwoo7.song@samsung.com [Tue, 11 Nov 2014 13:13:07 +0000 (13:13 +0000)]
[EFL] Unreviewed EFL gardening after r174233.

* platform/efl/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
* platform/efl/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
* platform/efl/css2.1/t1602-c546-txt-align-00-b-expected.txt:
* platform/efl/fast/multicol/float-avoidance-expected.txt:
* platform/efl/fast/multicol/overflow-across-columns-expected.txt:
* platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.txt:
* platform/efl/fast/multicol/overflow-unsplittable-expected.txt:
* platform/efl/fast/multicol/positive-leading-expected.txt:
* platform/efl/fast/multicol/vertical-lr/float-avoidance-expected.txt:
* platform/efl/fast/multicol/vertical-rl/float-avoidance-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
* platform/efl/fast/text/hyphenate-character-expected.txt:
* platform/efl/fast/text/hyphens-expected.txt:
* platform/efl/fast/text/justified-selection-at-edge-expected.txt:
* platform/efl/fast/text/justify-nbsp-expected.txt: Added.
* platform/efl/fast/text/trailing-white-space-2-expected.txt:
* platform/efl/tables/mozilla/marvin/x_tbody_align_justify-expected.txt:
* platform/efl/tables/mozilla/marvin/x_td_align_justify-expected.txt:
* platform/efl/tables/mozilla/marvin/x_tfoot_align_justify-expected.txt:
* platform/efl/tables/mozilla/marvin/x_th_align_justify-expected.txt:
* platform/efl/tables/mozilla/marvin/x_thead_align_justify-expected.txt:
* platform/efl/tables/mozilla/marvin/x_tr_align_justify-expected.txt:

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

5 years agoCSS4 Selectors: Add multiple pseudo elements support to :matches
utatane.tea@gmail.com [Tue, 11 Nov 2014 11:14:06 +0000 (11:14 +0000)]
CSS4 Selectors: Add multiple pseudo elements support to :matches
https://bugs.webkit.org/show_bug.cgi?id=138214

Reviewed by Benjamin Poulain.

Source/WebCore:

In this patch, we implement (multiple) pseudo elements support to :matches.
Currently, we implemented it in css/SelectorChecker and there's no CSS JIT implementation.

And we change the semantics of pseudo element selector behavior.
Previously when pseudo element selector appeared in the non-rightmost
fragment, it was ignored. This patch changes it to unmatched.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus):
(WebCore::SelectorChecker::match):
(WebCore::hasScrollbarPseudoElement):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::MatchResult::matches):
(WebCore::SelectorChecker::MatchResult::updateWithMatchType):
(WebCore::SelectorChecker::MatchResult::fails):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setHasPseudoStyles):
* rendering/style/RenderStyleConstants.h:
(WebCore::PseudoIdSet::PseudoIdSet):
(WebCore::PseudoIdSet::fromMask):
(WebCore::PseudoIdSet::has):
(WebCore::PseudoIdSet::add):
(WebCore::PseudoIdSet::merge):
(WebCore::PseudoIdSet::operator &):
(WebCore::PseudoIdSet::operator |):
(WebCore::PseudoIdSet::operator bool):
(WebCore::PseudoIdSet::data):

LayoutTests:

* fast/selectors/pseudo-element-in-non-rightmost-fragments-expected.html: Added.
* fast/selectors/pseudo-element-in-non-rightmost-fragments.html: Added.
In this test, we ensure that pseudo elements selector in the
non-rightmost fragments becomes unmatched.
* fast/selectors/pseudo-element-inside-matches-expected.html: Added.
* fast/selectors/pseudo-element-inside-matches.html: Added.
* fast/selectors/ignore-pseudo-element-inside-non-rightmost-fragments-expected.txt: Added.
* fast/selectors/ignore-pseudo-element-inside-non-rightmost-fragments.html: Added.

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

5 years agowebkitpy test fix after r175867
evab.u-szeged@partner.samsung.com [Tue, 11 Nov 2014 10:44:08 +0000 (10:44 +0000)]
webkitpy test fix after r175867
https://bugs.webkit.org/show_bug.cgi?id=138607

Reviewed by Philippe Normand.

* Scripts/webkitpy/port/linux_get_crash_log_unittest.py:
(GDBCrashLogGeneratorTest.test_generate_crash_log):

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

5 years agoAnother assertion fix for debug builds after r175846.
akling@apple.com [Tue, 11 Nov 2014 09:21:18 +0000 (09:21 +0000)]
Another assertion fix for debug builds after r175846.

generateByIdStub() can now be called with an empty prototype chain
if kind == GetUndefined, so tweak the assertion to cover that.

* jit/Repatch.cpp:
(JSC::generateByIdStub):

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

5 years agowebkitpy: demangle C++ symbols from crash log stderr
philn@webkit.org [Tue, 11 Nov 2014 09:04:19 +0000 (09:04 +0000)]
webkitpy: demangle C++ symbols from crash log stderr
https://bugs.webkit.org/show_bug.cgi?id=138565

Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator.generate_crash_log): Process stderr output
with c++filt.

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

5 years ago[GTK] fix up the GDB backtrace report tool
philn@webkit.org [Tue, 11 Nov 2014 09:01:40 +0000 (09:01 +0000)]
[GTK] fix up the GDB backtrace report tool
https://bugs.webkit.org/show_bug.cgi?id=138564

Reviewed by Carlos Garcia Campos.

* Scripts/webkitpy/port/gtk.py:
(GtkPort._get_crash_log): Match the process name reported by the
driver with the GTK port WebProcess executable filename.
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator._get_gdb_output): Invoke gdb for the crashed
program.
(GDBCrashLogGenerator.generate_crash_log): Use %E in the core
pattern to workaround the 16 characters size limit of %e.

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

5 years agoLazily create HTMLInputElement's inputType and shadow subtree
cdumez@apple.com [Tue, 11 Nov 2014 07:19:53 +0000 (07:19 +0000)]
Lazily create HTMLInputElement's inputType and shadow subtree
https://bugs.webkit.org/show_bug.cgi?id=138524

Reviewed by Ryosuke Niwa.

When an HTMLInputElement was created by the parser, we would first call
HTMLInputElement::create(), then call Element::parserSetAttributes() on
the constructed input. With the previous implementation, this was a bit
inefficient because HTMLInputElement::create() would construct a
TextInputType inputType (as this is the default) as well as its
corresponding shadow subtree. Then, parserSetAttributes() would often
set the |type| attribute and would need to destroy this input type as
well as its subtree if the new |type| is not 'text', to create a new
inputType / shadow subtree of the right type. The profiler showed that
this was fairly expensive.

To improve this, this patch delays the inputType / shadow subtree
creation when the HTMLInputElement is constructed by the parser, until
the attributes are actually set by the parser. This way, we directly
create an inputType / shadow subtree of the right type.

I see a 1.4% speed up on speedometer (73.95 -> 75.0).

No new tests, no behavior change.

* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):
(WebCore::Element::parserDidFinishParsingAttributes):
* dom/Element.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::ensureInputType):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::parserDidFinishParsingAttributes):
* html/HTMLInputElement.h:

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

5 years agoFix possible crash when closing the web inspector
simon.fraser@apple.com [Tue, 11 Nov 2014 06:11:49 +0000 (06:11 +0000)]
Fix possible crash when closing the web inspector
https://bugs.webkit.org/show_bug.cgi?id=138597
rdar://problem/18872688

Reviewed by Andreas Kling.

I reported a crash when reloading a page after inspecting it, possibly caused by
r172864. Speculatively fix by null-checking the main frame.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::~WebInspectorClient):

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

5 years agoWeb Inspector: Update Esprima, remove WebInspector.Esprima global.
jonowells@apple.com [Tue, 11 Nov 2014 04:58:25 +0000 (04:58 +0000)]
Web Inspector: Update Esprima, remove WebInspector.Esprima global.
https://bugs.webkit.org/show_bug.cgi?id=138579

Reviewed by Timothy Hatcher.

Update esprima.js file to be unchanged by removing WebInspector.Esprima global object. Move esprima.js include
so that all external libraries load before the WebInspector namespace is declared in the combined Main.js.

* UserInterface/External/Esprima/esprima.js: File updated, no changes made.
* UserInterface/Main.html: esprima.js script tag moved up with other externals.
* UserInterface/Models/ScriptSyntaxTree.js: WebInspector.Esprima changed to esprima
(WebInspector.ScriptSyntaxTree):

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

5 years agoAssertion fix for debug builds after r175846.
akling@apple.com [Tue, 11 Nov 2014 04:32:16 +0000 (04:32 +0000)]
Assertion fix for debug builds after r175846.

PropertySlot::slotBase() will assert if the slot is unset, so reorder
the tests to check for isCacheableValue() first.

* jit/Repatch.cpp:
(JSC::tryCacheGetByID):

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

5 years agoSource/WebCore:
benjamin@webkit.org [Tue, 11 Nov 2014 03:49:08 +0000 (03:49 +0000)]
Source/WebCore:
Add parsing support for the extended :nth-last-child(An+B of selector-list) defined
https://bugs.webkit.org/show_bug.cgi?id=138520

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

Add parsing for :nth-last-child(An+B of selector-list). The selector is defined
in CSS Selectors Level 4: http://dev.w3.org/csswg/selectors4/#the-nth-last-child-pseudo

Tests: fast/css/parsing-css-nth-last-child-of-1.html
       fast/css/parsing-css-nth-last-child-of-2.html
       fast/css/parsing-css-nth-last-child-of-3.html
       fast/css/parsing-css-nth-last-child-of-4.html

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::detectFunctionTypeToken):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):

LayoutTests:
Add parsing support for the extended :nth-last-child(An+B of selector-list)
https://bugs.webkit.org/show_bug.cgi?id=138520

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

All the tests are variations of the existing tests for :nth-child(An+B of selector-list).

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/css/parsing-css-nth-last-child-of-1-expected.txt: Added.
* fast/css/parsing-css-nth-last-child-of-1.html: Added.
* fast/css/parsing-css-nth-last-child-of-2-expected.txt: Added.
* fast/css/parsing-css-nth-last-child-of-2.html: Added.
* fast/css/parsing-css-nth-last-child-of-3-expected.txt: Added.
* fast/css/parsing-css-nth-last-child-of-3.html: Added.
* fast/css/parsing-css-nth-last-child-of-4-expected.txt: Added.
* fast/css/parsing-css-nth-last-child-of-4.html: Added.

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

5 years agoSource/WebCore:
commit-queue@webkit.org [Tue, 11 Nov 2014 03:25:36 +0000 (03:25 +0000)]
Source/WebCore:
SVG foreign objects do not inherit the container coordinates system if they are repainted.
https://bugs.webkit.org/show_bug.cgi?id=138481.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-11-10
Reviewed by Simon Fraser.

If a foreign object is included in an SVG, it should inherit the coordinates system
of the container if it is repainted. The foreign object is actually redrawn in the
CSS coordinates system regardless of the transformation that may be applied to the
container.

The bug is RenderSVG* classes use computeFloatRectForRepaint(), but the rest of the
render classes use computeRectForRepaint(). RenderSVGForeignObject::computeRectForRepaint()
was not defined, so we end up hitting RenderObject::computeRectForRepaint() for
a RenderSVGTransformableContainer and completely miss the transform.

Tests: svg/transforms/svg-transform-foreign-object-repaint.html

Implement RenderSVGForeignObject::computeRectForRepaint() so we can apply the
container transformation on the SVG foreign object repaint rectangle.
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::computeRectForRepaint):
* rendering/svg/RenderSVGForeignObject.h:

LayoutTests:
SVG foreign objects do not inherit the container coordinates system if they are repainted..
https://bugs.webkit.org/show_bug.cgi?id=138481.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-11-10
Reviewed by Simon Fraser.

Ensure the repaint rectangle of the SVG foreign object is calculated correctly
when the container element has transformation.

* svg/transforms/svg-transform-foreign-object-repaint-expected.png: Added.
* svg/transforms/svg-transform-foreign-object-repaint-expected.txt: Added.
* svg/transforms/svg-transform-foreign-object-repaint.html: Added.

Re-baseline these tests since the render tree dumping uses renderer.absoluteClippedOverflowRect()
in writePositionAndStyle() to get the object rectangle so this issue only affects test output.

* svg/zoom/page/zoom-foreign-content-expected.txt:
* platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:

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

5 years agoThe JIT should cache property lookup misses.
akling@apple.com [Tue, 11 Nov 2014 03:10:13 +0000 (03:10 +0000)]
The JIT should cache property lookup misses.
<https://webkit.org/b/135578>

Source/JavaScriptCore:

Add support for inline caching of missed property lookups.
Previously this would banish us to C++ slow path.

It's implemented as a simple GetById cache that returns jsUndefined()
as long as the Structure chain check passes. There's no DFG exploitation
of this knowledge in this patch.

Test: js/regress/undefined-property-access.js (~5.5x speedup)

Reviewed by Filip Pizlo.

* bytecode/PolymorphicGetByIdList.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):

    Add GetByIdAccess::SimpleMiss so we can communicate to the DFG that
    the access has been cached.

* jit/Repatch.cpp:
(JSC::toString):
(JSC::kindFor):
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):

    Added a GetUndefined stub kind, just a simple "store jsUndefined()" snippet.
    Use this to cache missed lookups, piggybacking mostly on the GetValue kind.

* runtime/PropertySlot.h:
(JSC::PropertySlot::isUnset):

    Exposed the unset state so PropertySlot can communicate that lookup failed.

LayoutTests:

Add a JSRegress test for caching of property lookup misses.
There are three subtests:

    1. Pure speed test.
    2. Test for when a property previously cached as missing suddenly
       appears on the object.
    3. Same as (2), but it appears on the prototype.

The test runs ~5.5x faster with the optimization.

Reviewed by Filip Pizlo.

* js/regress/script-tests/undefined-property-access.js: Added.
(foo):
(bar):
(baz):
* js/regress/undefined-property-access-expected.txt: Added.
* js/regress/undefined-property-access.html: Added.

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

5 years agoAdd scope operand to op_create_lexical_environment
msaboff@apple.com [Tue, 11 Nov 2014 03:05:25 +0000 (03:05 +0000)]
Add scope operand to op_create_lexical_environment
https://bugs.webkit.org/show_bug.cgi?id=138588

Reviewed by Geoffrey Garen.

Added a second operand to op_create_lexical_environment that contains the scope register
to update.  Note that the DFG relies on operationCreateActivation() to update the
scope register since we can't issue a set() with a non-local, non-argument register.
This is temporary until the scope register is allocated as a local.

* bytecode/BytecodeList.json:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
Added the scope register operand.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
Filled in the scope register operand.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_lexical_environment):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_lexical_environment):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Set the scope register with the result of the appropriate create activation slow call.

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

5 years agoUse std::unique_ptr<> and std::make_unique<> in WebCore
gyuyoung.kim@samsung.com [Tue, 11 Nov 2014 01:47:36 +0000 (01:47 +0000)]
Use std::unique_ptr<> and std::make_unique<> in WebCore
https://bugs.webkit.org/show_bug.cgi?id=138560

Reviewed by Chris Dumez.

Clean up unused OwnPtr.h and PassOwnPtr.h and use std::unique_ptr.

No new tests, no behavior changes.

* Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
* dom/ContainerNode.h:
* dom/ElementIteratorAssertions.h:
(WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
* dom/ElementRareData.h:
* page/DragController.h:
* rendering/RenderView.h:

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

5 years agoTest that complext and fast text codepaths measure the same width
mmaxfield@apple.com [Tue, 11 Nov 2014 01:37:18 +0000 (01:37 +0000)]
Test that complext and fast text codepaths measure the same width
https://bugs.webkit.org/show_bug.cgi?id=138581

Reviewed by Simon Fraser.

* fast/text/space-width-expected.html: Added.
* fast/text/space-width.html: Added.

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

5 years agoWK1: Support default actions for editable text with misspelled word
bdakin@apple.com [Tue, 11 Nov 2014 01:21:50 +0000 (01:21 +0000)]
WK1: Support default actions for editable text with misspelled word
https://bugs.webkit.org/show_bug.cgi?id=138590
-and corresponding-
rdar://problem/18877506

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit/mac:

If there are misspelled word suggestions for editable text, create a new type of
menu with a spelling suggestion sub-menu.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]):
(-[WebActionMenuController _changeSelectionToSuggestion:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _changeSpellingToWord:]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebUIDelegatePrivate.h:

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

5 years agohttp tests should not use shared temporary files
ap@apple.com [Tue, 11 Nov 2014 01:16:15 +0000 (01:16 +0000)]
http tests should not use shared temporary files
https://bugs.webkit.org/show_bug.cgi?id=138583

Reviewed by Tim Horton.

Made some of the scripts that write to files take a path argument, and made others
more strictly serve only one test.

This way, we don't race for any files.

* http/tests/appcache/fail-on-update-2.html:
* http/tests/appcache/fallback.html:
* http/tests/appcache/main-resource-fallback-for-network-error-crash.html:
* http/tests/appcache/main-resource-hash.html:
* http/tests/appcache/main-resource-redirect.html:
* http/tests/appcache/multi-fallback.html:
* http/tests/appcache/non-html.xhtml:
* http/tests/appcache/offline-access.html:
* http/tests/appcache/online-whitelist.html:
* http/tests/appcache/remove-cache.html:
* http/tests/appcache/resources/counter.php: Removed.
* http/tests/appcache/resources/fail-on-update-2.php:
* http/tests/appcache/resources/fail-on-update.php:
* http/tests/appcache/resources/main-resource-redirect-frame.php:
* http/tests/appcache/resources/main-resource-redirect.manifest:
* http/tests/appcache/resources/non-html.manifest:
* http/tests/appcache/resources/offline-access-frame.html:
* http/tests/appcache/resources/offline-access.js:
* http/tests/appcache/resources/offline-access.manifest:
* http/tests/appcache/resources/online-whitelist.manifest:
* http/tests/appcache/resources/online-whitelist.php: Copied from LayoutTests/http/tests/appcache/resources/counter.php.
* http/tests/appcache/resources/remove-cache-frame-2.html:
* http/tests/appcache/resources/remove-cache-frame.html:
* http/tests/appcache/resources/remove-cache.php: Copied from LayoutTests/http/tests/appcache/resources/fail-on-update.php.
* http/tests/appcache/resources/update-cache.php: Copied from LayoutTests/http/tests/appcache/resources/versioned-manifest.php.
* http/tests/appcache/resources/versioned-manifest.php: Removed.
* http/tests/appcache/update-cache.html:
* http/tests/cache/network-error-during-revalidation.html:
* http/tests/cache/post-redirect-get.php:
* http/tests/cache/post-with-cached-subresources.php:
* http/tests/cache/reload-main-resource.php:
* http/tests/cache/resources/network-error-during-revalidation-frame.html:
* http/tests/cache/resources/partitioned-cache-echo-state.php:
* http/tests/cache/resources/partitioned-cache-loader.html:
* http/tests/cache/resources/post-image-to-verify.php:
* http/tests/cache/resources/reload-main-resource-iframe.php:
* http/tests/cache/stopped-revalidation.html:
* http/tests/cache/subresource-fragment-identifier.html:
* http/tests/css/border-image-loading.html:
* http/tests/css/css-image-loading.html:
* http/tests/css/mask-image-loading.html:
* http/tests/css/reflection-mask-image-loading.html:
* http/tests/css/resources/request-logging.js:
* http/tests/loading/preload-img-test.html:
* http/tests/local/link-stylesheet-load-order-preload.html:
* http/tests/local/link-stylesheet-load-order.html:
* http/tests/misc/link-rel-prefetch-and-subresource.html:
* http/tests/resources/network-simulator.php:
* http/tests/resources/tripmine.php: Removed.
* http/tests/xmlhttprequest/access-control-preflight-async-header-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-async-method-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-async-not-supported-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:
* http/tests/xmlhttprequest/access-control-preflight-headers-async.html:
* http/tests/xmlhttprequest/access-control-preflight-headers-sync.html:
* http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html:
* http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-sync-not-supported.html:
* http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html:
* http/tests/xmlhttprequest/resources/access-control-preflight-denied-xsrf.php:
* http/tests/xmlhttprequest/resources/no-custom-header.php:
* http/tests/xmlhttprequest/resources/redirect-cross-origin-tripmine.php: Copied from LayoutTests/http/tests/resources/tripmine.php.
* http/tests/xmlhttprequest/state-after-network-error.html:
* http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-responseURL.html:

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

5 years agoWeb Inspector: Add infrastructure for eslint based static analyzer
jonowells@apple.com [Tue, 11 Nov 2014 00:39:11 +0000 (00:39 +0000)]
Web Inspector: Add infrastructure for eslint based static analyzer
https://bugs.webkit.org/show_bug.cgi?id=137890

Reviewed by Timothy Hatcher.

Fix to previous patch to add AnalyzerManager and AnalyzerMessage classes. Changed Main.html to include ESLint.js
before Main.js in the combined resources.

* UserInterface/Base/Main.js:
* UserInterface/Controllers/AnalyzerManager.js: Added.
(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):
* UserInterface/Main.html:
* UserInterface/Models/AnalyzerMessage.js: Added.
(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):
* UserInterface/Models/SourceCode.js:

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

5 years agoWK1: Support default actions for editable whitespace
bdakin@apple.com [Tue, 11 Nov 2014 00:04:56 +0000 (00:04 +0000)]
WK1: Support default actions for editable whitespace
https://bugs.webkit.org/show_bug.cgi?id=138586
-and corresponding-
rdar://problem/18932048

Reviewed by Tim Horton.

New menu type. Just wants paste.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
* WebView/WebUIDelegatePrivate.h:

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

5 years agoRemove unnecessary null check in FrameSelection::nodeWillBeRemoved()
cdumez@apple.com [Tue, 11 Nov 2014 00:02:57 +0000 (00:02 +0000)]
Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
https://bugs.webkit.org/show_bug.cgi?id=138578

Reviewed by Andreas Kling.

Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
and turn the argument into a reference to make it clear it cannot be
null.

No new tests, no behavior change.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::willRemoveChild):
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
* dom/Document.h:
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::nodeWillBeRemoved):
(WebCore::NodeIterator::updateForNodeRemoval):
* dom/NodeIterator.h:
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::boundaryNodeWillBeRemoved):
(WebCore::Range::nodeWillBeRemoved):
* dom/Range.h:
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::setToBeforeChild):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren):
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::removeRedundantBlocks):
* editing/FrameSelection.cpp:
(WebCore::removingNodeRemovesPosition):
(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):
* editing/FrameSelection.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
* editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval):
* editing/htmlediting.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::nodeWillBeRemoved):
* page/EventHandler.h:

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

5 years agoWhitespace action menus aren't working properly
bdakin@apple.com [Mon, 10 Nov 2014 23:55:56 +0000 (23:55 +0000)]
Whitespace action menus aren't working properly
https://bugs.webkit.org/show_bug.cgi?id=138585
-and corresponding-
rdar://problem/18933586

Reviewed by Tim Horton.

Treat the whitespace menu as a text menu.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController isMenuForTextContent]):

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

5 years agoAdd test for fix of REGRESSION (r174985-174986): Site display disappears
msaboff@apple.com [Mon, 10 Nov 2014 23:23:49 +0000 (23:23 +0000)]
Add test for fix of REGRESSION (r174985-174986): Site display disappears
https://bugs.webkit.org/show_bug.cgi?id=138470

Reviewed by Geoffrey Garen.

This checks that document.write() and document.writeln() are cached and the same instance
is always returned.

* js/dom/document-write-functions-cached-expected.txt: Added.
* js/dom/document-write-functions-cached.html: Added.

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

5 years agoFix the build when CSS Selectors Level 4 is disabled
benjamin@webkit.org [Mon, 10 Nov 2014 22:48:10 +0000 (22:48 +0000)]
Fix the build when CSS Selectors Level 4 is disabled
https://bugs.webkit.org/show_bug.cgi?id=138533

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-10

* css/CSSSelector.cpp:
(WebCore::appendArgumentList):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):

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

5 years agoWK1: Support default actions for editable text
bdakin@apple.com [Mon, 10 Nov 2014 22:36:21 +0000 (22:36 +0000)]
WK1: Support default actions for editable text
https://bugs.webkit.org/show_bug.cgi?id=138580
-and corresponding-
rdar://problem/18877497

Reviewed by Tim Horton.

New menu type, and new action type for paste.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController willOpenMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForEditableText:]):
(-[WebActionMenuController _paste:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
* WebView/WebUIDelegatePrivate.h:

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

5 years agoWK1: Text is getting selected even when an action menu fails to invoke
bdakin@apple.com [Mon, 10 Nov 2014 22:12:01 +0000 (22:12 +0000)]
WK1: Text is getting selected even when an action menu fails to invoke
https://bugs.webkit.org/show_bug.cgi?id=138576
-and corresponding-
rdar://problem/18931330

Reviewed by Tim Horton.

Selection changes should happen in willOpenMenu: instead of prepareForMenu:
* WebView/WebActionMenuController.h:
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController willOpenMenu:withEvent:]):

_selectLookupText no longer needs to return a BOOL indicating success or failure.
(-[WebActionMenuController _selectLookupText]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

Pass willOpenMenu: on to the controller.
* WebView/WebView.mm:
(-[WebView willOpenMenu:withEvent:]):

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

5 years agoSupport throttling of DOMTimers using nested setTimeout() calls
cdumez@apple.com [Mon, 10 Nov 2014 22:05:52 +0000 (22:05 +0000)]
Support throttling of DOMTimers using nested setTimeout() calls
https://bugs.webkit.org/show_bug.cgi?id=138262

Reviewed by Gavin Barraclough.

Extend DOMTimers throttling support to timers that are using nested
setTimeout() calls instead of a setInterval(). To achieve this, this
patch introduces a NestedTimersMap singleton class where nested timers
are added, and for which we potentially update the next firing time,
after the parent timer is done executing.

I have verified this helps on ebay.com for example, which has timers
interacting with non-visible plugins that are scheduled using nested
setTimeout() calls with a frequency of 150 / 200 ms.

This is a second take on r175441, which caused intermittent crashes.
This time, nested timers are removed from the NestedTimersMap when
DOMTimer::removeById() is called. It would be unsafe to use the nested
timer afterwards because we don't hold a strong reference to it and
the ScriptExecutionContext is unref'ing the DOMTimer when
ScriptExecutionContext::removeTimeout() is called from
DOMTimer::removeById().

* page/DOMTimer.cpp:
(WebCore::NestedTimersMap::NestedTimersMap):
(WebCore::NestedTimersMap::~NestedTimersMap):
(WebCore::NestedTimersMap::add):
(WebCore::NestedTimersMap::remove):
(WebCore::NestedTimersMap::begin):
(WebCore::NestedTimersMap::end):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById):
(WebCore::DOMTimer::fired):

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

5 years agoUnreviewed, moved myself to the list of committers.
conrad_shultz@apple.com [Mon, 10 Nov 2014 22:01:59 +0000 (22:01 +0000)]
Unreviewed, moved myself to the list of committers.

* Scripts/webkitpy/common/config/contributors.json:

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

5 years ago[EME][Mac] Add a systemCode to distinguish when no expired sessions were found in...
jer.noble@apple.com [Mon, 10 Nov 2014 21:48:01 +0000 (21:48 +0000)]
[EME][Mac] Add a systemCode to distinguish when no expired sessions were found in response to a "keyrelease" message.
https://bugs.webkit.org/show_bug.cgi?id=138199

Reviewed by Eric Carlson.

Clients may want to be able to distinguish between cases where expired session data is not supported, and when
those data are supported, but none are found.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage):

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

5 years ago[iOS WK2] Scroll deceleration rate is wrong
simon.fraser@apple.com [Mon, 10 Nov 2014 21:39:02 +0000 (21:39 +0000)]
[iOS WK2] Scroll deceleration rate is wrong
https://bugs.webkit.org/show_bug.cgi?id=138574
rdar://problem/18715303

Reviewed by Benjamin Poulain.

The CSS Snap Points code incorrectly set the WKScrollView's deceleration rate,
overriding the custom value that UIWebScrollView sets.

Fix by having WKScrollView store the custom rate at init time, and
using that value in -scrollViewWillBeginDragging:.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewWillBeginDragging:]):
* UIProcess/ios/WKScrollView.h:
* UIProcess/ios/WKScrollView.mm:
(-[WKScrollView initWithFrame:]):

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

5 years agoREGRESSION(r174823): Several tests fail due to canplaythrough firing before tracks...
jer.noble@apple.com [Mon, 10 Nov 2014 20:43:50 +0000 (20:43 +0000)]
REGRESSION(r174823): Several tests fail due to canplaythrough firing before tracks are available
https://bugs.webkit.org/show_bug.cgi?id=137882

Reviewed by Eric Carlson.

Source/WebCore:

For HLS streams with only one video, audio, or text track, there will be no media selection group
for that media characteristic. When culling out AVPlayerItemTracks in tracksDidChange(), do not skip
tracks for which there is no matching AVMediaSelectionGroup.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasLoadedMediaSelectionGroups): Refactored.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Call above.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange):

LayoutTests:

* platform/mac/TestExpectations:
* platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

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

5 years agoSpeculative build fix.
bdakin@apple.com [Mon, 10 Nov 2014 20:39:24 +0000 (20:39 +0000)]
Speculative build fix.

* WebView/WebActionMenuController.mm:

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

5 years agoUnreviewed, rolling out r175813.
commit-queue@webkit.org [Mon, 10 Nov 2014 20:33:33 +0000 (20:33 +0000)]
Unreviewed, rolling out r175813.
https://bugs.webkit.org/show_bug.cgi?id=138573

Breaks complex text layout spacing (Requested by litherum on
#webkit).

Reverted changeset:

"[OSX] Some words are placed on top of each other in complex
text layout"
https://bugs.webkit.org/show_bug.cgi?id=138348
http://trac.webkit.org/changeset/175813

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

5 years agoRolling out failed build fix
bdakin@apple.com [Mon, 10 Nov 2014 20:31:53 +0000 (20:31 +0000)]
Rolling out failed build fix
http://trac.webkit.org/changeset/175819

* WebCore.exp.in:

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

5 years agoReset WebPageProxy's isPlayingAudio state after web process crash or page invalidation.
adachan@apple.com [Mon, 10 Nov 2014 20:31:49 +0000 (20:31 +0000)]
Reset WebPageProxy's isPlayingAudio state after web process crash or page invalidation.
https://bugs.webkit.org/show_bug.cgi?id=138559

Reviewed by Andreas Kling.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):

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

5 years agoAction menu initialization should be moved to _commonInitializationWithFrameName
bdakin@apple.com [Mon, 10 Nov 2014 20:25:13 +0000 (20:25 +0000)]
Action menu initialization should be moved to _commonInitializationWithFrameName
https://bugs.webkit.org/show_bug.cgi?id=138572
-and corresponding-
rdar://problem/18929733

Reviewed by Tim Horton.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:]):

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

5 years agoSpeculative build fix.
bdakin@apple.com [Mon, 10 Nov 2014 20:18:32 +0000 (20:18 +0000)]
Speculative build fix.

* WebCore.exp.in:

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

5 years agoSpeculative build fix.
bdakin@apple.com [Mon, 10 Nov 2014 20:15:42 +0000 (20:15 +0000)]
Speculative build fix.

* WebCore.exp.in:

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