[GTK] Bump minimum version of ATK used by jhbuild to at least 2.15.2
https://bugs.webkit.org/show_bug.cgi?id=139070

Reviewed by Carlos Garcia Campos.

Tools:

* gtk/jhbuild.modules:

LayoutTests:

* platform/gtk/accessibility/roles-exposed-expected.txt: Updated to reflect
the fact that the exposed role is STATIC and not UNKNOWN.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] Add video/mp2t as alternative mimetype for MPEG TS
https://bugs.webkit.org/show_bug.cgi?id=139433

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-09
Reviewed by Philippe Normand.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
It's used e.g. on http://www.jwplayer.com/html5/mediasource/ .

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Media][GTK][EFL] Reduce style updates (painting) in controls
https://bugs.webkit.org/show_bug.cgi?id=137773

Reviewed by Carlos Garcia Campos.

Don't update media controls if they are not visible, and
initialize slider to a zero value.

* Modules/mediacontrols/mediaControlsBase.js:
(Controller.prototype.createControls):
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):
* Modules/mediacontrols/mediaControlsGtk.js:
(ControllerGtk.prototype.updateTime):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] LDFLAGS is ignored when running g-ir-scanner
https://bugs.webkit.org/show_bug.cgi?id=138832

Patch by Ting-Wei Lan <lantw44@gmail.com> on 2014-12-09
Reviewed by Carlos Garcia Campos.

GTK+ requires libintl on FreeBSD because there is no gettext
implementation in FreeBSD libc. In order to link to libintl, which is
not located in the default search path of the linker, we need to add
the required path via the linker command line. However, LDFLAGS is
ignored when running g-ir-scanner starting from r167873, so we have
to manually pick required flags from CMAKE_SHARED_LINKER_FLAGS and
put them in correct order to prevent g-ir-scanner from linking to
the installed version of libraries.

* PlatformGTK.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
When invalidating fullscreen, cancel instead of stop optimizedFullscfreen.
https://bugs.webkit.org/show_bug.cgi?id=139145

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-09
Reviewed by Eric Carlson.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::invalidate): call cancel instead of stop
* platform/spi/ios/AVKitSPI.h: add -cancelOptimizedFullscreen.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix.

* UIProcess/API/Cocoa/_WKWebsiteDataStore.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
convertToUTF8String converts null string to empty string
https://bugs.webkit.org/show_bug.cgi?id=133904

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp

Return 0 if the string is null.

* bindings/gobject/ConvertToUTF8String.cpp:
(convertToUTF8String):

Tools:

Test that trying to get the value of a non-existent attribute
returns 0 instead of an empty string.

* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::testInsertion):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Give WebsiteDataStore a unique ID
https://bugs.webkit.org/show_bug.cgi?id=139448

Reviewed by Andreas Kling.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::generateIdentifier):
(WebKit::WebsiteDataStore::WebsiteDataStore):
* UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::identifier):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor of rebuildFloatingObjectSetFromIntrudingFloats function after r176957.
https://bugs.webkit.org/show_bug.cgi?id=139445

Reviewed by Darin Adler.

The function rebuildFloatingObjectSetFromIntrudingFloats would be clearer if
we use a helper function to locate the previous sibling with overhanging floats.

These changes has been suggested as part of the patch review for bug #139150, which
landed in r176957.

No new tests, no behavior change.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::avoidsFloats):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::previousSiblingWithOverhangingFloats):
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
* rendering/RenderBlockFlow.h:
* rendering/RenderBox.h:
(WebCore::RenderBox::isGridItem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Style fix following r177019.

Use nullptr instead of 0.

* bindings/gobject/ConvertToUTF8String.cpp:
(convertToUTF8String):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Undefined Symbol build error "_objc_registerThreadWithCollector" when building WebKit GTK Mac OS X on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=58737

Reviewed by Darin Adler.

Replace OS(MAC_OS_X) with PLATFORM(MAC) to prevent using
osx-specific code in WebKitGTK+ builds.

* wtf/ThreadingPthreads.cpp:
(WTF::initializeCurrentThreadInternal):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Apple] Use Accelerate framework to speed-up FEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=139310

Unreviewed followup, after comments by Andreas Kling.

It was pointed out that we already have a USE(ACCELERATE), so
we don't need a HAVE(ACCELERATE) :)

Source/WebCore:

* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::platformApply):

Source/WTF:

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN
https://bugs.webkit.org/show_bug.cgi?id=139402

Reviewed by Chris Fleizach.

Source/WebCore:

Expose tables and their children using existing table AtkRole types,
token elements using the new ATK_ROLE_STATIC, and row-like elements
using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row
and <ms> as math text.

