[GTK] Clean up compiler optimizations flags for libWTF, libJSC
https://bugs.webkit.org/show_bug.cgi?id=126157

Reviewed by Gustavo Noronha Silva.

Source/JavaScriptCore: 

* GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets
overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).

Source/WTF: 

* GNUmakefile.am: Remove the -fstrict-aliasing and -O3 compiler flags for libWTF.la. -O3 gets
overridden by -O2 that's listed in CXXFLAGS (or -O0 in case of debug builds) and -fstrict-aliasing
is enabled when -O2 is used (and shouldn't be enabled in debug builds anyway).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkit gtk 2.2.3 stable tarball compilation error
https://bugs.webkit.org/show_bug.cgi?id=125987

Reviewed by Gustavo Noronha Silva.

Only try including <gdk/gdkwayland.h> and using GDK_IS_WAYLAND_DISPLAY if the Wayland support has been
enabled and when not compiling with GTK+ 2 (which occurs when building for libPlatformGtk2).

* platform/graphics/GLContext.cpp:
(WebCore::GLContext::createContextForWindow):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout tests editing/selection/5057506.html and editing/selection/5057506-2.html
frequently time out on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124437

* platform/mac-wk2/TestExpectations: Marked the latter test accordingly. It used
to me marked as image failure, but I don't see this happen recently on the dashboard.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AudioSessionManager should be MediaSessionManager
https://bugs.webkit.org/show_bug.cgi?id=126087

Reviewed by Jer Noble.

No new tests, no change in functionality.

* WebCore.xcodeproj/project.pbxproj: Change file names.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): MediaSessionManagerToken::create() takes a client
    interface instead of the media type.
* html/HTMLMediaElement.h:

* platform/audio/AudioSessionListener.h: Include <wtf/Noncopyable.h>.

AudioSessionManager.* -> MediaSessionManager.*
* platform/audio/AudioSessionManager.cpp: Removed.
* platform/audio/AudioSessionManager.h: Removed.
* platform/audio/MediaSessionManager.cpp: Copied from Source/WebCore/platform/audio/AudioSessionManager.cpp.
(MediaSessionManagerToken::create):
(MediaSessionManagerToken::MediaSessionManagerToken):
(MediaSessionManagerToken::~MediaSessionManagerToken):
(MediaSessionManager::sharedManager):
(MediaSessionManager::MediaSessionManager):
(MediaSessionManager::has):
(MediaSessionManager::count):
(MediaSessionManager::addToken):
(MediaSessionManager::removeToken):
(MediaSessionManager::updateSessionState):
* platform/audio/MediaSessionManager.h: Copied from Source/WebCore/platform/audio/AudioSessionManager.h.

* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken::create() takes a
    client interface instead of the media type.
* platform/audio/mac/AudioDestinationMac.h:

* platform/audio/mac/AudioSessionMac.cpp:
* platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
* platform/audio/mac/MediaSessionManagerMac.cpp: Copied from Source/WebCore/platform/audio/mac/AudioSessionManagerMac.cpp.
(MediaSessionManager::updateSessionState):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r160945.
http://trac.webkit.org/changeset/160945
https://bugs.webkit.org/show_bug.cgi?id=126164

Seems to have broken multiple canvas tests (Requested by ap on
#webkit).

PerformanceTests:

* Canvas/reuse.html: Removed.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
* platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::createIOSurface):
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

LayoutTests:

* fast/canvas/canvas-backing-store-reuse-expected.txt: Removed.
* fast/canvas/canvas-backing-store-reuse.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert ThreadCondition in WebKit2 over to std::condition_variable
https://bugs.webkit.org/show_bug.cgi?id=126161

Reviewed by Sam Weinig.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/CoreIPC/Connection.h:
* Shared/BlockingResponseMap.h:
(BlockingResponseMap::waitForResponse):
(BlockingResponseMap::didReceiveResponse):
(BlockingResponseMap::cancel):
* UIProcess/API/mac/WKPrintingView.h:
* UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToPDF):
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(prepareDataForPrintingOnSecondaryThread):
(-[WKPrintingView knowsPageRange:]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: <rdar://problem/15682948> Update copyright strings
        
Reviewed by Dan Bernstein.

* Info.plist:
* JavaScriptCore.vcxproj/JavaScriptCore.resources/Info.plist:

Source/WebCore: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein

* Info.plist:

Source/WebKit/mac: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein.

* Info.plist:

Source/WebKit2: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein

* DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist:
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist:
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist:
* Info.plist:
* NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
* PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
* WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

WebKitLibraries: <rdar://problem/15682948> Update copyright strings

Reviewed by Dan Bernstein.

* win/tools/scripts/COPYRIGHT-END-YEAR:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Revert accidental Localizable.string change after r161003.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Include <condition_variable>, not <thread>.

* Platform/CoreIPC/Connection.h:
* Shared/BlockingResponseMap.h:
* UIProcess/API/mac/WKPrintingView.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use std::chrono::milliseconds for message wait timeouts in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=126168

Reviewed by Sam Weinig.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::waitForAndDispatchImmediately):
* UIProcess/API/mac/WKView.mm:
(-[WKView forceAsyncDrawingAreaSizeUpdate:]):
(-[WKView waitForAsyncDrawingAreaSizeUpdate]):
* UIProcess/DrawingAreaProxy.cpp:
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::didUpdateBackingStoreStateTimeout):
(WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::waitForDidUpdateViewState):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r160847): fast/dynamic/paused-event-dispatch.html is failing
https://bugs.webkit.org/show_bug.cgi?id=126163