No new tests; instead, added MathML elements to roles-exposed.html.

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isMathToken):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isMathToken):
(WebCore::AccessibilityRenderObject::isMathText):
(WebCore::AccessibilityRenderObject::isMathTableRow):
* accessibility/AccessibilityRenderObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
* css/mathml.css:
(ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
(mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
* mathml/mathtags.in:

LayoutTests:

* accessibility/roles-exposed.html: Added MathML elements.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/mac/accessibility/roles-exposed-expected.txt: Updated for added elements.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark several hidpi compositing tests that fail on EWS bots with ATI graphics.

* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Switch from using PLATFORM_NAME to SDK selectors in ANGLE, bmalloc, gtest, JavaScriptCore, WTF
<http://webkit.org/b/139212>

Reviewed by Joseph Pecoraro.

Source/bmalloc:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Only set LLVM_LOCAL_HEADER_PATH and LLVM_SYSTEM_HEADER_PATH on
  OS X.
- Set JAVASCRIPTCORE_CONTENTS_DIR and
  JAVASCRIPTCORE_FRAMEWORKS_DIR separately for iOS and OS X.

* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

* Configurations/JSC.xcconfig:
- Only set CODE_SIGN_ENTITLEMENTS for iOS hardware builds.

* Configurations/JavaScriptCore.xcconfig:
- Set OTHER_LDFLAGS separately for iOS and OS X.
- Set SECTORDER_FLAGS separately for iOS and OS X, but only for
  Production builds.
- Only set EXCLUDED_SOURCE_FILE_NAMES for iOS.

* Configurations/LLVMForJSC.xcconfig:
- Rename LLVM_LIBS_iphoneos to LLVM_LIBS_ios.
- Set LLVM_LIBRARY_PATHS and OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT
  separately for iOS hardware and OS X.
- Fix curly braces in LIBRARY_SEARCH_PATHS.
- Merge OTHER_LDFLAGS_BASE into OTHER_LDFLAGS. (Could have been
  done before this patch.)

* Configurations/ToolExecutable.xcconfig:
- Only set CODE_SIGN_ENTITLEMENTS for iOS, per target.
- Only set CLANG_ENABLE_OBJC_ARC for i386 on the iOS Simulator.
- Add missing newline.

* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:
- Only set SDKROOT and TOOLCHAINS on OS X.

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

Source/WTF:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Blink Merge: Remove 'http_lock' code from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=136722

Reviewed by Alexey Proskuryakov.

Based on Blink commit by Dirk Pranke <dpranke@chromium.org>
https://chromium.googlesource.com/chromium/blink/+/196f8146a948275c2f1594b13e30ab19a6e6fd66

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__):
(LayoutTestRunner.run_tests):
(LayoutTestRunner.start_servers): Renamed from start_servers_with_lock.
(LayoutTestRunner.stop_servers): Renamed from stop_servers_with_lock.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(FakePrinter.flush):
(LayoutTestRunnerTests._runner):
(LayoutTestRunnerTests._run_tests):
(LayoutTestRunnerTests.test_servers_started):
(LockCheckingRunner): Deleted.
(LockCheckingRunner.__init__): Deleted.
(LockCheckingRunner.handle_finished_list): Deleted.
(LayoutTestRunnerTests.test_http_locking): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.__init__):
(Port.to.http_server_supports_ipv6):
(Port.to.stop_websocket_server):
(Port.to.acquire_http_lock): Deleted.
(Port.to.release_http_lock): Deleted.
* Scripts/webkitpy/port/http_lock.py: Removed.
* Scripts/webkitpy/port/http_lock_unittest.py: Removed.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.show_results_html_file):
(IOSSimulatorPort.acquire_http_lock): Deleted.
(IOSSimulatorPort): Deleted.
(IOSSimulatorPort.release_http_lock): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort.show_results_html_file):
(MacPort): Deleted.
(MacPort.acquire_http_lock): Deleted.
(MacPort.release_http_lock): Deleted.
* Scripts/webkitpy/port/mock_drt.py:
(MockDRTPort.start_websocket_server):
(MockDRTPort.stop_websocket_server):
(MockDRTPort.acquire_http_lock): Deleted.
(MockDRTPort.release_http_lock): Deleted.
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTPortTest.test_uses_apache):
(MockDRTPortTest.integration_test_http_lock): Deleted.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.assert_servers_are_up):
(PortTestCase.integration_test_http_lock): Deleted.
* Scripts/webkitpy/port/test.py:
(TestPort.start_websocket_server):
(TestPort.stop_websocket_server):
(TestPort.acquire_http_lock): Deleted.
(TestPort.release_http_lock): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-enable function.arguments
https://bugs.webkit.org/show_bug.cgi?id=139452
Source/JavaScriptCore:

<rdar://problem/18848149>

Reviewed by Sam Weinig.

Disabling function.arguments broke a few websites, and we don't have
time right now to work through the details.

I'm re-enabling function.arguments but leaving in the infrastructure
to re-disable it, so we can try this experiment again in the future.

* runtime/Options.h:

LayoutTests:


Reviewed by Sam Weinig.

* TestExpectations: Re-enable these tests, since WebKit supports this
feature by default now.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG Tries using an inner object's getter/setter when one hasn't been defined
https://bugs.webkit.org/show_bug.cgi?id=139229

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added a new NullGetterFunction singleton class to use for getters and setters that
haven't been set to a user defined value.  The NullGetterFunction callReturnUndefined()
and createReturnUndefined() methods return undefined.  Changed all null checks of the
getter and setter pointers to the newly added isGetterNull() and isSetterNull()
helper methods.  

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
Added NullGetterFunction.cpp & .h to build files.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
(JSC::PropertyDescriptor::setAccessorDescriptor):
Changed checking getter and setter to null to use new isGetterNull() and isSetterNull()
helpers.

* inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
* inspector/JSJavaScriptCallFramePrototype.cpp:
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/JSObject.cpp:
(JSC::JSObject::putIndexedDescriptor):
(JSC::putDescriptor):
(JSC::JSObject::defineOwnNonIndexProperty):
* runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
* runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
Updated calls to GetterSetter::create(), setGetter(), setSetter(), withGetter()
and withSetter() to provide a global object.

* runtime/GetterSetter.cpp:
(JSC::GetterSetter::withGetter):
(JSC::GetterSetter::withSetter):
(JSC::callGetter):
(JSC::callSetter):
* runtime/GetterSetter.h:
(JSC::GetterSetter::GetterSetter):
(JSC::GetterSetter::create):
(JSC::GetterSetter::isGetterNull):
(JSC::GetterSetter::isSetterNull):
(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setSetter):
Changed to use NullGetterFunction for unspecified getters / setters.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::createThrowTypeError):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::evalFunction):
Added m_nullGetterFunction singleton.  Updated calls to GetterSetter::create(),
setGetter() and setSetter() to provide a global object.

* runtime/NullGetterFunction.cpp: Added.
(JSC::callReturnUndefined):
(JSC::constructReturnUndefined):
(JSC::NullGetterFunction::getCallData):
(JSC::NullGetterFunction::getConstructData):
* runtime/NullGetterFunction.h: Added.
(JSC::NullGetterFunction::create):
(JSC::NullGetterFunction::createStructure):
(JSC::NullGetterFunction::NullGetterFunction):
New singleton class that returns undefined when called.

LayoutTests:

New regression test.

* js/regress-139229-expected.txt: Added.
* js/regress-139229.html: Added.
* js/script-tests/regress-139229.js: Added.
(InnerObjectNoGetter):
(InnerObjectNoGetter.prototype.set enabled):
(InnerObjectNoSetter):
(InnerObjectNoSetter.prototype.get enabled):
(OuterObject):
(OuterObject.prototype.get enabled):
(OuterObject.prototype.set enabled):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1”
https://bugs.webkit.org/show_bug.cgi?id=139453
rdar://problem/19052192

Reviewed by Pratik Solanki.

Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path
if it was the first thing needed from it.

* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement clearing of cookies
https://bugs.webkit.org/show_bug.cgi?id=139455

Reviewed by Andreas Kling.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteData):
Handle deleting cookies by finding the right network storage session and deleting the cookies from it.
Then, send a DidDeleteWebsiteData message back.

* NetworkProcess/NetworkProcess.h:
Add new members.

* NetworkProcess/NetworkProcess.messages.in:
Add new DeleteWebsiteData message.

* Shared/WebsiteData/WebsiteDataTypes.h:
Move the website data types enum to its own file so it can be shared.

* UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(toWebsiteDataTypes):
Update now that WebsiteDataTypes is its own enum.

(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
removeDataModifiedSince was renamed to removeData.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::generateCallbackID):
Helper function to create a callback ID.

(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
Assert that we have no pending callbacks.

(WebKit::NetworkProcessProxy::deleteWebsiteData):
Put the completion handler in our map and message the network process.

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
Call all completion handlers.

(WebKit::NetworkProcessProxy::didDeleteWebsiteData):
Grab the completion handler and call it.

* UIProcess/Network/NetworkProcessProxy.h:
Add new members.

* UIProcess/Network/NetworkProcessProxy.messages.in:
Add DidDeleteWebsiteData callback.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::computeNetworkProcessAccessType):
Helper function that computes the type of process access we'd need for the given mask of
website data types.

(WebKit::WebsiteDataStore::removeData):
Gather all the network processes and message them. Use a callback aggregator object to track callbacks
so we'll call the completion handler once all callbacks have been invoked.

* UIProcess/WebsiteData/WebsiteDataStore.h:
Move WebsiteDataTypes to its own file.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

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