Unreviewed. Try increasing the timeouts after r160896.

* fast/dynamic/paused-event-dispatch.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161008 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update custom setter implementations to perform type checks
https://bugs.webkit.org/show_bug.cgi?id=126171

Reviewed by Daniel Bates.

Source/JavaScriptCore:

Modify the setter function signature to take encoded values
as we're changing the setter usage everywhere anyway.

* runtime/Lookup.h:
(JSC::putEntry):

Source/WebCore:

Update the bindings code generator for setters so that they perform a real
type check.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeEventListenerCall):
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
* bindings/scripts/test/JS/JSTestTypedefs.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add id matching to the Selector Code Generator
https://bugs.webkit.org/show_bug.cgi?id=126154

Reviewed by Antti Koivisto.

Compile matching for #id selectors. IDs are Atomic String so it is just a matter
of comparing the pointers.

No attempt is made at optimizing for the double #id case because such problem
do not really happen outside tests.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasId):
* dom/Element.h:
(WebCore::Element::elementDataMemoryOffset):
* dom/ElementData.h:
(WebCore::ElementData::idForStyleResolutionMemoryOffset):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
svg/animations/getCurrentTime-pause-unpause.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=124933

* platform/mac/TestExpectations: Marking as such.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r160672): Random remote layers are getting shadows
https://bugs.webkit.org/show_bug.cgi?id=126126

Reviewed by Anders Carlsson.

In http://trac.webkit.org/changeset/160672, we unconditionally
check m_properties.customAppearance without regard for whether it
has ever been initialized. This would result in sending an uninitialized
custom appearance to the UI process, which could end up requesting a shadow.

* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
Initialize LayerProperties to the CoreAnimation defaults.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::PlatformCALayerRemote):
Remove wrongly-placed default initialization of contentsScale;
there's no reason to send it across the wire for every new layer
if it's left at the default.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clear ScratchBuffer::m_lastLayerSize when clearing the scratch buffer.
https://bugs.webkit.org/show_bug.cgi?id=126150

Reviewed by Simon Fraser.

Since ScratchBuffer::clearScratchBuffer only clears m_lastRadius,
ShadowBlur doesn't draw shadow into the re-created scratch buffer if it
tries to draw shadow without blurRadius.

Clear m_lastLayerSize to empty is enought to ensure that there is no
drawn contents in the scratch buffer.

No new tests due to the flaky nature of reproducing the issue.

* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::clearScratchBuffer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [CMake] Build the WebKit1 GObject API tests
https://bugs.webkit.org/show_bug.cgi?id=125684

Reviewed by Daniel Bates.

.:

* Source/PlatformGTK.cmake: Added.

Source/WebKit/gtk:

* tests/CMakeLists.txt: Added.
* tests/testapplicationcache.c: Use the WTF config.h instead of including the autotools configuration directly.
* tests/testatk.c: Ditto.
* tests/testatkroles.c: Ditto.
* tests/testcontextmenu.c: Ditto.
* tests/testcopyandpaste.c: Ditto.
* tests/testdomdocument.c: Ditto.
* tests/testdomdomwindow.c: Ditto.
* tests/testdomnode.c: Ditto.
* tests/testdownload.c: Ditto.
* tests/testfavicondatabase.c: Ditto.
* tests/testglobals.c: Ditto.
* tests/testhittestresult.c: Ditto.
* tests/testhttpbackend.c: Ditto.
* tests/testkeyevents.c: Ditto.
* tests/testloading.c: Ditto.
* tests/testmimehandling.c: Ditto.
* tests/testnetworkrequest.c: Ditto.
* tests/testnetworkresponse.c: Ditto.
* tests/testwebbackforwardlist.c: Ditto.
* tests/testwebdatasource.c: Ditto.
* tests/testwebframe.c: Ditto.
* tests/testwebhistoryitem.c: Ditto.
* tests/testwebinspector.c: Ditto.
* tests/testwebplugindatabase.c: Ditto.
* tests/testwebresource.c: Ditto.
* tests/testwebsettings.c: Ditto.
* tests/testwebview.c: Ditto.
* tests/testwindow.c: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [CMake] Build the WebKit2 GObject API tests
https://bugs.webkit.org/show_bug.cgi?id=125683

Reviewed by Daniel Bates.

.:

* Source/PlatformGTK.cmake: Load the WebKit2 tests file if necessary.
* Source/cmake/FindATSPI.cmake: Added.
* Source/cmake/OptionsGTK.cmake: Look for AT-SPI, but don't fail if it isn't found.

Source/WebKit2:

* UIProcess/API/gtk/tests/CMakeLists.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [CMake] Add support for generating gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=116376

Reviewed by Martin Robinson.

.:

* Source/PlatformGTK.cmake: Added. New custom target that depends on a custom command
which calls our generate-gtkdoc script. It uses a docs-build.stamp for simplicity,
like the autotools build.

Source/WebKit2:

* PlatformGTK.cmake: make generated API files go to DerivedSources/WebKit2, to
match the autotools build and gtkdoc.py's expectation.

Tools:

* gtk/common.py: look for files in the directories used by the cmake build as well.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for GTK and EFL after r161007.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
Use std::chrono::milliseconds instead of double for the timeout parameter to
CoreIPC::Connection::waitForAndDispatchImmediately.


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