2017-05-06  David Kilzer  <ddkilzer@apple.com>

        messages_unittest.py should support a [-r|--reset-results] switch
        <https://webkit.org/b/171627>

        Reviewed by Daniel Bates.

        This change adds support for a [-r|--reset-results] switch when
        running messages_unittest.py to make it easy to update the
        expected file results.

        This also cleans up a lot of duplicate code in
        messages_unittest.py by extracting common code into new methods
        and by pushing code down into methods where it's actually used.

        * Scripts/webkit/LegacyMessageReceiver-expected.cpp:
        * Scripts/webkit/LegacyMessages-expected.h:
        * Scripts/webkit/MessageReceiver-expected.cpp:
        * Scripts/webkit/MessageReceiverSuperclass-expected.cpp:
        * Scripts/webkit/Messages-expected.h:
        * Scripts/webkit/MessagesSuperclass-expected.h:
        - Update expected files using the new --reset-results switch.

        * Scripts/webkit/messages_unittest.py:
        - Remove what appears to be a debugging print statement.
        - Replace the code that reads in expected files with variables
          that contain the expected file names.  The code to read in the
          contents moved into
          GeneratedFileContentsTest.assertGeneratedFileContentsEqual().
        (ParsingTest.check_message):
        - Drive-by fix to change "!= None" to "is not None".
        (GeneratedFileContentsTest.assertGeneratedFileContentsEqual):
        - Add support for [-r|--reset-results] switch here.  This will
          write out updated expected file contents when the switch is
          used.
        - Push down most of the global code that reads in file contents
          into this method.
        - Change use of split('\n') into splitlines(False).
        (GeneratedFileContentsTest.assertHeaderEqual): Add.
        - Extracts common code from test_receiver_headers().
        (GeneratedFileContentsTest.assertImplementationEqual): Add.
        - Extracts common code from test_receiver_implementations().
        (HeaderTest):
        (HeaderTest.test_receiver_headers):
        - Rename from HeaderTest.test_header().
        - Simplify by calling assertHeaderEqual().
        (ReceiverImplementationTest):
        (ReceiverImplementationTest.test_receiver_implementations):
        - Rename from
          ReceiverImplementationTest.test_receiver_implementation().
        - Simplify by calling assertImplementationEqual().
        (add_reset_results_to_unittest_help): Add.
        - Inserts help text for [-r|--reset-results] switch.
        (parse_sys_argv): Add.
        - Parses [-r|--reset-results] switch, and then removes it from
          sys.argv.  We do this instead of using argparse so that the
          original help for the unittest module is still shown when
          using --help.

2017-05-04  David Kilzer  <ddkilzer@apple.com>

        check-webkit-style exits with an error while parsing Source/WebKit2/Scripts/webkit/ directory: KeyError: 'st'
        <https://bugs.webkit.org/show_bug.cgi?id=171510>

        Reviewed by Daniel Bates.

        The problem was that 'import parser' was ambiguous since there
        is a built-in parser module that comes with Python.  Changing
        'import parser' to 'from webkit import parser' fixed the error
        in check-webkit-style (and pylint) by forcing it to load the
        local 'parser' module, but then running messages_unittest.py
        directly would fail because .../Source/WebKit2/Scripts was not
        in the module search path by default.  This is fixed by using
        sys.path.append() to add .../Source/WebKit2/Scripts to the
        module search path based on the path to messages_unittest.py.

        As an added bonus, this patch also fixes all webkit-style issues
        in Source/WebKit2/Scripts/webkit/*.py files.

        * Scripts/webkit/messages.py:
        - Separate local module imports from built-in modules for
          consistency.
        - Fix whitespace issues for check-webkit-style, and remove stray
          semi-colon.
        * Scripts/webkit/messages_unittest.py:
        - Update sys.path to find the 'webkit' module based on the path
          to messages_unittest.py.  This makes 'from webkit import ...'
          statements work when running messages_unittest.py directly.
        - Change 'messages' and 'parser' modules to use
          'from webkit import ...' format for consistency.
        - Fix whitespace issues for check-webkit-style.
        * Scripts/webkit/model.py:
        - Fix whitespace issue for check-webkit-style.
        * Scripts/webkit/parser.py:
        - Fix whitespace issue for check-webkit-style.

2017-03-17  Tomas Popela  <tpopela@redhat.com>

        Fix uninitialized public members in WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=169604

        Reviewed by Michael Catanzaro.

        Found by Coverity scan.

        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::NetscapePluginX11::NetscapePluginX11):

2017-06-28  Konstantin Tokarev  <annulen@yandex.ru>

        [cmake] Improve configuration tests for librt and libatomic
        https://bugs.webkit.org/show_bug.cgi?id=173921

        Reviewed by Michael Catanzaro.

        1. Both tests are converted to use specialized CMake modules
        2. Both libraries are now linked only if they are really needed and usable
           by compiler
        3. librt is no more required to be detected by find_library(), which may fail
           in case of cross-compilation
        4. libatomic test moved to port-independent CMakeLists.txt

        * CMakeLists.txt:
        * PlatformGTK.cmake:

2017-05-22  Michael Catanzaro  <mcatanzaro@igalia.com>

        Add even more input validation in Connection::processMessage()
        https://bugs.webkit.org/show_bug.cgi?id=171682

        Reviewed by Carlos Garcia Campos.

        Verify that the size of the out-of-line message body matches the size of the AttachmentInfo
        that is containing it.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::processMessage):

2017-05-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Add more input validation in Connection::readBytesFromSocket()
        https://bugs.webkit.org/show_bug.cgi?id=171871

        Reviewed by Michael Catanzaro.

        Check the control message length is in the limits. Credit to Nathan Crandall for reporting this issue and
        submitting an equivalent fix.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::readBytesFromSocket):

2017-05-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Add more input validation in Connection::processMessage()
        https://bugs.webkit.org/show_bug.cgi?id=171682

        Reviewed by Michael Catanzaro.

        Check limits of attachments and message size. Credit to Nathan Crandall for reporting this issue and submitting
        an equivalent fix.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::processMessage):

2016-10-28  Brent Fulgham  <bfulgham@apple.com>

        Do a better job of protecting Frame objects in the context of JavaScript calls
        https://bugs.webkit.org/show_bug.cgi?id=164163
        <rdar://problem/28955249>

        Reviewed by Darin Adler.

        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
        (WebKit::InjectedBundleRangeHandle::renderedImage): Protected the Frame.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::insertTextAsync): Ditto.
        (WebKit::WebPage::setComposition): Ditto.
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::insertDictatedTextAsync): Ditto.

2016-09-19  Anders Carlsson  <andersca@apple.com>

        Suppress JavaScript prompts early on in certain cases
        https://bugs.webkit.org/show_bug.cgi?id=162243
        rdar://problem/27661602

        Reviewed by Geoffrey Garen.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::shouldSuppressJavaScriptDialogs):
        Add helper function.

        (WebKit::WebChromeClient::runJavaScriptAlert):
        (WebKit::WebChromeClient::runJavaScriptConfirm):
        (WebKit::WebChromeClient::runJavaScriptPrompt):
        Call helper function and return early if we should supress dialogs.

2016-08-24  Anders Carlsson  <andersca@apple.com>

        In some cases, an IPC::Connection won't know when the other end has gone away
        https://bugs.webkit.org/show_bug.cgi?id=161153
        rdar://problem/27896368

        Reviewed by Dan Bernstein.

        When being asked to invalidate a connection that isn't yet connected, make sure to release
        our send and receive rights so that the other end will get a failure when trying to connect.

        * Platform/IPC/mac/ConnectionMac.mm:
        (IPC::Connection::platformInvalidate):

2016-08-04  Chris Dumez  <cdumez@apple.com>

        Crash under NavigationState::NavigationClient::processDidCrash()
        https://bugs.webkit.org/show_bug.cgi?id=160563
        <rdar://problem/19814215>

        Reviewed by Sam Weinig.

        When WebPageProxy::close() gets called, make sure we destroy the page's
        navigationClient. If we don't then the navigationClient can outlive the
        navigationState, causing crashes when navigationClient tries to use its
        stale navigationState member reference later on. This happens when the
        WebPageProxy outlives its WKWebView because:
        1. WebPageProxy owns the navigationClient
        2. WKWebView owns the navigationState
        3. navigationClient has a reference to the navigationState as member.

        WebPageProxy can outlive the WKWebView because it is refCounted. It
        can happen for example when the client application uses the
        RelatedPage API as this extend the lifetime of the related WebPage's
        proxy but the application may not keep the related WKWebView alive.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::close):
        Note that it is safe to null out m_navigationClient here instead of
        creating a fresh one because there is a null check before every use
        of m_navigationClient in WebPageProxy.

2016-07-18  Anders Carlsson  <andersca@apple.com>

        Don't null out the IPC::Connection's XPC connection
        https://bugs.webkit.org/show_bug.cgi?id=159911
        rdar://problem/27018065

        Reviewed by Alex Christensen.

        The function that nulls out the XPC connection, platformInvalidate(), is called from the connection queue,
        whereas the XPC connection is normally accessed from the main thread leading to inconsistencies when the
        connection is being invalidated while the main thread is trying to access it.
        
        Fix this by simply never nulling out the XPC connection. It will be released when the IPC::Connection is destroyed anyway.

        * Platform/IPC/mac/ConnectionMac.mm:
        (IPC::Connection::platformInvalidate):

2016-07-21  Yongjun Zhang  <yongjun_zhang@apple.com>

        WebBackForwardList's currentIndex could get out of bounds when filtering items.
        https://bugs.webkit.org/show_bug.cgi?id=159986

        When generating a new BackForwardListState object, if we filter out multiple items in the list, the currentIndex could get
        out of bounds.

        Reviewed by Dan Bernstein.

        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::backForwardListState): Make currentIndex point to the last item if it is out of bounds.

2017-03-13  Konstantin Tokarev  <annulen@yandex.ru>

        [cmake] [WK2] Guard flags intended for GCC-like compilers with COMPILER_IS_GCC_OR_CLANG
        https://bugs.webkit.org/show_bug.cgi?id=169551

        Reviewed by Yusuke Suzuki.

        This change allows building WK2 code with MSVC.

        * CMakeLists.txt:

2017-03-09  Brady Eidson  <beidson@apple.com>

        Add WKURLSchemeHandler API for handling custom protocols.
        https://bugs.webkit.org/show_bug.cgi?id=169422

        Reviewed by Tim Horton.

        This introduces two new protocols to the WK2 API surface:
        - WKURLSchemeHandler
        - WKURLSchemeHandlerTask
        
        By registering an object that conforms to the WKURLSchemeHandler protocol with a WKWebViewConfiguration an application will
        be handed an object conforming to WKURLSchemeHandlerTask for each resource load in that WKWebView with a custom URL scheme.
        
        Using that id <WKURLSchemeHandlerTask>, the application can communicate the data for the resource back to WebKit.
        
        * Shared/API/APIObject.h:
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:

        * UIProcess/API/APIURLSchemeHandlerTask.cpp: 
        (API::URLSchemeHandlerTask::create):
        (API::URLSchemeHandlerTask::URLSchemeHandlerTask):
        * UIProcess/API/APIURLSchemeHandlerTask.h: 

        Add the WKURLSchemeHandler @protocol:
        * UIProcess/API/Cocoa/WKURLSchemeHandler.h: Added.

        Add the WKURLSchemeHandlerTask @protocol, as well as WebKit's concrete implementation of it:
        * UIProcess/API/Cocoa/WKURLSchemeHandlerTask.h: Added.
        * UIProcess/API/Cocoa/WKURLSchemeHandlerTask.mm: Added.
        (raiseExceptionIfNecessary):
        (-[WKURLSchemeHandlerTaskImpl request]):
        (-[WKURLSchemeHandlerTaskImpl didReceiveResponse:]):
        (-[WKURLSchemeHandlerTaskImpl didReceiveData:]):
        (-[WKURLSchemeHandlerTaskImpl didFinish]):
        (-[WKURLSchemeHandlerTaskImpl didFailWithError:]):
        (-[WKURLSchemeHandlerTaskImpl _apiObject]):
        * UIProcess/API/Cocoa/WKURLSchemeHandlerTaskInternal.h: 
        (WebKit::wrapper):

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _initializeWithConfiguration:]):
        (-[WKWebView urlSchemeHandlerForURLScheme:]):
        (+[WKWebView handlesURLScheme:]):

        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:]):
        (-[WKWebViewConfiguration urlSchemeHandlerForURLScheme:]):
        (-[WKWebViewConfiguration _urlSchemeHandlers]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h:

        * UIProcess/Cocoa/WebURLSchemeHandlerCocoa.h: 
        (WebKit::WebURLSchemeHandlerCocoa::apiHandler):
        * UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm: Added.
        (WebKit::WebURLSchemeHandlerCocoa::create):
        (WebKit::WebURLSchemeHandlerCocoa::WebURLSchemeHandlerCocoa):
        (WebKit::WebURLSchemeHandlerCocoa::platformStartTask):
        (WebKit::WebURLSchemeHandlerCocoa::platformStopTask):

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::creationParameters):
        (WebKit::WebPageProxy::setURLSchemeHandlerForScheme):
        (WebKit::WebPageProxy::urlSchemeHandlerForScheme):
        (WebKit::WebPageProxy::startURLSchemeHandlerTask):
        (WebKit::WebPageProxy::stopURLSchemeHandlerTask):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:

        * UIProcess/WebURLSchemeHandler.cpp: 
        (WebKit::generateWebURLSchemeHandlerIdentifier):
        (WebKit::WebURLSchemeHandler::WebURLSchemeHandler):
        (WebKit::WebURLSchemeHandler::~WebURLSchemeHandler):
        (WebKit::WebURLSchemeHandler::startTask):
        (WebKit::WebURLSchemeHandler::stopTask):
        * UIProcess/WebURLSchemeHandler.h: 
        (WebKit::WebURLSchemeHandler::identifier):

        * UIProcess/WebURLSchemeHandlerTask.cpp: Added.
        (WebKit::WebURLSchemeHandlerTask::create):
        (WebKit::WebURLSchemeHandlerTask::WebURLSchemeHandlerTask):
        (WebKit::WebURLSchemeHandlerTask::didReceiveResponse):
        (WebKit::WebURLSchemeHandlerTask::didReceiveData):
        (WebKit::WebURLSchemeHandlerTask::didComplete):
        (WebKit::WebURLSchemeHandlerTask::pageDestroyed):
        (WebKit::WebURLSchemeHandlerTask::stop):
        * UIProcess/WebURLSchemeHandlerTask.h: Added.
        (WebKit::WebURLSchemeHandlerTask::identifier):
        (WebKit::WebURLSchemeHandlerTask::request):

        * WebProcess/Network/WebLoaderStrategy.cpp:
        (WebKit::WebLoaderStrategy::scheduleLoad):
        (WebKit::WebLoaderStrategy::remove):
        * WebProcess/Network/WebLoaderStrategy.h:

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::urlSchemeHandlerForScheme):
        (WebKit::WebPage::registerURLSchemeHandler):
        (WebKit::WebPage::urlSchemeHandlerTaskDidReceiveResponse):
        (WebKit::WebPage::urlSchemeHandlerTaskDidReceiveData):
        (WebKit::WebPage::urlSchemeHandlerTaskDidComplete):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

        * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp: Added.
        (WebKit::WebURLSchemeHandlerProxy::WebURLSchemeHandlerProxy):
        (WebKit::WebURLSchemeHandlerProxy::~WebURLSchemeHandlerProxy):
        (WebKit::WebURLSchemeHandlerProxy::startNewTask):
        (WebKit::WebURLSchemeHandlerProxy::taskDidReceiveResponse):
        (WebKit::WebURLSchemeHandlerProxy::taskDidReceiveData):
        (WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
        * WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
        (WebKit::WebURLSchemeHandlerProxy::identifier):
        (WebKit::WebURLSchemeHandlerProxy::page):

        * WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.cpp: Added.
        (WebKit::WebURLSchemeHandlerTaskProxy::WebURLSchemeHandlerTaskProxy):
        (WebKit::WebURLSchemeHandlerTaskProxy::startLoading):
        (WebKit::WebURLSchemeHandlerTaskProxy::stopLoading):
        (WebKit::WebURLSchemeHandlerTaskProxy::didReceiveResponse):
        (WebKit::WebURLSchemeHandlerTaskProxy::didReceiveData):
        (WebKit::WebURLSchemeHandlerTaskProxy::didComplete):
        * WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.h:
        (WebKit::WebURLSchemeHandlerTaskProxy::request):

        * WebKit2.xcodeproj/project.pbxproj:
        * CMakeLists.txt:

2016-02-20  Olivier Blin  <olivier.blin@softathome.com>

        [cmake] Use ICU include dirs in WebKit2 and WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=154479

        Reviewed by Michael Catanzaro.

        * CMakeLists.txt:

2016-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.5 release.

        * gtk/NEWS: Add release notes for 2.12.5.

2016-08-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r194846): [GTK] UI process crash visiting sites protected with HTTP auth when using GTK+ < 3.14
        https://bugs.webkit.org/show_bug.cgi?id=161385

        Reviewed by Antonio Gomes.

        Since r194846, we are chaining up webkitWebViewBaseMotionNotifyEvent, but before GTK+ 3.14
        GtkWidget::motion_notify_event was nullptr, so it can't be used unconditionally.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseMotionNotifyEvent):

2016-07-07  Alex Christensen  <achristensen@webkit.org>

        Followup to r202939.
        https://bugs.webkit.org/show_bug.cgi?id=159526

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didFailLoading):
        We need the correct destination id when sending a message.

2016-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.4 release.

        * gtk/NEWS: Add release notes for 2.12.4.

2016-08-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Bad performance in accelerated compositing mode with the modesetting intel driver and DRI3 enabled
        https://bugs.webkit.org/show_bug.cgi?id=160491

        Reviewed by Michael Catanzaro.

        This is becoming the default in several linux distributions and it makes WebKitGTK+ unusable in accelerated
        compositing mode, which is now always enabled because since we switched to use the threaded compositor. The
        problem seems to be an optimization of the intel driver for windows that are offscreen, and our redirected
        window is always positioned at ScreenWidth + 1, 0. Using negative coordinates to position the redirected window
        offscreen fixes the problem.
        See also https://bugs.freedesktop.org/show_bug.cgi?id=85064.

        * WebProcess/WebPage/gtk/RedirectedXCompositeWindow.cpp:
        (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): Position the parent window at -1, -1.

2016-08-03  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Document how to initialize WebKitFaviconDatabase
        https://bugs.webkit.org/show_bug.cgi?id=160391

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

2016-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] WebKitGtk+ uses too many file descriptors
        https://bugs.webkit.org/show_bug.cgi?id=152316

        Reviewed by Michael Catanzaro.

        The problem is that we are keeping file descriptors open in SharedMemory objects. Those objects can be kept
        alive for a long time, for example in case of cached resources sent from the network process as shareable
        resources. The thing is that we keep the file descriptor in the SharedMemory object only to be able to create a
        Handle, duplicating the file descriptor. However, we are also assuming that we create handles for SharedMemory
        objects created by another handle which is wrong. SharedMemory objects are created to map a file or data and
        then a handle is created to send it to another process, or to map an existing file or data for a given handle
        received from another process. They can also be created to wrap another map, but in that case we don't own the
        file descritor nor the mapped data. So, after mapping from a handle, we no longer need the file descriptor, and
        it can be closed to release it, while the mapped memory data will still be alive until munmap() is called. This
        drastically reduces the amount of file descriptors used by WebKitGTK+.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::readBytesFromSocket): Use setCloseOnExec().
        (IPC::Connection::createPlatformConnection): Ditto.
        * Platform/SharedMemory.h:
        * Platform/unix/SharedMemoryUnix.cpp:
        (WebKit::SharedMemory::map): Close the file descriptor right after mmap.
        (WebKit::SharedMemory::~SharedMemory): Close the file descriptor only if it hasn't been closed yet.
        (WebKit::SharedMemory::createHandle): Add an ASSERT to ensure we only try to create a handle for SharedMemory
        objects having a valid file descriptor. Use dupCloseOnExec() to duplicate the handle and set the close on exec flag.
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess): Use setCloseOnExec().

2016-07-04  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] Null WebCore::Range dereference in WebEditorClient::updateGlobalSelection
        https://bugs.webkit.org/show_bug.cgi?id=159341

        Reviewed by Carlos Garcia Campos.

        FrameSelection::toNormalizedRange() can return null. Null check is
        needed.

        Tests:
            editing/input/set-value-on-input-and-delete.html
            editing/selection/selection-in-iframe-removed-crash.html
            imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html
            imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html
            imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
            imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html

        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
        (WebKit::WebEditorClient::updateGlobalSelection): Do not update
        global selection if FrameSelection::toNormalizedRange() returns
        null.

2016-07-04  Fujii Hironori  <Hironori.Fujii@sony.com>

        [GTK] ASSERTION_FAILED: m_key != PTHREAD_KEYS_MAX when defining WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH
        https://bugs.webkit.org/show_bug.cgi?id=158149

        Reviewed by Carlos Garcia Campos.

        WTF::sleep can not be used at the beginning of web process because
        WTF is not initialized at the moment yet.

        * WebProcess/gtk/WebProcessMainGtk.cpp: Use g_usleep instead of WTF::sleep.

2016-06-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Browser plugins crash under Wayland
        https://bugs.webkit.org/show_bug.cgi?id=157605

        Reviewed by Michael Catanzaro.

        Fail the initialization of windowed plugins if we don't have a platform implementation.

        * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp:
        (WebKit::NetscapePlugin::platformPostInitialize):

2016-06-07  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Hide GTK+ 2 plugins if GTK+ 2 plugin process was built but is not installed
        https://bugs.webkit.org/show_bug.cgi?id=158419

        Reviewed by Carlos Garcia Campos.

        Patch by Alberto Garcia <berto@igalia.com>

        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
        (WebKit::PluginInfoStore::getPluginInfo):
        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
        (WebKit::PluginProcessProxy::scanPlugin):

2016-05-25  Fujii Hironori  <Hironori.Fujii@sony.com>

        [Unix] Potential buffer overrun of m_fileDescriptors in readBytesFromSocket of ConnectionUnix.cpp
        https://bugs.webkit.org/show_bug.cgi?id=158058

        Reviewed by Carlos Garcia Campos.

        Memcpy does not check the boundary of m_fileDescriptors in
        readBytesFromSocket of ConnectionUnix.cpp.  This is not a problem
        in normal cases, but in the case when Web process is hijacked and
        malicious IPC packets were sent.  WTF::Vector already has two
        members m_capacity and m_size.  There is no need to have a
        separate member m_fileDescriptorsSize to remember the number of
        remaining data.

        * Platform/IPC/Connection.h: Remove members m_readBufferSize and
        m_fileDescriptorsSize.
        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::platformInitialize): Removed initialization of
        m_readBufferSize and m_fileDescriptorsSize.  Reserve initial
        capacity for m_readBuffer and m_fileDescriptors.
        (IPC::Connection::processMessage): Replace m_readBufferSize and
        m_fileDescriptorsSize with m_readBuffer.size() and
        m_fileDescriptors.size().  Use Vector::shrink() to reset the
        number of remaining data in the buffers.
        (IPC::readBytesFromSocket) : Change argument types to WTF::Vector
        instead of pointers and sizes.
        (IPC::Connection::readyReadHandler): Call new readBytesFromSocket

2016-07-07  Alex Christensen  <achristensen@webkit.org>

        Fix crash when sending failure message to closed WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=159526
        <rdar://problem/26767037>

        Reviewed by Brady Eidson.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didFailLoading):
        Check to see if there is a connection before using it to send a message.
        Sometimes it was null.
        I think this could be tested if we had real network loading from TestWebKitAPI
        by cancelling slow loads and closing WebProcesses around the same time, but no such infrastructure exists yet.

2016-07-12  Chris Dumez  <cdumez@apple.com>

        [WK2] Protect against bad database data in LocalStorageDatabase::importItems()
        https://bugs.webkit.org/show_bug.cgi?id=159663
        <rdar://problem/18995873>

        Reviewed by Benjamin Poulain.

        Protect against bad database data in LocalStorageDatabase::importItems(). We
        crash if the database contains a null key or a null value so protect against
        it given that we have evidence it can happen.

        With this change, I can no longer reproduce the UIProcess crash on evernote.com
        that is documented at <rdar://problem/18995873>.

        * UIProcess/Storage/LocalStorageDatabase.cpp:
        (WebKit::LocalStorageDatabase::importItems):

2016-05-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.3 release.

        * gtk/NEWS: Add release notes for 2.12.3.

2016-02-22  Konstantin Tokarev  <annulen@yandex.ru>

        [cmake] Moved library setup code to WEBKIT_FRAMEWORK macro.
        https://bugs.webkit.org/show_bug.cgi?id=154450

        Reviewed by Alex Christensen.

        * CMakeLists.txt: Used WebKit2_SOURCES variable instead of separate
        WebKit2_DERIVED_SOURCES for compatibility with WEBKIT_FRAMEWORK macro.
        There is no real need to separate derived sources from others.
        * PlatformGTK.cmake: Ditto.

2016-04-27  Alex Christensen  <achristensen@webkit.org>

        Remove download message receiver when NetworkProcess crashes
        https://bugs.webkit.org/show_bug.cgi?id=157102
        <rdar://problem/25550106>

        Reviewed by Anders Carlsson.

        * UIProcess/Downloads/DownloadProxyMap.cpp:
        (WebKit::DownloadProxyMap::processDidClose):
        When the NetworkProcess crashes during a download, we want to remove the message receiver from the map
        so we don't get an assertion in ~MessageReceiver in the UIProcess so we do not have a freed
        message receiver in the map.

2016-04-22  Zan Dobersek  <zdobersek@igalia.com>

        NetworkCacheIOChannelSoup: detach the newly-created IOChannel::readSync thread
        https://bugs.webkit.org/show_bug.cgi?id=156907

        Reviewed by Carlos Garcia Campos.

        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
        (WebKit::NetworkCache::IOChannel::readSyncInThread): Detach the new thread,
        ensuring the resources are released after the thread exits. Next step is
        to set up a thread pool and use that, avoiding thread re-creation.

2016-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.2 release.

        * gtk/NEWS: Add release notes for 2.12.2.

2016-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        Pending API Request URL is wrong after reloading
        https://bugs.webkit.org/show_bug.cgi?id=139342

        Reviewed by Darin Adler.

        It happens when reloading a web view loaded with anything but a
        URL, because the bf list is not updated for those cases and
        WebPageProxy::reload() is setting the current bf list item URL as
        pending API request URL. This also causes that progress is
        reported wrongly, because
        WebPageProxy::decidePolicyForNavigationAction() resets the pending
        API request URL when it's different than the requested URL. The
        page load transaction causes the progress to be changed, reporting
        1.0 (the previous one), but later something < 1.0 is reported
        again by the progress tracker.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::reload): Use the current active URL as
        pending API request URL, falling back to the current bf list item
        URL when empty.

2016-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        Pending API request URL no set when loading Data, Alternate HTML or plain text
        https://bugs.webkit.org/show_bug.cgi?id=136916

        Reviewed by Darin Adler.

        Set pending API request URL for all load methods in
        WebPageProxy. This ensures that right after calling those methods,
        the active URL is the requested one and that
        PageLoadState::isLoading() returns true.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadAlternateHTMLString):
        (WebKit::WebPageProxy::loadPlainTextString):
        (WebKit::WebPageProxy::loadWebArchiveData):

2016-04-15  Chris Dumez  <cdumez@apple.com>

        Mark NetworkLoad as FastAllocated
        https://bugs.webkit.org/show_bug.cgi?id=156628

        Reviewed by Alex Christensen.

        Mark NetworkLoad as FastAllocated for performance.

        * NetworkProcess/NetworkLoad.h:

2016-04-07  Jeremy Jones  <jeremyj@apple.com>

        Clearing the application cache doesn't work.
        https://bugs.webkit.org/show_bug.cgi?id=156354
        rdar://problem/22369239

        Reviewed by Brady Eidson.

        Use the correct "ApplicationCache" directory.
        Delete the caches, not just the entries.

        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::fetchData):
        (WebKit::WebsiteDataStore::removeData):

2016-04-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.1 release.

        * gtk/NEWS: Add release notes for 2.12.1.

2016-04-05  Chris Dumez  <cdumez@apple.com>

        We sometimes fail to remove outdated entry from the disk cache after revalidation and when the resource is no longer cacheable
        https://bugs.webkit.org/show_bug.cgi?id=156048
        <rdar://problem/25514480>

        Reviewed by Antti Koivisto.

        We would sometimes fail to remove outdated entry from the disk cache
        after revalidation and when the resource is no longer cacheable. This
        was due to Storage::removeFromPendingWriteOperations() only removing
        the first pending write operation with a given key instead of actually
        removing all of the operations with this key.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::removeFromPendingWriteOperations):
        * NetworkProcess/cache/NetworkCacheStorage.h:

2016-04-04  Jiewen Tan  <jiewen_tan@apple.com>

        Tapping on tabs in webpages caused WK crash at WebKit: WebKit::WebFrame::didReceivePolicyDecision
        https://bugs.webkit.org/show_bug.cgi?id=156119
        <rdar://problem/20732167>

        Reviewed by Andy Estes.

        Protect the m_frame so that it is present for completion handlers.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2016-04-04  Emanuele Aina  <emanuele.aina@collabora.com>

        Fix WEB_PROCESS_CMD_PREFIX and NETWORK_PROCESS_CMD_PREFIX after r196500
        https://bugs.webkit.org/show_bug.cgi?id=156060

        Reviewed by Darin Adler.

        Commit r196500 was a bit too eager in removing the
        platformGetLaunchOptions() callsites as non-mac platform still use
        that in debug builds to attach debugging tools to spawned
        subprocesses (eg. gdbserver).

        Instead of reinstating them and relying on each subprocess type to
        implement its own platformGetLaunchOptions() version (all alike),
        avoid duplication and check the *_PROCESS_CMD_PREFIX environment
        variables in a single place, ChildProcessProxy::getLaunchOptions().

        Doing so also improves consistency in *_PROCESS_CMD_PREFIX support:
        only WEB_PROCESS_CMD_PREFIX and NETWORK_PROCESS_CMD_PREFIX worked with
        both the GTK and EFL ports while PLUGIN_PROCESS_CMD_PREFIX only
        worked for EFL and there was no corresponding
        DATABASE_PROCESS_CMD_PREFIX implementation.

        * UIProcess/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::getLaunchOptions): Check the
        appropriate *_PROCESS_CMD_PREFIX environment variable.
        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
        (WebKit::PluginProcessProxy::platformGetLaunchOptions): Drop
        check for PLUGIN_PROCESS_COMMAND_PREFIX, now handled by
        ChildProcessProxy::getLaunchOptions().
        * UIProcess/Databases/DatabaseProcessProxy.h:
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/WebProcessProxy.h: Drop platformGetLaunchOptions()
        prototypes.
        * UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
        * UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp:
        * UIProcess/Databases/gtk/DatabaseProcessProxyGtk.cpp:
        * UIProcess/efl/WebProcessProxyEfl.cpp:
        * UIProcess/gtk/WebProcessProxyGtk.cpp: Removed, they only contained
        platformGetLaunchOptions() implementations.
        * PlatformEfl.cmake:
        * PlatformGTK.cmake: Drop removed files.

2016-04-01  Jiewen Tan  <jiewen_tan@apple.com>

        WebKit should dispatchDidFailProvisionalLoad while loading invalid URLs
        https://bugs.webkit.org/show_bug.cgi?id=155995
        <rdar://problem/14967004>

        Reviewed by Andy Estes.

        Ensure that alternative HTML string will not be loaded back to back for
        failing provisional loads.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadAlternateHTMLString):
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        * UIProcess/WebPageProxy.h:

2016-03-30  Brady Eidson  <beidson@apple.com>

        Make BlobData use ThreadSafeSharedBuffer instead of RawData.
        https://bugs.webkit.org/show_bug.cgi?id=156041

        Reviewed by Alex Christensen.

        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::filesInBlob):
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<BlobPart>::decode):

2016-03-24  Alex Christensen  <achristensen@webkit.org>

        Fix null dereferencing in NetworkLoad::continueCanAuthenticateAgainstProtectionSpace
        https://bugs.webkit.org/show_bug.cgi?id=155799
        rdar://25289012

        Reviewed by Tim Horton.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        Null-check all the things!

2016-03-22  Alberto Garcia  <berto@igalia.com>

        Unreviewed typo fixes.

        * Shared/linux/WebMemorySamplerLinux.cpp:
        (WebKit::WebMemorySampler::sampleWebKit): "Commited" => "Committed"
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_select_files): "choosen" => "chosen"
        * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
        (webkit_user_media_permission_request_class_init): "Wether" => "Whether"

2016-03-18  Antti Koivisto  <antti@apple.com>

        Protect against excessive cache traversal
        https://bugs.webkit.org/show_bug.cgi?id=155635
        rdar://problem/24241008

        Reviewed by Darin Adler.

        We can't handle unlimited number of parallel cache traversal requests from the client.
        We'll run out of dispatch queues and other system resources. CPU will spin.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::traverse):

            Add limit of maximum 3 traversals. When exceeded return nothing and log an error.

        * NetworkProcess/cache/NetworkCache.h:

2016-03-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] WebInspector broken after r197620
        https://bugs.webkit.org/show_bug.cgi?id=155497
        <rdar://problem/25171910>

        Reviewed by Philippe Normand.

        Stop registering resource:// URLs as local, because they are not
        like a local file at all. Compare also the URL protocols when
        checking whether requested URL is main or test inspector page
        instead of checking that the protocol is registered as local.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::isMainOrTestInspectorPage): Compare also the URL protocols.
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Do not
        set setAllowFileAccessFromFileURLs setting to true.
        * UIProcess/gtk/WebProcessPoolGtk.cpp:
        (WebKit::WebProcessPool::platformInitializeWebProcess): Do not
        register resource:// URLS as local.

2016-03-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.0 release.

        * gtk/NEWS: Add release notes for 2.12.0.

2016-03-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.92 release.

        * gtk/NEWS: Add release notes for 2.11.92.

2016-03-16  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r196803.
        https://bugs.webkit.org/show_bug.cgi?id=155534

        Introduced several rendering issues in popular websites
        (Requested by KaL on #webkit).

        Reverted changeset:

        "[GTK] Limit the number of tiles according to the visible
        area"
        https://bugs.webkit.org/show_bug.cgi?id=126122
        http://trac.webkit.org/changeset/196803

2016-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Reimplement webkit_web_context_clear_cache functionality.
        https://bugs.webkit.org/show_bug.cgi?id=146041

        Reviewed by Michael Catanzaro.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_clear_cache):

2016-03-14  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>

        Install WebKit2 WebProcess NetworkProcess on OSX when not building the Mac PORT
        https://bugs.webkit.org/show_bug.cgi?id=152651

        Reviewed by Philippe Normand.

        * CMakeLists.txt:

2016-03-12  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>

        [GTK][Mac] Use DYLD_LIBRARY_PATH on OSX rather then LD_LIBRARY_PATH
        https://bugs.webkit.org/show_bug.cgi?id=152650

        Reviewed by Carlos Garcia Campos.

        * PlatformGTK.cmake:

2016-03-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Artifacts when using web view background color
        https://bugs.webkit.org/show_bug.cgi?id=155229

        Reviewed by Mario Sanchez Prada.

        This is because when using a web view color, we fill with the
        color every rectangle updated by the web process, but we should
        always fill the entire backing store before rendering the actual
        contents on top.

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::display): Ensure the web process always
        renders the whole visible rectangle when background is rendered by
        the UI process.

2016-03-07  Daniel Bates  <dabates@apple.com>

        Cleanup: Add convenience function URL::procotolIsBlob()
        https://bugs.webkit.org/show_bug.cgi?id=155127
        <rdar://problem/25016829>

        Reviewed by Brent Fulgham.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad): Modified to use URL::protocolIsBlob().
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::NetworkResourceLoader): Ditto.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::canHandleRequest): Ditto.

2016-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r197062): [GTK] Transparent backgrounds no longer work after r197062
        https://bugs.webkit.org/show_bug.cgi?id=155119

        Reviewed by Martin Robinson.

        This is because after r197062 we are now realizing the view too
        early, even before the toplevel window has been realized, forcing
        the toplevel window to be realized. If the RGBA visual is set on
        the window after it has been realzied it doesn't have any
        effect. We should wait until the toplevel window is realized to
        realize the web view, giving time to the application to set RGBA
        visual and background color. If the toplevel window is already
        realized we realize the web view immediately, so that this doesn't
        affect the tearing problems fixed in r197062.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (toplevelWindowRealized):
        (webkitWebViewBaseSetToplevelOnScreenWindow):

2016-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r197409): [GTK] Web process always crashes on WebPage construction after r197409
        https://bugs.webkit.org/show_bug.cgi?id=154918

        Reviewed by Žan Doberšek.

        We have an incorrect check in DrawingAreaImpl constructor that has
        never actually worked because it uses the page settings before
        they were initialized. But that has been fixed in r197409 and now
        we are always forcing accelerated compositing mode incorrectly,
        because m_alwaysUseCompositing is set in the constructor and never
        changed again.

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::DrawingAreaImpl): Remove code to set
        settings and m_alwaysUseCompositing, since that should be done in
        updatePreferences().
        (WebKit::DrawingAreaImpl::updatePreferences): Update the settings
        accordingly and always update m_alwaysUseCompositing when AC is
        enabled and forced in the settings.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage): WebPage::updatePreferences() calls
        DrawingArea::updatePreferences(), but since r197409 it happens
        before the drawing area has been created. So, call
        DrawingArea::updatePreferences() in the constructor right after
        the main frame has been created, since
        DrawingArea::updatePreferences() uses the main frame.

2016-03-01  Andreas Kling  <akling@apple.com>

        REGRESSION (r154616): Accelerated drawing is off during the initial load
        <https://webkit.org/b/123812>

        Reviewed by Tim Horton.

        Load preferences before instantiating the first DrawingArea. This ensures that we do the
        initial paint using accelerated drawing, and avoids allocating persistent data structures
        only needed by the software rendering path.

        * WebProcess/WebPage/WebPage.cpp:

2016-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        NetworkCache: Web process leaks resource buffer when using shareable reasources
        https://bugs.webkit.org/show_bug.cgi?id=154852

        Reviewed by Darin Adler.

        ResourceLoader::didReceiveBuffer() expects a PassRefPtr, but we
        are passing a raw pointer making PassRefPtr to take another
        reference instead of transfering the ownership as expected.

        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResource):

2016-02-29  Brady Eidson  <beidson@apple.com>

        Modern IDB: WebKit 2 IPC layer easily confused about multiple web processes being connected.
        https://bugs.webkit.org/show_bug.cgi?id=154837

        Reviewed by Alex Christensen.

        The crux of the bug is that WebProcesses cannot assign themselves server-unique identifiers...
        The server must do that for them.
        
        A once-per-session-per-WebProcess sync message and a few updates to connection management fix this.
        
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage):
        (WebKit::generateConnectionToServerIdentifier):
        (WebKit::DatabaseToWebProcessConnection::establishIDBConnectionToServer):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:

        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
        (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
        (WebKit::generateConnectionToServerIdentifier): Deleted.

        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
        (WebKit::WebToDatabaseProcessConnection::idbConnectionToServerForSession):
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:

2016-02-29  Konstantin Tokarev  <annulen@yandex.ru>

        Fixed compilation with !ENABLE(DATABASE_PROCESS).
        https://bugs.webkit.org/show_bug.cgi?id=154813

        Reviewed by Michael Catanzaro.

        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::terminateDatabaseProcess): Added missing #if
        guard.

2016-02-29  Adrien Plazas  <aplazas@igalia.com>

        [GTK] Touch slider test fails due to assertion in webkitWebViewBaseTouchEvent()
        https://bugs.webkit.org/show_bug.cgi?id=153829

        Reviewed by Carlos Garcia Campos.

        Once a touch event sequence is identified as a gesture, remove it
        from the list of handled touch events.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseTouchEvent):

2016-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.91 release.

        * gtk/NEWS: Add release notes for 2.11.91.

2016-02-26  Carlos Garcia Campos  <cgarcia@igalia.com>

        Network cache: old pages returned by disk cache on history navigation after session is restored
        https://bugs.webkit.org/show_bug.cgi?id=153230

        Reviewed by Chris Dumez.

        Since r181734, the network cache never revalidates resources for
        history navigation. This is good for the memory cache, but in the
        case of disk cache, we might end up with outdated pages when
        restoring the session. When restoring the session happens because
        of an API request (we also restore the session when recovering
        from a web process crash), we should revalidate back forward list
        requests in the disk cache if needed. This will only happen the
        first time they are loaded after a session restore. After a web process
        crash, resources will be used uncondionally from the disk cache.

        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
        (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Use Ref&&
        instead of PassRefPtr.
        * WebProcess/WebPage/WebBackForwardListProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WePage::WebPage): Call restoreSessionInternal passing
        No as restoredByAPIRequest parameter.
        (WebKit::WebPage::restoreSessionInternal): Set restoredFromSession
        flag to the created HistoryItem if the item was restored from
        session by an API request.
        (WebKit::WebPage::restoreSession): Call restoreSessionInternal
        passing Yes as restoredByAPIRequest parameter.
        * WebProcess/WebPage/WebPage.h:

2016-02-26  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Fix order of parameters in gtkdoc for webkit_web_view_get_snapshot

        Unreviewed.

        * UIProcess/API/gtk/WebKitWebView.cpp:

2016-02-25  Anders Carlsson  <andersca@apple.com>

        Cache::traverse should pass the record info to its traversal handler
        https://bugs.webkit.org/show_bug.cgi?id=154695

        Reviewed by Antti Koivisto.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::fetchDiskCacheEntries):
        (WebKit::clearDiskCacheEntries):
        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::traverse):
        * NetworkProcess/cache/NetworkCache.h:

2016-02-26  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ clean build.

        Add missing header include.

        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

2016-02-26  Brady Eidson  <beidson@apple.com>

        Modern IDB: New database versions are never committed to SQLite.
        <rdar://problem/24860952> and https://bugs.webkit.org/show_bug.cgi?id=154741
        
        Modern IDB: If a database handle is not open, files are not actually deleted from disk
        https://bugs.webkit.org/show_bug.cgi?id=154756

        Reviewed by Alex Christensen.

        Add WK2 SPI to force termination of the database process.

        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _terminateDatabaseProcess]):
        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::terminateDatabaseProcess):
        * UIProcess/WebProcessPool.h:

2016-02-25  Brady Eidson  <beidson@apple.com>

        Remove LegacyIDB.
        https://bugs.webkit.org/show_bug.cgi?id=150854

        Reviewed by Alex Christensen.

        * CMakeLists.txt:
        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase): Deleted.
        (WebKit::DatabaseProcess::removeLegacyUniqueIDBDatabase): Deleted.
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::didClose):
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): Deleted.
        (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): Deleted.
        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection): Deleted.
        (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Deleted.
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Removed.
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Removed.
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Removed.
        * DatabaseProcess/IndexedDB/IDBIdentifier.h: Removed.
        * DatabaseProcess/IndexedDB/IDBSerialization.cpp: Removed.
        * DatabaseProcess/IndexedDB/IDBSerialization.h: Removed.
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp: Removed.
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h: Removed.
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp: Removed.
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h: Removed.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Removed.
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Removed.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Removed.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: Removed.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: Removed.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Removed.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: Removed.
        * DerivedSources.make:
        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::LegacyUniqueIDBDatabaseIdentifier>::copy): Deleted.
        (WebCore::IDBIdentifier>::copy): Deleted.
        * Shared/WebCrossThreadCopier.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Removed.
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Removed.
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Removed.
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Removed.
        * WebProcess/Databases/WebDatabaseProvider.cpp:
        (WebKit::WebDatabaseProvider::createIDBFactoryBackend): Deleted.
        * WebProcess/Databases/WebDatabaseProvider.h:
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): Deleted.
        (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Deleted.
        (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Deleted.
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

2016-02-25  Brady Eidson  <beidson@apple.com>

        Modern IDB: WebKit 2 IPC layer.
        https://bugs.webkit.org/show_bug.cgi?id=153808

        Reviewed by Alex Christensen.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad): This ASSERT fires on most WK2 tests. Alex said remove it.
        
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
        (WebKit::WebIDBConnectionToServer::putOrAdd): Properly encode the overwrite flag.
        
        * WebProcess/Databases/WebDatabaseProvider.h: Enable Modern IDB.

2016-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Tearing when entering AC mode
        https://bugs.webkit.org/show_bug.cgi?id=150955

        Reviewed by Michael Catanzaro.

        When entering accelerated compositing mode, we keep rendering the
        non accelerated contents until we have the first frame of
        accelerated compositing contents. When the view is created hidden,
        for example when the browser opens a link in a new tab, the view
        is not realized until it is mapped. The native surface handle for
        compositing, needed by the web process to render accelerated
        compositing contents, is not available until the view is realized,
        because it depends on the properties of the parent. When a web
        view is mapped for the first time, and then realized, we send the
        native surface handle for compositing to the web process, and keep
        rendering the non composited contents until we get the first
        frame, but in this case we never had non composited contents and
        we end up rendering an untinitalized surface. This sometimes just
        produces flickering and sometimes rendering artifacts.
        We can prevent this from happening by realizing the web view as
        soon as possible. A GtkWidget can't be realized until it has been
        added to a toplevel, so we can realize our view right after it is
        added to a toplevel window, and wait until the view is actually
        mapped to notify the web process that it has been added to a
        window. This way can we enter accelerated compositing mode before
        the web view is mapped, so that when mapped we don't try to paint
        the previous contents and don't need to wait for the first frame.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (toplevelWindowFocusInEvent): Handle the case of the window being
        hidden when receiving focus in. According to
        gtk_window_focus_in_event, this can happen.
        (webkitWebViewBaseSetToplevelOnScreenWindow): When the web view is
        removed from its toplevel parent, update the IsInWindow and
        WindowIsActive flags accordingly. When the view is added to a
        toplevel, realize it and don't update the window flags, they will be
        updated when the view is mapped the first time.
        (webkitWebViewBaseMap): Also update IsInWindow and WindowIsActive
        flags if needed. This way, if for example you open a youtube video
        in a new tab, the video won't start playing until you visit the
        tab, like we did when the view was realized on map.
        (webkitWebViewBaseHierarchyChanged): Use hierarchy-changed signal
        instead of parent-set to be notified when the view is added to or
        removed from a toplevel.
        (webkit_web_view_base_class_init): Implement hierarchy-changed
        instead of parent-set.
        (webkitWebViewBaseRealize): Do not call
        webkitWebViewBaseSetToplevelOnScreenWindow on realize, it's now
        webkitWebViewBaseSetToplevelOnScreenWindow the one realizing the view.
        * UIProcess/cairo/BackingStoreCairo.cpp:
        (WebKit::BackingStore::createBackend): Do not realize the view
        here, it should be realized already at this point. If it's not
        realized at this point is because it hasn't been added to a
        toplevel and gtk_widget_realize will not work anyway.
        (WebKit::BackingStore::paint): This is changing the cairo source
        operator, so save/restore the cairo context to ensure it doesn't
        affect other drawing done after this.

2016-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.90 release.

        * gtk/NEWS: Add release notes for 2.11.90.

2016-02-18  Gwang Yoon Hwang  <yoon@igalia.com>

        [GTK] Limit the number of tiles according to the visible area
        https://bugs.webkit.org/show_bug.cgi?id=126122

        Reviewed by Carlos Garcia Campos.

        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::initialize): Because we creates
        nonCompositingLayer with a size of current view, we should not apply
        the currently visible rect when creating / deleting tiles.
        (WebKit::LayerTreeHostGtk::flushPendingLayerChanges): Passes the current
        visible rect to the GraphicsLayers.

2016-02-18  Brady Eidson  <beidson@apple.com>

        Modern IDB: Fix IDBGetResult encoder/decoder.
        https://bugs.webkit.org/show_bug.cgi?id=154421

        Reviewed by Alex Christensen.

        No new tests, as Modern IDB is still disabled for WK2.
        
        But if you manually enable it, "Basic IndexedDB Seems To Work"

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBGetResult>::encode): Deleted.
        (IPC::ArgumentCoder<IDBGetResult>::decode): Deleted.
        * Shared/WebCoreArgumentCoders.h:

2016-02-18  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement server->client operations in WK2.
        https://bugs.webkit.org/show_bug.cgi?id=154411

        Reviewed by Alex Christensen.

        No change in behavior yet; Just laying the groundwork.

        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
        (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
        (WebKit::WebIDBConnectionToClient::~WebIDBConnectionToClient):

        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
        (WebKit::WebIDBConnectionToServer::didDeleteDatabase):
        (WebKit::WebIDBConnectionToServer::didOpenDatabase):
        (WebKit::WebIDBConnectionToServer::didAbortTransaction):
        (WebKit::WebIDBConnectionToServer::didCommitTransaction):
        (WebKit::WebIDBConnectionToServer::didCreateObjectStore):
        (WebKit::WebIDBConnectionToServer::didDeleteObjectStore):
        (WebKit::WebIDBConnectionToServer::didClearObjectStore):
        (WebKit::WebIDBConnectionToServer::didCreateIndex):
        (WebKit::WebIDBConnectionToServer::didDeleteIndex):
        (WebKit::WebIDBConnectionToServer::didPutOrAdd):
        (WebKit::WebIDBConnectionToServer::didGetRecord):
        (WebKit::WebIDBConnectionToServer::didGetCount):
        (WebKit::WebIDBConnectionToServer::didDeleteRecord):
        (WebKit::WebIDBConnectionToServer::didOpenCursor):
        (WebKit::WebIDBConnectionToServer::didIterateCursor):
        (WebKit::WebIDBConnectionToServer::fireVersionChangeEvent):
        (WebKit::WebIDBConnectionToServer::didStartTransaction):
        (WebKit::WebIDBConnectionToServer::notifyOpenDBRequestBlocked):
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
        
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):

2016-02-18  Brian Burg  <bburg@apple.com>

        RemoteInspector deadlocks if _WKAutomationDelegate creates/registers a target synchronously
        https://bugs.webkit.org/show_bug.cgi?id=154359
        <rdar://problem/24708897>

        Reviewed by Joseph Pecoraro.

        * UIProcess/Cocoa/AutomationClient.mm:
        (WebKit::AutomationClient::requestAutomationSession):
        Make an NSString out of the String reference so it gets captured correctly.

2016-02-18  Brady Eidson  <beidson@apple.com>

        Modern IDB: Implement client->server operations in WK2.
        https://bugs.webkit.org/show_bug.cgi?id=154400

        Reviewed by Alex Christensen.

        No change in behavior yet; Just laying the groundwork.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::idbServer):
        * DatabaseProcess/DatabaseProcess.h:

        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:

        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
        (WebKit::WebIDBConnectionToClient::deleteDatabase):
        (WebKit::WebIDBConnectionToClient::openDatabase):
        (WebKit::WebIDBConnectionToClient::abortTransaction):
        (WebKit::WebIDBConnectionToClient::commitTransaction):
        (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
        (WebKit::WebIDBConnectionToClient::createObjectStore):
        (WebKit::WebIDBConnectionToClient::deleteObjectStore):
        (WebKit::WebIDBConnectionToClient::clearObjectStore):
        (WebKit::WebIDBConnectionToClient::createIndex):
        (WebKit::WebIDBConnectionToClient::deleteIndex):
        (WebKit::WebIDBConnectionToClient::putOrAdd):
        (WebKit::WebIDBConnectionToClient::getRecord):
        (WebKit::WebIDBConnectionToClient::getCount):
        (WebKit::WebIDBConnectionToClient::deleteRecord):
        (WebKit::WebIDBConnectionToClient::openCursor):
        (WebKit::WebIDBConnectionToClient::iterateCursor):
        (WebKit::WebIDBConnectionToClient::establishTransaction):
        (WebKit::WebIDBConnectionToClient::databaseConnectionClosed):
        (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded):
        (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:

2016-02-18  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][Threaded Compositor] The web inspector doesn't work when using the threaded compositor
        https://bugs.webkit.org/show_bug.cgi?id=154067

        Reviewed by Carlos Garcia Campos.

        The forceCompositingMode should be true for threaded compositor. We set it true for a normal webView
        in _WebKitSettingsPrivate() but we do not for inspector anywhere. So DrawingArea is not
        properly created for the inspector. Let's move the setting to WebPreferences::platformInitializeStore
        which is a common place for the webView and the inspector.

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Deleted.
        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore):

2016-02-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r196765.
        https://bugs.webkit.org/show_bug.cgi?id=154402

        Broke Safari (Requested by andersca on #webkit).

        Reverted changeset:

        "Remove two unused functions"
        https://bugs.webkit.org/show_bug.cgi?id=154397
        http://trac.webkit.org/changeset/196765

2016-02-18  Anders Carlsson  <andersca@apple.com>

        Remove two unused functions
        https://bugs.webkit.org/show_bug.cgi?id=154397

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetPluginSiteDataManager): Deleted.
        (WKContextGetResourceCacheManager): Deleted.
        * UIProcess/API/C/WKContext.h:

2016-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use G_TYPE_ERROR instead of G_TYPE_POINTER for GError parameters of signals
        https://bugs.webkit.org/show_bug.cgi?id=153786

        Reviewed by Michael Catanzaro.

        It's binary compatible and it's needed by binding generator to
        properly identify those parameters as GError.

        * UIProcess/API/gtk/WebKitDownload.cpp:
        (webkit_download_class_init):
        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (webkit_print_operation_class_init):
        * UIProcess/API/gtk/WebKitWebResource.cpp:
        (webkit_web_resource_class_init):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_class_init):
        * UIProcess/API/gtk/webkit2marshal.list:

2016-02-18  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Move WebView from CoordinatedGraphics to efl
        https://bugs.webkit.org/show_bug.cgi?id=154332

        Reviewed by Csaba Osztrogonác.

        * PlatformEfl.cmake:
        * UIProcess/efl/WebView.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.cpp.
        * UIProcess/efl/WebView.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.h.
        * UIProcess/efl/WebViewClient.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.cpp.
        * UIProcess/efl/WebViewClient.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/WebViewClient.h.

2016-02-17  Brady Eidson  <beidson@apple.com>

        Modern IDB: Rename some "UniqueIDBDatabase" classes that conflict with new classes in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=154363.

        Reviewed by Alex Christensen.

        Adding "Legacy" to the front of the name fixes problems for now.
        
        And all of this gunk will go away after Modern IDB is done, anyways.
        
        * CMakeLists.txt:
        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::getOrCreateLegacyUniqueIDBDatabase):
        (WebKit::DatabaseProcess::removeLegacyUniqueIDBDatabase):
        (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase): Deleted.
        (WebKit::DatabaseProcess::removeUniqueIDBDatabase): Deleted.
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::establishConnection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp.
        (WebKit::LegacyUniqueIDBDatabase::calculateAbsoluteDatabaseFilename):
        (WebKit::LegacyUniqueIDBDatabase::LegacyUniqueIDBDatabase):
        (WebKit::LegacyUniqueIDBDatabase::~LegacyUniqueIDBDatabase):
        (WebKit::LegacyUniqueIDBDatabase::filenameForDatabaseName):
        (WebKit::LegacyUniqueIDBDatabase::databaseFilenameIdentifier):
        (WebKit::LegacyUniqueIDBDatabase::canShareDatabases):
        (WebKit::LegacyUniqueIDBDatabase::registerConnection):
        (WebKit::LegacyUniqueIDBDatabase::unregisterConnection):
        (WebKit::LegacyUniqueIDBDatabase::shutdown):
        (WebKit::LegacyUniqueIDBDatabase::shutdownBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didShutdownBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::deleteDatabase):
        (WebKit::LegacyUniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
        (WebKit::LegacyUniqueIDBDatabase::openBackingStoreAndReadMetadata):
        (WebKit::LegacyUniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
        (WebKit::LegacyUniqueIDBDatabase::openTransaction):
        (WebKit::LegacyUniqueIDBDatabase::beginTransaction):
        (WebKit::LegacyUniqueIDBDatabase::commitTransaction):
        (WebKit::LegacyUniqueIDBDatabase::resetTransaction):
        (WebKit::LegacyUniqueIDBDatabase::rollbackTransaction):
        (WebKit::LegacyUniqueIDBDatabase::postTransactionOperation):
        (WebKit::LegacyUniqueIDBDatabase::didCompleteTransactionOperation):
        (WebKit::LegacyUniqueIDBDatabase::changeDatabaseVersion):
        (WebKit::LegacyUniqueIDBDatabase::didChangeDatabaseVersion):
        (WebKit::LegacyUniqueIDBDatabase::didCreateObjectStore):
        (WebKit::LegacyUniqueIDBDatabase::didDeleteObjectStore):
        (WebKit::LegacyUniqueIDBDatabase::didClearObjectStore):
        (WebKit::LegacyUniqueIDBDatabase::didCreateIndex):
        (WebKit::LegacyUniqueIDBDatabase::didDeleteIndex):
        (WebKit::LegacyUniqueIDBDatabase::didCompleteBoolRequest):
        (WebKit::LegacyUniqueIDBDatabase::createObjectStore):
        (WebKit::LegacyUniqueIDBDatabase::deleteObjectStore):
        (WebKit::LegacyUniqueIDBDatabase::clearObjectStore):
        (WebKit::LegacyUniqueIDBDatabase::createIndex):
        (WebKit::LegacyUniqueIDBDatabase::deleteIndex):
        (WebKit::LegacyUniqueIDBDatabase::putRecord):
        (WebKit::LegacyUniqueIDBDatabase::getRecord):
        (WebKit::LegacyUniqueIDBDatabase::openCursor):
        (WebKit::LegacyUniqueIDBDatabase::cursorAdvance):
        (WebKit::LegacyUniqueIDBDatabase::cursorIterate):
        (WebKit::LegacyUniqueIDBDatabase::count):
        (WebKit::LegacyUniqueIDBDatabase::deleteRange):
        (WebKit::LegacyUniqueIDBDatabase::openBackingStoreTransaction):
        (WebKit::LegacyUniqueIDBDatabase::beginBackingStoreTransaction):
        (WebKit::LegacyUniqueIDBDatabase::commitBackingStoreTransaction):
        (WebKit::LegacyUniqueIDBDatabase::resetBackingStoreTransaction):
        (WebKit::LegacyUniqueIDBDatabase::rollbackBackingStoreTransaction):
        (WebKit::LegacyUniqueIDBDatabase::changeDatabaseVersionInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::createObjectStoreInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::deleteObjectStoreInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::clearObjectStoreInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::createIndexInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::deleteIndexInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::putRecordInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didPutRecordInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::getRecordFromBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didGetRecordFromBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didOpenCursorInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didAdvanceCursorInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::iterateCursorInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didIterateCursorInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::countInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didCountInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::deleteRangeInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didDeleteRangeInBackingStore):
        (WebKit::LegacyUniqueIDBDatabase::didEstablishTransaction):
        (WebKit::LegacyUniqueIDBDatabase::didResetTransaction):
        (WebKit::LegacyUniqueIDBDatabase::resetAllTransactions):
        (WebKit::LegacyUniqueIDBDatabase::finalizeRollback):
        (WebKit::LegacyUniqueIDBDatabase::absoluteDatabaseDirectory):
        (WebKit::LegacyUniqueIDBDatabase::postMainThreadTask):
        (WebKit::LegacyUniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::LegacyUniqueIDBDatabase::postDatabaseTask):
        (WebKit::LegacyUniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabase.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h.
        (WebKit::LegacyUniqueIDBDatabase::create):
        (WebKit::LegacyUniqueIDBDatabase::identifier):
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp.
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::LegacyUniqueIDBDatabaseIdentifier):
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::isHashTableDeletedValue):
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::hash):
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::isNull):
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::isolatedCopy):
        (WebKit::operator==):
        * DatabaseProcess/IndexedDB/LegacyUniqueIDBDatabaseIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h.
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::databaseName):
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::openingOrigin):
        (WebKit::LegacyUniqueIDBDatabaseIdentifier::mainFrameOrigin):
        (WebKit::LegacyUniqueIDBDatabaseIdentifierHash::hash):
        (WebKit::LegacyUniqueIDBDatabaseIdentifierHash::equal):
        (WebKit::LegacyUniqueIDBDatabaseIdentifierHashTraits::isEmptyValue):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::LegacyUniqueIDBDatabaseIdentifier>::copy):
        (WebCore::UniqueIDBDatabaseIdentifier>::copy): Deleted.
        * Shared/WebCrossThreadCopier.h:
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-17  Anders Carlsson  <andersca@apple.com>

        Remove WebContextSupplement::shouldTerminate, it's no longer used
        https://bugs.webkit.org/show_bug.cgi?id=154367

        Reviewed by Sam Weinig.

        * UIProcess/WebContextSupplement.h:
        (WebKit::WebContextSupplement::shouldTerminate): Deleted.
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::shouldTerminate): Deleted.
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::shouldTerminate): Deleted.

2016-02-17  Brian Burg  <bburg@apple.com>

        RemoteInspector deadlocks if _WKAutomationDelegate creates/registers a target synchronously
        https://bugs.webkit.org/show_bug.cgi?id=154359
        <rdar://problem/24708897>

        Reviewed by Joseph Pecoraro.

        RemoteInspector always grabs a lock whenever receiving or sending XPC messages. If it
        forwards a new session request via _WKAutomationDelegate, and the client synchronously
        creates and registers a session, then RemoteInspector will try to grab the lock again
        while adding the session to its registry, causing a deadlock.

        * UIProcess/Cocoa/AutomationClient.mm:
        (WebKit::AutomationClient::requestAutomationSession): Add a dispatch_async() to
        protect clients from accidentally deadlocking. They shouldn't have to care about
        RemoteInspector's locking mechanisms.

2016-02-17  Anders Carlsson  <andersca@apple.com>

        Remove an unused function
        https://bugs.webkit.org/show_bug.cgi?id=154358

        Reviewed by Sam Weinig.

        * Platform/cg/CGUtilities.cpp:
        (WebKit::paintBitmapContext): Deleted.
        * Platform/cg/CGUtilities.h:

2016-02-17  Brady Eidson  <beidson@apple.com>

        Modern IDB: More Encoder/Decoder/Messaging scaffolding for WK2 IPC.
        https://bugs.webkit.org/show_bug.cgi?id=154356

        Reviewed by Alex Christensen.

        No change in behavior yet; Just laying the groundwork.

        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
        (WebKit::WebIDBConnectionToClient::didDeleteDatabase):
        (WebKit::WebIDBConnectionToClient::didOpenDatabase):
        (WebKit::WebIDBConnectionToClient::didAbortTransaction):
        (WebKit::WebIDBConnectionToClient::didCommitTransaction):
        (WebKit::WebIDBConnectionToClient::didCreateObjectStore):
        (WebKit::WebIDBConnectionToClient::didDeleteObjectStore):
        (WebKit::WebIDBConnectionToClient::didClearObjectStore):
        (WebKit::WebIDBConnectionToClient::didCreateIndex):
        (WebKit::WebIDBConnectionToClient::didDeleteIndex):
        (WebKit::WebIDBConnectionToClient::didPutOrAdd):
        (WebKit::WebIDBConnectionToClient::didGetRecord):
        (WebKit::WebIDBConnectionToClient::didGetCount):
        (WebKit::WebIDBConnectionToClient::didDeleteRecord):
        (WebKit::WebIDBConnectionToClient::didOpenCursor):
        (WebKit::WebIDBConnectionToClient::didIterateCursor):
        (WebKit::WebIDBConnectionToClient::fireVersionChangeEvent):
        (WebKit::WebIDBConnectionToClient::didStartTransaction):
        (WebKit::WebIDBConnectionToClient::notifyOpenDBRequestBlocked):
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:

2016-02-17  Alex Christensen  <achristensen@webkit.org>

        Fix GTK build after r196720.

        * UIProcess/API/gtk/WebKitUIClient.cpp:

2016-02-17  Anders Carlsson  <andersca@apple.com>

        Need listener-based version of runBeforeUnloadConfirmPanel
        https://bugs.webkit.org/show_bug.cgi?id=154354
        rdar://problem/23736691

        Reviewed by Sam Weinig.

        * Shared/API/APIObject.h:
        * Shared/API/c/WKBase.h:
        * UIProcess/API/APIUIClient.h:
        (API::UIClient::runBeforeUnloadConfirmPanel):
        * UIProcess/API/C/WKPage.cpp:
        (fixUpBotchedPageUIClient):
        (WebKit::RunBeforeUnloadConfirmPanelResultListener::create):
        (WebKit::RunBeforeUnloadConfirmPanelResultListener::~RunBeforeUnloadConfirmPanelResultListener):
        (WebKit::RunBeforeUnloadConfirmPanelResultListener::call):
        (WKPageRunBeforeUnloadConfirmPanelResultListenerGetTypeID):
        (WKPageRunBeforeUnloadConfirmPanelResultListenerCall):
        (WKPageSetPageUIClient):
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:

2016-02-17  Simon Fraser  <simon.fraser@apple.com>

        PDFPlugin's scrollableArea container is not properly unregistered when page is going into the PageCache
        https://bugs.webkit.org/show_bug.cgi?id=148182

        Reviewed by Brent Fulgham.
        
        When handling Command-arrow key while showing a scrollable PDF, the timing of PDFPlugin
        teardown and navigation could result in PDFPlugin::destroy() getting the wrong FrameView,
        so the old FrameView was left with a stale pointer in its scrollableAreaSet.

        Fix this by adding an explicit willDetatchRenderer() which is called on the plugin
        before the Frame gets a new FrameView.

        Also narrow the scope of the RefPtr<Widget> in HTMLPlugInElement::defaultEventHandler()
        so that the Widget is not kept alive over a possible navigation.

        I was unable to make an automated test, because reproducing the bug requires handling
        a Command-arrow key event in a way that the last ref to a Widget is held over the event
        handling, and this wasn't possible in an iframe.

        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::willDetatchRenderer):
        * WebProcess/Plugins/Plugin.h:
        (WebKit::Plugin::willDetatchRenderer):
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::willDetatchRenderer):
        * WebProcess/Plugins/PluginView.h:

2016-02-17  Brady Eidson  <beidson@apple.com>

        Modern IDB: Encoder/Decoder/Messaging scaffolding for WK2 IPC.
        https://bugs.webkit.org/show_bug.cgi?id=154351

        Reviewed by Alex Christensen.

        No change in behavior yet; Just laying the groundwork.

        Implement in all of the client->server message sends, requiring many Encoder/Decoders for
        IDB objects to also be implemented:
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
        (WebKit::WebIDBConnectionToServer::deleteDatabase):
        (WebKit::WebIDBConnectionToServer::openDatabase):
        (WebKit::WebIDBConnectionToServer::abortTransaction):
        (WebKit::WebIDBConnectionToServer::commitTransaction):
        (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
        (WebKit::WebIDBConnectionToServer::createObjectStore):
        (WebKit::WebIDBConnectionToServer::deleteObjectStore):
        (WebKit::WebIDBConnectionToServer::clearObjectStore):
        (WebKit::WebIDBConnectionToServer::createIndex):
        (WebKit::WebIDBConnectionToServer::deleteIndex):
        (WebKit::WebIDBConnectionToServer::putOrAdd):
        (WebKit::WebIDBConnectionToServer::getRecord):
        (WebKit::WebIDBConnectionToServer::getCount):
        (WebKit::WebIDBConnectionToServer::deleteRecord):
        (WebKit::WebIDBConnectionToServer::openCursor):
        (WebKit::WebIDBConnectionToServer::iterateCursor):
        (WebKit::WebIDBConnectionToServer::establishTransaction):
        (WebKit::WebIDBConnectionToServer::databaseConnectionClosed):
        (WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded):
        (WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):

2016-02-17  Alex Christensen  <achristensen@webkit.org>

        Copy http body when being redirected with 308 with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=154348

        Reviewed by Brady Eidson.
        
        This fixes http/tests/security/cors-post-redirect-308.html
        which used to assert in ResourceRequest::doUpdateResourceHTTPBody

        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
        (WebKit::NetworkDataTask::willPerformHTTPRedirection):

2016-02-17  Brady Eidson  <beidson@apple.com>

        Modern IDB: More WK2 IPC Scaffolding.
        https://bugs.webkit.org/show_bug.cgi?id=154317

        Reviewed by Alex Christensen.

        No change in behavior yet; Just laying the groundwork.

        * CMakeLists.txt:
        * DerivedSources.make:
        * WebKit2.xcodeproj/project.pbxproj:

        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
        (WebKit::WebIDBConnectionToClient::deleteDatabase):
        (WebKit::WebIDBConnectionToClient::openDatabase):
        (WebKit::WebIDBConnectionToClient::abortTransaction):
        (WebKit::WebIDBConnectionToClient::commitTransaction):
        (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
        (WebKit::WebIDBConnectionToClient::createObjectStore):
        (WebKit::WebIDBConnectionToClient::deleteObjectStore):
        (WebKit::WebIDBConnectionToClient::clearObjectStore):
        (WebKit::WebIDBConnectionToClient::createIndex):
        (WebKit::WebIDBConnectionToClient::deleteIndex):
        (WebKit::WebIDBConnectionToClient::putOrAdd):
        (WebKit::WebIDBConnectionToClient::getRecord):
        (WebKit::WebIDBConnectionToClient::getCount):
        (WebKit::WebIDBConnectionToClient::deleteRecord):
        (WebKit::WebIDBConnectionToClient::openCursor):
        (WebKit::WebIDBConnectionToClient::iterateCursor):
        (WebKit::WebIDBConnectionToClient::establishTransaction):
        (WebKit::WebIDBConnectionToClient::databaseConnectionClosed):
        (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded):
        (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in: Added.

        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
        (WebKit::WebIDBConnectionToServer::didDeleteDatabase):
        (WebKit::WebIDBConnectionToServer::didOpenDatabase):
        (WebKit::WebIDBConnectionToServer::didAbortTransaction):
        (WebKit::WebIDBConnectionToServer::didCommitTransaction):
        (WebKit::WebIDBConnectionToServer::didCreateObjectStore):
        (WebKit::WebIDBConnectionToServer::didDeleteObjectStore):
        (WebKit::WebIDBConnectionToServer::didClearObjectStore):
        (WebKit::WebIDBConnectionToServer::didCreateIndex):
        (WebKit::WebIDBConnectionToServer::didDeleteIndex):
        (WebKit::WebIDBConnectionToServer::didPutOrAdd):
        (WebKit::WebIDBConnectionToServer::didGetRecord):
        (WebKit::WebIDBConnectionToServer::didGetCount):
        (WebKit::WebIDBConnectionToServer::didDeleteRecord):
        (WebKit::WebIDBConnectionToServer::didOpenCursor):
        (WebKit::WebIDBConnectionToServer::didIterateCursor):
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in: Added.

2016-02-17  Alex Christensen  <achristensen@webkit.org>

        CMake build fix after r196698.

        * PlatformMac.cmake:

2016-02-17  Alex Christensen  <achristensen@webkit.org>

        CMake build fix after r196698.

        * CMakeLists.txt:

2016-02-17  Anders Carlsson  <andersca@apple.com>

        Remove unused media cache manager code
        https://bugs.webkit.org/show_bug.cgi?id=154339

        Reviewed by Tim Horton.

        * DerivedSources.make:
        * Shared/API/c/WKBase.h:
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetMediaCacheManager): Deleted.
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKMediaCacheManager.cpp: Removed.
        (WKMediaCacheManagerGetTypeID): Deleted.
        (WKMediaCacheManagerGetHostnamesWithMediaCache): Deleted.
        (WKMediaCacheManagerClearCacheForHostname): Deleted.
        (WKMediaCacheManagerClearCacheForAllHostnames): Deleted.
        * UIProcess/API/C/WKMediaCacheManager.h: Removed.
        * UIProcess/WebMediaCacheManagerProxy.cpp: Removed.
        (WebKit::WebMediaCacheManagerProxy::supplementName): Deleted.
        (WebKit::WebMediaCacheManagerProxy::create): Deleted.
        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy): Deleted.
        (WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy): Deleted.
        (WebKit::WebMediaCacheManagerProxy::processPoolDestroyed): Deleted.
        (WebKit::WebMediaCacheManagerProxy::processDidClose): Deleted.
        (WebKit::WebMediaCacheManagerProxy::shouldTerminate): Deleted.
        (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement): Deleted.
        (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement): Deleted.
        (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Deleted.
        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Deleted.
        (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Deleted.
        (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Deleted.
        * UIProcess/WebMediaCacheManagerProxy.h: Removed.
        * UIProcess/WebMediaCacheManagerProxy.messages.in: Removed.
        * UIProcess/WebProcessPool.cpp:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/MediaCache/WebMediaCacheManager.cpp: Removed.
        (WebKit::WebMediaCacheManager::supplementName): Deleted.
        (WebKit::WebMediaCacheManager::WebMediaCacheManager): Deleted.
        (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Deleted.
        (WebKit::WebMediaCacheManager::clearCacheForHostname): Deleted.
        (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Deleted.
        * WebProcess/MediaCache/WebMediaCacheManager.h: Removed.
        * WebProcess/MediaCache/WebMediaCacheManager.messages.in: Removed.
        * WebProcess/WebProcess.cpp:
        (WebKit::m_webSQLiteDatabaseTracker): Deleted.

2016-02-16  Dean Jackson  <dino@apple.com>

        Allow double tap to zoom in fast-click pages
        https://bugs.webkit.org/show_bug.cgi?id=154318
        <rdar://problem/24223767>

        Reviewed by Simon Fraser and Benjamin Poulain.
        
        Most of the patch comes from Jon Lee.

        Our fast-click algorithm exposed a number of cases where
        people missed the double-tap-to-zoom behaviour. In particular,
        when you double tap on a large body of text, typical in
        blogs and articles.

        This patch enhances the algorithm to have a parallel
        double-tap gesture recognizer in the situations where
        fast-click is enabled. This new gesture recongizer does
        not cause the single tap to block for 350ms, so clicks
        are still dispatched fast. If it fires, we already have
        some information about whether we have a pending double
        tap, based on the first tap.

        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary): Remove the optimization
        that only told the content view to disable on pages that allowed double taps. We now allow
        them even on fast click pages.

        * UIProcess/ios/WKContentViewInteraction.h: Add the new UITapGestureRecognizer for double taps
        in fast click pages. This is called nonBlockingDoubleTapGestureRecognizer because, unlike
        the existing DoubleTapGestureRecognizer, this one does not force the singleTapRecognizer
        to wait.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]): Set up the new UITapGestureRecognizer.
        (-[WKContentView cleanupInteraction]): And remove it when we're done.
        (-[WKContentView _removeDefaultGestureRecognizers]): Ditto.
        (-[WKContentView _addDefaultGestureRecognizers]):
        (-[WKContentView _inspectorNodeSearchRecognized:]): Something happened, we are no longer in
        a potential double tap situation.
        (-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]): Remove the check
        for potential tap in progress.
        (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
        (-[WKContentView gestureRecognizerShouldBegin:]):
        (-[WKContentView _highlightLongPressRecognized:]): Again, something happened, so we are
        no longer in a double tap situation.
        (-[WKContentView _longPressRecognized:]): Ditto.
        (-[WKContentView _singleTapRecognized:]): Ditto.
        (-[WKContentView _doubleTapRecognized:]): Ditto.
        (-[WKContentView _resetIsDoubleTapPending]):
        (-[WKContentView _fastDoubleTapRecognized:]): We're now pending a double tap.
        (-[WKContentView _twoFingerDoubleTapRecognized:]):
        (-[WKContentView _didNotHandleTapAsClick:]): If we get here and we have a pending
        double tap, then trigger a zoom operation.
        (-[WKContentView _setDoubleTapGesturesEnabled:]):

2016-02-16  Alex Christensen  <achristensen@webkit.org>

        CMake build fix.

        * PlatformMac.cmake:

2016-02-16  Alex Christensen  <achristensen@webkit.org>

        Use NSURLCredential from serverTrust when evaluating server trust AuthenticationChallenges with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=154316

        Reviewed by Brady Eidson.
        
        This fixes http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
        and many other layout tests that use https because it allows https connections with servers
        with self-signed certificates when TestController::canAuthenticateAgainstProtectionSpace in
        WebKitTestRunner says it's OK, or when any other WKPageNavigationClient says it's ok. 

        * NetworkProcess/NetworkDataTask.h:
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
        (WebKit::serverTrustCredential):

2016-02-16  Anders Carlsson  <andersca@apple.com>

        Use pid_t everywhere, instead of PlatformProcessIdentifier
        https://bugs.webkit.org/show_bug.cgi?id=154306

        Reviewed by Sam Weinig.

        * Platform/IPC/Connection.h:
        * Platform/PlatformProcessIdentifier.h: Removed.
        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
        (TEST_F):
        * UIProcess/ChildProcessProxy.h:
        (WebKit::ChildProcessProxy::processIdentifier):
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
        * UIProcess/Launcher/ProcessLauncher.h:
        (WebKit::ProcessLauncher::processIdentifier):
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::processIdentifier):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::networkProcessIdentifier):
        * UIProcess/WebProcessPool.h:
        * UIProcess/WebProcessProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-16  Anders Carlsson  <andersca@apple.com>

        Remove WebKit2 header cruft
        https://bugs.webkit.org/show_bug.cgi?id=154309

        Reviewed by Sam Weinig.

        * WebKit2.xcodeproj/project.pbxproj:
        * mac/WKError.h: Removed.
        * mac/WKPreferences.h: Removed.

2016-02-16  Anders Carlsson  <andersca@apple.com>

        Remove unused environment variable classes
        https://bugs.webkit.org/show_bug.cgi?id=154308

        Reviewed by Tim Horton.

        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Removed.
        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Removed.
        (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor): Deleted.
        (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Deleted.
        (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Deleted.
        (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Deleted.
        (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Deleted.
        (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Deleted.
        (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Deleted.
        * UIProcess/Launcher/mac/EnvironmentVariables.cpp: Removed.
        (WebKit::EnvironmentVariables::EnvironmentVariables): Deleted.
        (WebKit::EnvironmentVariables::~EnvironmentVariables): Deleted.
        (WebKit::EnvironmentVariables::set): Deleted.
        (WebKit::EnvironmentVariables::get): Deleted.
        (WebKit::EnvironmentVariables::appendValue): Deleted.
        (WebKit::EnvironmentVariables::valueIfVariableHasName): Deleted.
        (WebKit::EnvironmentVariables::createStringForVariable): Deleted.
        (WebKit::EnvironmentVariables::copyEnvironmentVariables): Deleted.
        (WebKit::EnvironmentVariables::dump): Deleted.
        * UIProcess/Launcher/mac/EnvironmentVariables.h: Removed.
        (WebKit::EnvironmentVariables::environmentPointer): Deleted.
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-16  Alex Christensen  <achristensen@webkit.org>

        Add checks before redirecting with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=154298

        Reviewed by Andy Estes.

        * NetworkProcess/NetworkDataTask.h:
        (WebKit::NetworkDataTask::create):
        (WebKit::NetworkDataTask::setPendingDownload):
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
        (WebKit::NetworkDataTask::NetworkDataTask):
        (WebKit::NetworkDataTask::~NetworkDataTask):
        (WebKit::NetworkDataTask::willPerformHTTPRedirection):
        Implemented based on ResourceHandle::willSendRequest but with two notable exceptions:
        1. When using NSURLConnection, the last http method and the current http method are not always equal, and this
        check needs to change the current http method to match the last http method when being redirected with an http
        status code 307.  When using NSURLSession, the current http method is already updated properly.
        2. I did not copy the part of ResourceHandle::willSendRequest that uses a CredentialStorage.  I'm trying to avoid
        using CredentialStorages with NSURLSession.
        (WebKit::NetworkDataTask::scheduleFailure):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):

2016-02-16  Brady Eidson  <beidson@apple.com>

        Modern IDB: WK2 IPC Scaffolding.
        https://bugs.webkit.org/show_bug.cgi?id=154296

        Reviewed by Alex Christensen.
        
        No change in behavior yet; Just laying the groundwork.

        * CMakeLists.txt:
        * WebKit2.xcodeproj/project.pbxproj:

        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::establishIDBConnectionToServer):
        (WebKit::DatabaseToWebProcessConnection::removeIDBConnectionToServer):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
        
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: Added.
        (WebKit::WebIDBConnectionToClient::create):
        (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
        (WebKit::WebIDBConnectionToClient::~WebIDBConnectionToClient):
        (WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess):
        (WebKit::WebIDBConnectionToClient::messageSenderConnection):
        (WebKit::WebIDBConnectionToClient::connectionToClient):
        (WebKit::WebIDBConnectionToClient::didDeleteDatabase):
        (WebKit::WebIDBConnectionToClient::didOpenDatabase):
        (WebKit::WebIDBConnectionToClient::didAbortTransaction):
        (WebKit::WebIDBConnectionToClient::didCommitTransaction):
        (WebKit::WebIDBConnectionToClient::didCreateObjectStore):
        (WebKit::WebIDBConnectionToClient::didDeleteObjectStore):
        (WebKit::WebIDBConnectionToClient::didClearObjectStore):
        (WebKit::WebIDBConnectionToClient::didCreateIndex):
        (WebKit::WebIDBConnectionToClient::didDeleteIndex):
        (WebKit::WebIDBConnectionToClient::didPutOrAdd):
        (WebKit::WebIDBConnectionToClient::didGetRecord):
        (WebKit::WebIDBConnectionToClient::didGetCount):
        (WebKit::WebIDBConnectionToClient::didDeleteRecord):
        (WebKit::WebIDBConnectionToClient::didOpenCursor):
        (WebKit::WebIDBConnectionToClient::didIterateCursor):
        (WebKit::WebIDBConnectionToClient::fireVersionChangeEvent):
        (WebKit::WebIDBConnectionToClient::didStartTransaction):
        (WebKit::WebIDBConnectionToClient::notifyOpenDBRequestBlocked):
        * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: Added.
        
        * Platform/Logging.h:
                
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: Added.
        (WebKit::generateConnectionToServerIdentifier):
        (WebKit::WebIDBConnectionToServer::create):
        (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
        (WebKit::WebIDBConnectionToServer::~WebIDBConnectionToServer):
        (WebKit::WebIDBConnectionToServer::messageSenderConnection):
        (WebKit::WebIDBConnectionToServer::coreConnectionToServer):
        (WebKit::WebIDBConnectionToServer::deleteDatabase):
        (WebKit::WebIDBConnectionToServer::openDatabase):
        (WebKit::WebIDBConnectionToServer::abortTransaction):
        (WebKit::WebIDBConnectionToServer::commitTransaction):
        (WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
        (WebKit::WebIDBConnectionToServer::createObjectStore):
        (WebKit::WebIDBConnectionToServer::deleteObjectStore):
        (WebKit::WebIDBConnectionToServer::clearObjectStore):
        (WebKit::WebIDBConnectionToServer::createIndex):
        (WebKit::WebIDBConnectionToServer::deleteIndex):
        (WebKit::WebIDBConnectionToServer::putOrAdd):
        (WebKit::WebIDBConnectionToServer::getRecord):
        (WebKit::WebIDBConnectionToServer::getCount):
        (WebKit::WebIDBConnectionToServer::deleteRecord):
        (WebKit::WebIDBConnectionToServer::openCursor):
        (WebKit::WebIDBConnectionToServer::iterateCursor):
        (WebKit::WebIDBConnectionToServer::establishTransaction):
        (WebKit::WebIDBConnectionToServer::databaseConnectionClosed):
        (WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded):
        (WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):
        * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: Added.

        * WebProcess/Databases/WebDatabaseProvider.cpp:
        (WebKit::WebDatabaseProvider::idbConnectionToServerForSession):
        * WebProcess/Databases/WebDatabaseProvider.h:

        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::idbConnectionToServerForSession):
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:

2016-02-16  Sam Weinig  <sam@webkit.org>

        Revert r195826.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]):
        (-[WKContentView _singleTapCommited:]):

2016-02-16  Csaba Osztrogonác  <ossy@webkit.org>

        [Mac][cmake] Unreviewed buildfix after r196488. Just for fun.

        * PlatformMac.cmake:

2016-02-15  Dan Bernstein  <mitz@apple.com>

        Removed unused files after r196478.

        * Configurations/DatabaseProcess.xcconfig: Removed.
        * Configurations/NetworkProcess.xcconfig: Removed.
        * Configurations/PluginProcess.xcconfig: Removed.
        * Configurations/WebContentProcess.xcconfig: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-15  ChangSeok Oh  <changseok.oh@collabora.com>

        [ThreadedCompositor] position:fixed elements do not have their own layers when threaded compositor is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=154100

        Reviewed by Carlos Garcia Campos.

        Currently, fixed elements are redrawn to a backing store every time layout or scroll happens.
        It results in the bad effect on performance-wise. Letting fixed element have separate layers is
        necessary when threaded compositor is enabled at least. Because async scrolling requires it.

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::updatePreferences):

2016-02-15  Alex Christensen  <achristensen@webkit.org>

        Implement content sniffing check with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=154261

        Reviewed by Andy Estes.

        This fixes http/tests/xmlhttprequest/small-chunks-response-text.html when using NetworkSession.

        * NetworkProcess/NetworkDataTask.h:
        (WebKit::NetworkDataTask::create):
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
        (WebKit::NetworkDataTask::NetworkDataTask):
        Content sniffing is enabled by default.  Disable it if the NetworkLoadParameters say not to.
        This is analogous to behavior in ResourceHandle::createNSURLConnection.

2016-02-15  Alex Christensen  <achristensen@webkit.org>

        Move Download authentication code to AuthenticationManager
        https://bugs.webkit.org/show_bug.cgi?id=154132

        Reviewed by Sam Weinig.

        When a video element makes a request that receives an authentication challenge, the
        AuthenticationManager receives an AuthenticationChallenge without an AuthenticationClient.
        As a result, Download::receivedCredential and other functions were being called, which
        sent a message to the challenge's sender.  This functionality is not specific to downloads,
        so I moved it from Download to AuthenticationManager.

        This fixes http/tests/media/video-auth.html when using NetworkSession 
        because I use AuthenticationManager::receivedCredential if there is no AuthenticationClient
        instead of improperly asserting that there is always an AuthenticationClient if there is no
        completionHandler.

        * NetworkProcess/Downloads/Download.h:
        * NetworkProcess/Downloads/ios/DownloadIOS.mm:
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::receivedCredential): Deleted.
        (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
        (WebKit::Download::receivedCancellation): Deleted.
        (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
        (WebKit::Download::receivedChallengeRejection): Deleted.
        * NetworkProcess/Downloads/mac/DownloadMac.mm:
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::receivedCredential): Deleted.
        (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
        (WebKit::Download::receivedCancellation): Deleted.
        (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
        (WebKit::Download::receivedChallengeRejection): Deleted.
        * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::receivedCredential): Deleted.
        (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
        (WebKit::Download::receivedCancellation): Deleted.
        (WebKit::Download::continueWithoutCredential): Deleted.
        (WebKit::Download::useCredential): Deleted.
        (WebKit::Download::cancelAuthenticationChallenge): Deleted.
        (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
        (WebKit::Download::receivedChallengeRejection): Deleted.
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * PlatformMac.cmake:
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::cancelChallenge):
        (WebKit::AuthenticationManager::cancelSingleChallenge):
        (WebKit::AuthenticationManager::performDefaultHandling):
        (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
        * Shared/Authentication/cocoa: Added.
        * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Added.
        (WebKit::AuthenticationManager::receivedCredential):
        (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
        (WebKit::AuthenticationManager::receivedCancellation):
        (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
        (WebKit::AuthenticationManager::receivedChallengeRejection):
        * Shared/Authentication/soup: Added.
        * Shared/Authentication/soup/AuthenticationManagerSoup.cpp: Added.
        (WebKit::AuthenticationManager::receivedCredential):
        (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
        (WebKit::AuthenticationManager::receivedCancellation):
        (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
        (WebKit::AuthenticationManager::receivedChallengeRejection):
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-15  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [CMake][Mac] Remove WKNPAPIPlugInContainer.mm in WebKit2/PlatformMac.cmake
        https://bugs.webkit.org/show_bug.cgi?id=154234

        Reviewed by Csaba Osztrogonác.

        * PlatformMac.cmake: Remove WKNPAPIPlugInContainer.mm.

2016-02-14  Chris Dumez  <cdumez@apple.com>

        Unreviewed, land an additional Mac CMake build fix.

        * PlatformMac.cmake:

2016-02-14  Brian Burg  <bburg@apple.com>

        WKAutomationDelegate's requestAutomationSession should take a suggested session identifier
        https://bugs.webkit.org/show_bug.cgi?id=154012
        <rdar://problem/24557697>

        Reviewed by Darin Adler.

        Add a string parameter to the delegate method for requesting a new session.

        * UIProcess/API/APIAutomationClient.h:
        (API::AutomationClient::didRequestAutomationSession):
        (API::AutomationClient::requestAutomationSession): Deleted.
        Rename the client method to better match the delegate method's name.

        * UIProcess/API/Cocoa/_WKAutomationDelegate.h:
        * UIProcess/Cocoa/AutomationClient.h:
        * UIProcess/Cocoa/AutomationClient.mm:
        (WebKit::AutomationClient::AutomationClient):
        (WebKit::AutomationClient::requestAutomationSession):

2016-02-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ and hopefully EFL build after r196499.

        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
        (WebKit::PluginProcessProxy::platformGetLaunchOptions):

2016-02-12  Beth Dakin  <bdakin@apple.com>

        REGRESSION: Link preview is slow and unreliable
        https://bugs.webkit.org/show_bug.cgi?id=154197
        -and corresponding-
        rdar://problem/24428064

        Reviewed by Tim Horton.

        This patch rolls http://trac.webkit.org/changeset/187471 back in. That was 
        how we fixed this problem ages ago. We rolled it out because it very 
        mysteriously seemed to cause a memory regression, but we want to track that 
        separately and not leave this performance regression in its place in the 
        meantime.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::updateViewState):
        (WebKit::WebPageProxy::dispatchViewStateChange):
        (WebKit::WebPageProxy::updateActivityToken):

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Get rid of a 6 year old compiler workaround
        https://bugs.webkit.org/show_bug.cgi?id=154198

        Reviewed by Sam Weinig.

        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::connectToService):
        (WebKit::createService):

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Fix ASan build.

        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::copyASanDynamicLibraryPath): Deleted.

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Remove NPAPI for showing preference panes
        https://bugs.webkit.org/show_bug.cgi?id=154193

        Reviewed by Dan Bernstein.

        No plug-ins ended up adopting this API, so there's no point in keeping it around.

        * PluginProcess/PluginControllerProxy.h:
        * PluginProcess/mac/PluginControllerProxyMac.mm:
        (WebKit::PluginControllerProxy::openPluginPreferencePane): Deleted.
        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
        (WebKit::NetscapePluginModule::getPluginInfo): Deleted.
        * Shared/Plugins/PluginModuleInfo.h:
        * UIProcess/Plugins/PluginProcessProxy.h:
        * UIProcess/Plugins/PluginProcessProxy.messages.in:
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::openPluginPreferencePane): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
        (WebKit::NPN_GetValue): Deleted.
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::NetscapePlugin::openPluginPreferencePane): Deleted.
        (WebKit::NetscapePlugin::plugInContainer): Deleted.
        (WebKit::NetscapePlugin::platformDestroy): Deleted.
        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h: Removed.
        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm: Removed.
        (-[WKNPAPIPlugInContainer dealloc]): Deleted.
        (-[WKNPAPIPlugInContainer _invalidate]): Deleted.
        (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): Deleted.
        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h: Removed.
        * WebProcess/Plugins/PluginController.h:
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::openPluginPreferencePane): Deleted.
        * WebProcess/Plugins/PluginView.h:

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Remove PowerPC cruft
        https://bugs.webkit.org/show_bug.cgi?id=154191

        Reviewed by Dan Bernstein.

        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
        (WebKit::getPluginArchitecture): Deleted.

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Remove more unneeded process launching code
        https://bugs.webkit.org/show_bug.cgi?id=154190

        Reviewed by Tim Horton.

        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::getLaunchOptions): Deleted.
        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Removed.
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::getLaunchOptions): Deleted.
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/Plugins/PluginProcessProxy.h:
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap): Deleted.
        (WebKit::PluginProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getLaunchOptions): Deleted.
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::WebProcessProxy::platformGetLaunchOptions): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Use different process types for 32-bit and 64-bit plug-ins
        https://bugs.webkit.org/show_bug.cgi?id=154186

        Reviewed by Tim Horton.

        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::getLaunchOptions):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::serviceName):
        (WebKit::shouldLeakBoost):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::getLaunchOptions):
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::getLaunchOptions): Deleted.
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getLaunchOptions):

2016-02-12  Beth Dakin  <bdakin@apple.com>

        Re-name isClickableElement in InteractionInformationAtPosition to isElement
        https://bugs.webkit.org/show_bug.cgi?id=154179

        Reviewed by Enrica Casucci.

        The bool is set for all elements, so it’s just confusing to call it a 
        clickableElement instead of just element.
        * Shared/ios/InteractionInformationAtPosition.h:
        * Shared/ios/InteractionInformationAtPosition.mm:
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView gestureRecognizerShouldBegin:]):
        (-[WKContentView _highlightLongPressRecognized:]):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Remove more unused process launcher code
        https://bugs.webkit.org/show_bug.cgi?id=154181

        Reviewed by Tim Horton.

        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::processTypeAsString): Deleted.
        (WebKit::ProcessLauncher::getProcessTypeFromString): Deleted.
        * UIProcess/Launcher/ProcessLauncher.h:

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Remove more unused process launching code
        https://bugs.webkit.org/show_bug.cgi?id=154178

        Reviewed by Tim Horton.

        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm:
        (WebKit::shouldUseXPC): Deleted.
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
        (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Deleted.
        (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Deleted.
        * UIProcess/Launcher/mac/EnvironmentVariables.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::ProcessLauncher::launchProcess):
        (WebKit::setUpTerminationNotificationHandler): Deleted.
        (WebKit::addDYLDEnvironmentAdditions): Deleted.
        (WebKit::tryPreexistingProcess): Deleted.
        (WebKit::createProcess): Deleted.
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::shouldUseXPC): Deleted.
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/ios/WebProcessProxyIOS.mm:
        (WebKit::WebProcessProxy::platformGetLaunchOptions): Deleted.
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::shouldUseXPC): Deleted.
        (WebKit::WebProcessProxy::platformGetLaunchOptions): Deleted.

2016-02-12  Brian Burg  <bburg@apple.com>

        Add a WebKit SPI for creating an automation session and advertise the active session via RemoteInspector
        https://bugs.webkit.org/show_bug.cgi?id=153934

        Reviewed by Dan Bernstein and Joseph Pecoraro.

        An automation session is the main place where WebKit support for user agent automation is implemented.
        A session encapsulates the state (default timeouts, page identifier mappings), objects (active automation
        WebPages) and logic (how to open a window, run JS, send user input, etc.) used to implement automation
        commands.

        A process pool can only have one session at a time. The session is created by the WebKit client in
        response to a request that comes through _WKAutomationDelegate. When a session is set on the process pool,
        it is advertised to remote drivers and debuggers as a RemoteControllableTarget. A remote driver can use
        the existing RemoteInspector API to connect to the session and send it automation commands.

        The session has a delegate so that WebKit clients can perform actions that are outside the scope of WebKit,
        such as creating new tabs, enumerating windows, or sending native user inputs.

        This patch adds AutomationSession classes at the API and implementation level in WebKit2. The
        implementation class contains RemoteInspector support, which cannot be used directly by WebKit clients.
        AutomationSessionDelegate classes exist at both the API and implementation level to bridge between
        Objective-C delegates and C++ clients. All code related to RemoteInspector and RemoteAutomationTarget
        must be guarded by ENABLE(REMOTE_INSPECTOR).

        * Shared/API/APIObject.h: Add new API type 'AutomationSession'.
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate in the wrapper.
        * UIProcess/API/APIAutomationSessionClient.h: Added.
        (API::AutomationSessionClient::~AutomationSessionClient):
        (API::AutomationSessionClient::didRequestNewWindow): Delegate window creation to the client.
        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _setAutomationSession:]): Keep at most one WebAutomationSession at a time.
        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
        * UIProcess/API/Cocoa/_WKAutomationSession.h: Added.
        * UIProcess/API/Cocoa/_WKAutomationSession.mm: Added.
        (-[_WKAutomationSession init]): Construct the API object in the implementation wrapper.
        (-[_WKAutomationSession dealloc]): Clear the client before calling the implementation destructor.

        (-[_WKAutomationSession sessionIdentifier]):
        (-[_WKAutomationSession setSessionIdentifier:]):
        Store the session identifier string in the implementation.

        (-[_WKAutomationSession delegate]):
        (-[_WKAutomationSession setDelegate:]):
        Create an Objective-C adapter for the delegate if not nil and set it as the implementation's client.

        (-[_WKAutomationSession _apiObject]):
        * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: Added.
        * UIProcess/API/Cocoa/_WKAutomationSessionInternal.h: Added.
        (wrapper):
        * UIProcess/Cocoa/AutomationSessionClient.h: Added.
        Set up the boilerplate for caching delegate method availability. It will include more methods later.

        * UIProcess/Cocoa/AutomationSessionClient.mm: Added. Forward requests to the SPI delegate.
        (WebKit::AutomationSessionClient::AutomationSessionClient):
        (WebKit::AutomationSessionClient::didRequestNewWindow): Delegate window creation to the client.

        * UIProcess/WebAutomationSession.cpp: Added.
        (WebKit::WebAutomationSession::WebAutomationSession):
        By default, a session should be available and not paired to any particular remote driver.

        (WebKit::WebAutomationSession::~WebAutomationSession): Require callers to clear the client first.
        (WebKit::WebAutomationSession::setClient):
        (WebKit::WebAutomationSession::dispatchMessageFromRemote): Stub this out for now.

        (WebKit::WebAutomationSession::connect):
        (WebKit::WebAutomationSession::disconnect):
        To prevent multiple connection attempts, mark the target as paired when a remote client has connected.

        * UIProcess/WebAutomationSession.h: Added.
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::setAutomationSession):
        Store the session object and tell it to register itself. Unregistering happens automatically
        in RemoteControllableTarget::~RemoteControllableTarget.

        * UIProcess/WebProcessPool.h:
        * WebKit2.xcodeproj/project.pbxproj: Add files and headers.

2016-02-12  Anders Carlsson  <andersca@apple.com>

        Get rid of NetscapePluginModule::createPluginMIMETypesPreferences
        https://bugs.webkit.org/show_bug.cgi?id=154173

        Reviewed by Dan Bernstein.

        * Shared/Plugins/Netscape/NetscapePluginModule.h:
        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
        (WebKit::NetscapePluginModule::createPluginMIMETypesPreferences): Deleted.

2016-02-11  Anders Carlsson  <andersca@apple.com>

        Remove legacy processes from WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=154119

        Reviewed by Darin Adler.

        * Configurations/BaseLegacyProcess.xcconfig: Removed.
        * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Removed.
        (DatabaseProcessMain): Deleted.
        * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
        * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm: Removed.
        (NetworkProcessMain): Deleted.
        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: Removed.
        (WebKit::PluginProcessMainDelegate::PluginProcessMainDelegate): Deleted.
        (PluginProcessMain): Deleted.
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: Removed.
        (WebKit::ChildProcessMainDelegate::ChildProcessMainDelegate): Deleted.
        (WebKit::ChildProcessMain): Deleted.
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Removed.
        (WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate): Deleted.
        (WebKit::ChildProcessMainDelegate::installSignalHandlers): Deleted.
        (WebKit::ChildProcessMainDelegate::doPreInitializationWork): Deleted.
        (WebKit::ChildProcessMainDelegate::getConnectionIdentifier): Deleted.
        (WebKit::ChildProcessMainDelegate::getClientIdentifier): Deleted.
        (WebKit::ChildProcessMainDelegate::getClientProcessName): Deleted.
        (WebKit::ChildProcessMainDelegate::getExtraInitializationData): Deleted.
        (WebKit::ChildProcessMainDelegate::startRunLoop): Deleted.
        (WebKit::ChildProcessMainDelegate::doPostRunWork): Deleted.
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Removed.
        (WebKit::closeUnusedFileDescriptors): Deleted.
        (WebKit::BootstrapMain): Deleted.
        (main): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed.
        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Removed.
        (WebKit::WebContentProcessMainDelegate::WebContentProcessMainDelegate): Deleted.
        (WebContentProcessMain): Deleted.

2016-02-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] HTTP auth dialog incorrectly rendered with Accelerated Compositing enabled
        https://bugs.webkit.org/show_bug.cgi?id=154159

        Reviewed by Michael Catanzaro.

        There are two problems here, first we are changing the cairo
        operator when rendering the xcomposite window pixmap without a
        proper save/restore, so it affects the drawing that happens after
        that, and second problem is that we are not rendering the gray
        background in AC mode because we are returning earlier.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewRenderAcceleratedCompositingResults):
        (webkitWebViewBaseDraw):

2016-02-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Allow applications to disable Accelerated Compositing mode.
        https://bugs.webkit.org/show_bug.cgi?id=154147

        Reviewed by Carlos Garcia Campos.

        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore): if the environment
        variable  WEBKIT_DISABLE_COMPOSITING_MODE is defined, then disable AC.

2016-02-11  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r196453.
        https://bugs.webkit.org/show_bug.cgi?id=154142

        This change broke internal iOS builds (Requested by ryanhaddad
        on #webkit).

        Reverted changeset:

        "Move Download authentication code to AuthenticationManager"
        https://bugs.webkit.org/show_bug.cgi?id=154132
        http://trac.webkit.org/changeset/196453

2016-02-11  Anders Carlsson  <andersca@apple.com>

        Use the system PluginProcess.app for generating plug-in MIME type preferences
        https://bugs.webkit.org/show_bug.cgi?id=154139

        Reviewed by Dan Bernstein.

        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::createPropertyListFile):

2016-02-11  Beth Dakin  <bdakin@apple.com>

        EditingRangeIsRelativeTo::Document and NSRangeIsRelativeTo::Document should 
        be called EditableRoot instead
        https://bugs.webkit.org/show_bug.cgi?id=154138

        Reviewed by Alexey Proskuryakov.

        EditableRoot is much more accurate than Document.
        * Shared/EditingRange.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::insertText):
        (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::rangeFromEditingRange):
        * WebProcess/WebPage/WebPage.h:

2016-02-11  Alex Christensen  <achristensen@webkit.org>

        Move Download authentication code to AuthenticationManager
        https://bugs.webkit.org/show_bug.cgi?id=154132

        Reviewed by Sam Weinig.

        When a video element makes a request that receives an authentication challenge, the
        AuthenticationManager receives an AuthenticationChallenge without an AuthenticationClient.
        As a result, Download::receivedCredential and other functions were being called, which
        sent a message to the challenge's sender.  This functionality is not specific to downloads,
        so I moved it from Download to AuthenticationManager.

        This fixes http/tests/media/video-auth.html when using NetworkSession 
        because I use AuthenticationManager::receivedCredential if there is no AuthenticationClient
        instead of improperly asserting that there is always an AuthenticationClient if there is no
        completionHandler.

        * NetworkProcess/Downloads/Download.h:
        * NetworkProcess/Downloads/ios/DownloadIOS.mm:
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::receivedCredential): Deleted.
        (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
        (WebKit::Download::receivedCancellation): Deleted.
        (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
        (WebKit::Download::receivedChallengeRejection): Deleted.
        * NetworkProcess/Downloads/mac/DownloadMac.mm:
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::receivedCredential): Deleted.
        (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
        (WebKit::Download::receivedCancellation): Deleted.
        (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
        (WebKit::Download::receivedChallengeRejection): Deleted.
        * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::receivedCredential): Deleted.
        (WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
        (WebKit::Download::receivedCancellation): Deleted.
        (WebKit::Download::continueWithoutCredential): Deleted.
        (WebKit::Download::useCredential): Deleted.
        (WebKit::Download::cancelAuthenticationChallenge): Deleted.
        (WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
        (WebKit::Download::receivedChallengeRejection): Deleted.
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * PlatformMac.cmake:
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::cancelChallenge):
        (WebKit::AuthenticationManager::cancelSingleChallenge):
        (WebKit::AuthenticationManager::performDefaultHandling):
        (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
        * Shared/Authentication/cocoa: Added.
        * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Added.
        (WebKit::AuthenticationManager::receivedCredential):
        (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
        (WebKit::AuthenticationManager::receivedCancellation):
        (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
        (WebKit::AuthenticationManager::receivedChallengeRejection):
        * Shared/Authentication/soup: Added.
        * Shared/Authentication/soup/AuthenticationManagerSoup.cpp: Added.
        (WebKit::AuthenticationManager::receivedCredential):
        (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
        (WebKit::AuthenticationManager::receivedCancellation):
        (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
        (WebKit::AuthenticationManager::receivedChallengeRejection):
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-11  Beth Dakin  <bdakin@apple.com>

        Soft spaces are often tracked in the wrong spot
        https://bugs.webkit.org/show_bug.cgi?id=154127
        -and corresponding-
        rdar://problem/24493140

        Reviewed by Sam Weinig.

        Soft spaces are in the wrong space now for two reasons. First of all, the 
        NSRange we get from the accepted candidate is relative to the paragraph 
        start, so without this patch, soft spaces are only ever right for the first 
        paragraph. Secondly, if focus changes for any reason other than text 
        insertion, soft spaces are also wrong because they need to be re-set.

        New enum can be used to indicate what an EditingRange is relative to.
        * Shared/EditingRange.h:
        (WebKit::EditingRange::EditingRange):

        didHandleAcceptedCandidate is a new message that gets sent from the 
        WebProcess. This lets us track a bool m_isHandlingAcceptedCandidate.
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::didHandleAcceptedCandidate):

        Re-set the m_softSpaceRange on selection changes so long as 
        m_isHandlingAcceptedCandidate is false.
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::selectionDidChange):

        Set m_isHandlingAcceptedCandidate to true.
        (WebKit::WebViewImpl::handleAcceptedCandidate):

        Set m_isHandlingAcceptedCandidate to false.
        (WebKit::WebViewImpl::didHandleAcceptedCandidate):

        insertTextAsync takes a new parameter indicating what the replacementRange is 
        relative to. If needToRemoveSoftSpace is true, then the replacementRange is 
        relative to the paragraph.
        (WebKit::WebViewImpl::insertText):

        Pipe didHandleAcceptedCandidate through to WebViewImpl.
        * UIProcess/PageClient.h:

        insertTextAsync takes an EditingRangeIsRelativeTo.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::insertTextAsync):

        Pipe didHandleAcceptedCandidate through to WebViewImpl.
        (WebKit::WebPageProxy::didHandleAcceptedCandidate):
        * UIProcess/WebPageProxy.h:

        New message lets the WebProcess tell the UIProcess when the candidate has 
        been accepted.
        * UIProcess/WebPageProxy.messages.in:

        Pipe didHandleAcceptedCandidate through to WebViewImpl.
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didHandleAcceptedCandidate):

        insertTextAsync takes an EditingRangeIsRelativeTo. Pass that through to 
        rangeFromEditingRange to get the correct range.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::insertTextAsync):

        Use the EditingRangeIsRelativeTo to find the right WebCore::Range.
        (WebKit::WebPage::rangeFromEditingRange):

        Take EditingRangeIsRelativeTo in a few places. 
        * WebProcess/WebPage/WebPage.h:

        InsertTextAsync takes a EditingRangeIsRelativeTo.
        * WebProcess/WebPage/WebPage.messages.in:

        Send didHandleAccpetedCandidate to the UIProcess
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::handleAcceptedCandidate):

2016-02-11  Alex Christensen  <achristensen@webkit.org>

        Use BlobResourceHandle when loading blob urls, even when using NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=154096

        Reviewed by Brady Eidson.
        
        This fixes at least http/tests/xmlhttprequest/blob-request-byte-range.html.

        * NetworkProcess/NetworkDataTask.h:
        Renamed NetworkDataTaskClient::didReceiveResponse to didReceiveResponseNetworkSession
        to avoid conflicting with ResourceHandleClient::didReceiveResponse.
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        Make a BlobResourceHandle instead of a NetworkDataTask if we have a request for a blob url.
        (WebKit::NetworkLoad::~NetworkLoad):
        (WebKit::NetworkLoad::setDefersLoading):
        (WebKit::NetworkLoad::cancel):
        (WebKit::NetworkLoad::continueWillSendRequest):
        (WebKit::NetworkLoad::continueDidReceiveResponse):
        (WebKit::NetworkLoad::sharedDidReceiveResponse):
        (WebKit::NetworkLoad::convertTaskToDownload):
        (WebKit::NetworkLoad::setPendingDownloadID):
        (WebKit::NetworkLoad::didReceiveChallenge):
        (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
        (WebKit::NetworkLoad::cannotShowURL):
        (WebKit::NetworkLoad::didReceiveResponseAsync):
        (WebKit::NetworkLoad::willSendRequestAsync):
        (WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync):
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::NetworkLoad::supportsDataArray):
        (WebKit::NetworkLoad::didReceiveDataArray):
        (WebKit::NetworkLoad::didSendData):
        (WebKit::NetworkLoad::receivedCancellation):
        (WebKit::NetworkLoad::didReceiveResponse): Deleted.
        Compile ResourceHandleClient when using NetworkSession because it is used for blobs now.
        Also, add null checks because we now have NetworkLoads where either m_task or m_handle is always null.
        * NetworkProcess/NetworkLoad.h:
        (WebKit::NetworkLoad::pendingDownloadID):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        * NetworkProcess/mac/NetworkLoadMac.mm:
        (WebKit::NetworkLoad::willCacheResponseAsync):

2016-02-11  Frederic Wang  <fred.wang@free.fr>

        Bug 154103 - [GTK] Build error after bug 154046
        https://bugs.webkit.org/show_bug.cgi?id=154103

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitUserContent.cpp:
        (_WebKitUserStyleSheet::_WebKitUserStyleSheet):
        (webkitUserStyleSheetGetUserStyleSheet):
        * UIProcess/API/gtk/WebKitUserContentPrivate.h:

2016-02-10  Jiewen Tan  <jiewen_tan@apple.com>

        Rename *Event::create* which creates events for bindings to *Event::createForBindings* and cleanup corresponding paths
        https://bugs.webkit.org/show_bug.cgi?id=153903
        <rdar://problem/24518146>

        Reviewed by Darin Adler.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::nextAssistableElement):

2016-02-10  Anders Carlsson  <andersca@apple.com>

        Add SPI to remove individual user scripts or user style sheets
        https://bugs.webkit.org/show_bug.cgi?id=154046
        rdar://problem/23596352

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKUserContentController.mm:
        (-[WKUserContentController _removeUserScript:]):
        (-[WKUserContentController _userStyleSheets]):
        (-[WKUserContentController _addUserStyleSheet:]):
        (-[WKUserContentController _removeUserStyleSheet:]):
        * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
        (WebKit::WebUserContentControllerProxy::addProcess):
        (WebKit::WebUserContentControllerProxy::removeUserScript):
        (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
        (WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
        (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
        * UIProcess/UserContent/WebUserContentControllerProxy.h:
        (WebKit::WebUserContentControllerProxy::userStyleSheets):
        * WebProcess/UserContent/WebUserContentController.cpp:
        (WebKit::WebUserContentController::removeUserScript):
        (WebKit::WebUserContentController::removeUserStyleSheet):
        * WebProcess/UserContent/WebUserContentController.h:
        * WebProcess/UserContent/WebUserContentController.messages.in:

2016-02-10  Alex Christensen  <achristensen@webkit.org>

        Fix assertions when loading from WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=154079

        Reviewed by Anders Carlsson.

        Assertions were failing, mostly when using NetworkProcess, and mostly involving Top Sites.
        When we do loading from the WebProcess (which we should eventually not allow), we were sometimes
        using a private browsing session that did not exist because the UIProcess had told the NetworkProcess
        to create a private browsing session with the given SessionID, but the WebProcess was not told about
        the private browsing session.
        Also, sometimes we were calling NetworkProcess::singleton() from the WebProcess, which caused problems
        with the PlatformStrategies object being reset.  This prevents that, too.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        Added an assertion that we have a network session when we have just made a NetworkingContext with the given SessionID.
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::defaultSession):
        (WebKit::NetworkSession::NetworkSession):
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        Call NetworkProcess::singleton only when we know we are in the network process.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        Tell the WebProcesses about the new private session, too.  Sometimes they use the new private session.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::ensurePrivateBrowsingSession):
        (WebKit::WebProcess::destroyPrivateBrowsingSession):
        Removed useless macros that were always true for all WK2 clients.

2016-02-10  Dan Bernstein  <mitz@apple.com>

        [Mac] Stop installing the legacy processes
        https://bugs.webkit.org/show_bug.cgi?id=154062

        Reviewed by Anders Carlsson.

        * Configurations/All.xcconfig: Removed the legacy processes from EXCLUDED_SOURCE_FILE_NAMES
          for iOS, now that they are no longer included in a Copy Files build phase.
        * Configurations/BaseLegacyProcess.xcconfig: Set SKIP_INSTALL to YES for OS X as well.
        * WebKit2.xcodeproj/project.pbxproj: Removed the Copy Files build phase that copied the
          processes into the framework in engineering builds. Renamed the “Add current version
          symlinks” script build phase to “Add XPCServices symlink”, and changed it to do just that.

2016-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r196183): [GTK] Broke TestInspector
        https://bugs.webkit.org/show_bug.cgi?id=153945

        Reviewed by Michael Catanzaro.

        When the inspector view is detached and not added to a window,
        which happens when it's closed, the inspector view is destroyed
        because it doesn't have a parent anymore. When the inspector view
        is destroyed we notify the web process that the inspector was
        closed. Before r196183 this was not a problem, because the call to
        WebInspectorProxy::didClose() from platformDetach() returned early
        because WebInspectorProxy::didClose() had already set
        m_inspectorPage to nullptr. In r196183 m_inspectorPage is set to
        nullptr after platformDetach(), so we end up trying to detach the
        inpector view again. To prevent this cycle, we should disconnect
        the destroyed signal handler from the inspector view when
        platformDetach() is called from WebInspectorProxy::didClose().

        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformDetach):

2016-02-09  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r196341.
        https://bugs.webkit.org/show_bug.cgi?id=154056

        This change broke existing API tests on Mac and iOS (Requested
        by ryanhaddad on #webkit).

        Reverted changeset:

        "Add SPI to remove individual user scripts or user style
        sheets"
        https://bugs.webkit.org/show_bug.cgi?id=154046
        http://trac.webkit.org/changeset/196341

2016-02-09  Anders Carlsson  <andersca@apple.com>

        Add SPI to remove individual user scripts or user style sheets
        https://bugs.webkit.org/show_bug.cgi?id=154046
        rdar://problem/23596352

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKUserContentController.mm:
        (-[WKUserContentController _removeUserScript:]):
        (-[WKUserContentController _userStyleSheets]):
        (-[WKUserContentController _addUserStyleSheet:]):
        (-[WKUserContentController _removeUserStyleSheet:]):
        * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
        (WebKit::WebUserContentControllerProxy::addProcess):
        (WebKit::WebUserContentControllerProxy::removeUserScript):
        (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
        (WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
        (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
        * UIProcess/UserContent/WebUserContentControllerProxy.h:
        (WebKit::WebUserContentControllerProxy::userStyleSheets):
        * WebProcess/UserContent/WebUserContentController.cpp:
        (WebKit::WebUserContentController::removeUserScript):
        (WebKit::WebUserContentController::removeUserStyleSheet):
        * WebProcess/UserContent/WebUserContentController.h:
        * WebProcess/UserContent/WebUserContentController.messages.in:

2016-02-07  Gavin Barraclough  <barraclough@apple.com>

        GetValueFunc/PutValueFunc should not take both slotBase and thisValue
        https://bugs.webkit.org/show_bug.cgi?id=154009

        Reviewed by Geoff Garen.

        In JavaScript there are two types of properties - regular value properties, and accessor properties.
        One difference between these is how they are reflected by getOwnPropertyDescriptor, and another is
        what object they operate on in the case of a prototype access. If you access a value property of a
        prototype object it return a value pertinent to the prototype, but in the case of a prototype object
        returning an accessor, then the accessor function is applied to the base object of the access.

        JSC supports special 'custom' properties implemented as a c++ callback, and these custom properties
        can be used to implement either value- or accessor-like behavior. getOwnPropertyDescriptor behavior
        is selected via the CustomAccessor attribute. Value- or accessor-like object selection is current
        supported by passing both the slotBase and the thisValue to the callback,and hoping it uses the
        right one. This is probably inefficient, bug-prone, and leads to crazy like JSBoundSlotBaseFunction.

        Instead, just pass one thisValue to the callback functions, consistent with CustomAccessor.

        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
        (WebKit::JSNPObject::getOwnPropertyNames):
        (WebKit::JSNPObject::propertyGetter):
        (WebKit::JSNPObject::methodGetter):
        * WebProcess/Plugins/Netscape/JSNPObject.h:
            - Merged slotBase & thisValue to custom property callbacks.

2016-02-09  Jer Noble  <jer.noble@apple.com>

        [Mac] Exiting fullscreen through the placeholder action leaves window in empty state
        https://bugs.webkit.org/show_bug.cgi?id=152979
        <rdar://problem/24132309>

        Reviewed by Brent Fulgham.

        In r194593, we relaxed the _fullScreenState requirement in -finishedExitFullScreenAnimation: to handle
        the case where the request to exit fullscreen came from outside the process. However, in so doing, we
        allowed -finishedExitFullScreenAnimation: to be called twice, and in so doing, leave the original window
        empty of its WebView.  Tighten up the restriction of _fullScreenState to allow only the "InFullScreen"
        state (to take care of the external exit command) and the "ExitingFullScreen" state, to handle the
        normal teardown path.

        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

2016-02-04  Jer Noble  <jer.noble@apple.com>

        [Mac] Adopt NSURLSession properties in AVAssetResourceLoader
        https://bugs.webkit.org/show_bug.cgi?id=153873

        Reviewed by Eric Carlson.

        Add a WebKit2 preference to control the WebCore isAVFoundationNSURLSessionEnabled()
        setting.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetAVFoundationNSURLSessionEnabled):
        (WKPreferencesGetAVFoundationNSURLSessionEnabled):
        * UIProcess/API/C/WKPreferencesRef.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2016-02-09  Anders Carlsson  <andersca@apple.com>

        All 32-bit plug-ins should use the XPC service
        https://bugs.webkit.org/show_bug.cgi?id=154036
        rdar://problem/16059483

        Reviewed by Dan Bernstein.
        
        Silverlight expects malloced memory from the tiny zone to be executable. It also expects
        the data segment from its coreclr image to be executable.
        
        Make this possible by:
        
        1. Shimming mach_vm_map, making sure to add the VM_PROT_EXECUTABLE bit to any memory in the tiny zone.
        2. Go through the address space, looking for any existing ranges from the tiny zone and mach_vm_protect them
           to be executable.
        3. Register with dyld so we'll get callbacks whenever a library is bound, look for the coreclr image, and
           mach_vm_protect its __DATA segment to be executable.

        * Platform/spi/Cocoa/DyldSPI.h: Copied from Source/WebKit2/PluginProcess/mac/PluginProcessShim.h.
        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::isMallocMemoryTag):
        (WebKit::shouldMapMemoryExecutable):
        (WebKit::initializeShim):
        (WebKit::PluginProcess::platformInitializeProcess):
        * PluginProcess/mac/PluginProcessShim.h:
        * PluginProcess/mac/PluginProcessShim.mm:
        (WebKit::shimMachVMMap):
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
        (WebKit::shouldUseXPC): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-09  Fujii Hironori  <Hironori.Fujii@jp.sony.com>

        possible buffer overrun in Connection::processMessage of Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp
        https://bugs.webkit.org/show_bug.cgi?id=153637

        Reviewed by Carlos Garcia Campos.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::processMessage): Fix invalid arguments of memmove.

2016-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.5 release.

        * gtk/NEWS: Add release notes for 2.11.5.

2016-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] WebKitWebView should send crossing events to the WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=153740

        Reviewed by Michael Catanzaro.

        We don't currently handle crossing events in the web view
        (enter/leave). That's why if you hover a scrollbar and leave the
        window, the scrollbar is still rendered as hovered.

        * Shared/gtk/WebEventFactory.cpp:
        (WebKit::buttonForEvent): Handle the case of GDK_ENTER_NOTIFY and
        GDK_LEAVE_NOTIFY events.
        (WebKit::WebEventFactory::createWebMouseEvent): Ditto.
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseRealize): Add GDK_ENTER_NOTIFY_MASK and
        GDK_LEAVE_NOTIFY_MASK flags to the web view event mask.
        (webkitWebViewBaseCrossingNotifyEvent): Handle enter/leave notify
        events by generating a mouse move event, ensuring the double to
        int conversion will not cause any problem.
        (webkit_web_view_base_class_init): Add an implementation for
        enter_notify_event and leave_notify_event.

2016-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        Infinite loop when processing mouse events synchronously
        https://bugs.webkit.org/show_bug.cgi?id=153995

        Reviewed by Darin Adler.

        This happened with WTR in the GTK+ port after landing patch in bug
        #153740. The thing is that WTR forces events handling IPC messages
        to be synchronous. When a drag and drop operation is in progress,
        the web process ignores mouse move events and replies with
        DidReceiveEvent signal. The DidReceiveEvent message handler in
        WebPageProxy checks if we have a m_nextMouseMoveEvent and handles
        it, but when all this happens synchronously the
        m_nextMouseMoveEvent is the current one because we haven't
        returned yet from handleMouseEvent(). We need to invalidate the
        m_nextMouseMoveEvent before calling handleMouseEvent().

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

2016-02-08  Jeremy Jones  <jeremyj@apple.com>

        Remove __weak from WKAirPlayRoutePicker.mm to fix build warning.
        https://bugs.webkit.org/show_bug.cgi?id=153985
        rdar://problem/24485348

        Reviewed by Darin Adler.

        Remove __weak since it is only available when using ARC.

        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:

2016-02-08  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>

        [GTK] Fix crash when creating webview with g_object_new
        https://bugs.webkit.org/show_bug.cgi?id=153989

        Reviewed by Carlos Garcia Campos.

        g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL) crashes webkit
        as _WebKitWebViewBasePrivate constructor requires a mainloop, but
        webkit is only initialized when a context is created (which
        doesn't happen with a direct call to g_object_new).

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkit_web_view_base_class_init):

2016-02-08  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r196253.
        https://bugs.webkit.org/show_bug.cgi?id=153990

        Caused several crashes in GTK+ bots (Requested by KaL on
        #webkit).

        Reverted changeset:

        "[GTK] WebKitWebView should send crossing events to the
        WebProcess"
        https://bugs.webkit.org/show_bug.cgi?id=153740
        http://trac.webkit.org/changeset/196253

2016-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] WebKitWebView should send crossing events to the WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=153740

        Reviewed by Michael Catanzaro.

        We don't currently handle crossing events in the web view
        (enter/leave). That's why if you hover a scrollbar and leave the
        window, the scrollbar is still rendered as hovered.

        * Shared/gtk/WebEventFactory.cpp:
        (WebKit::buttonForEvent): Handle the case of GDK_ENTER_NOTIFY and
        GDK_LEAVE_NOTIFY events.
        (WebKit::WebEventFactory::createWebMouseEvent): Ditto.
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseRealize): Add GDK_ENTER_NOTIFY_MASK and
        GDK_LEAVE_NOTIFY_MASK flags to the web view event mask.
        (webkitWebViewBaseCrossingNotifyEvent): Handle enter/leave notify
        events by generating a mouse move event, ensuring the double to
        int conversion will not cause any problem.
        (webkit_web_view_base_class_init): Add an implementation for
        enter_notify_event and leave_notify_event.

2016-02-06  Daniel Bates  <dabates@apple.com>

        Call CFRelease() on SecRequirementRef when no longer needed
        https://bugs.webkit.org/show_bug.cgi?id=153954
        <rdar://problem/24540259>

        Reviewed by Dan Bernstein.

        * Shared/mac/ChildProcessMac.mm:
        (WebKit::ChildProcess::initializeSandbox):

2016-02-06  Darin Adler  <darin@apple.com>

        Finish auditing call sites of upper() and lower(), eliminate many, and rename the functions
        https://bugs.webkit.org/show_bug.cgi?id=153905

        Reviewed by Sam Weinig.

        * NetworkProcess/CustomProtocols/CustomProtocolManager.h: Use ASCII case-insensitive hash
        for set of registered schemes.

        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
        (WebKit::getPluginInfoFromPropertyLists): Use convertToASCIILowercase for MIME type and
        for file extensions.

        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
        (WebKit::NetscapePluginModule::parseMIMEDescription): Use convertToASCIILowercase for
        MIME description.

        * UIProcess/API/efl/ewk_context.cpp:
        (ewk_context_preferred_languages_set): Use convertToASCIILowercase for language.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_set_preferred_languages): Use convertToASCIILowercase for language.

        * UIProcess/Plugins/PluginInfoStore.cpp:
        (WebKit::PluginInfoStore::findPluginForExtension): Use Vector::contains instead of
        writing it out using std::find.
        (WebKit::pathExtension): Lowercase the result with convertToASCIILowercase instead of
        leaving that to the caller.
        (WebKit::PluginInfoStore::findPlugin): Removed call to lower since pathExtension
        handles that now.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::findPlugin): Use convertToASCIILowercase for MIME type.

        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::globalURLSchemesWithCustomProtocolHandlers): Use
        an ASCII case-insensitive hash.
        (WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
        Remove lowercasing, since the hash is now ASCII case-insensitive.
        (WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
        Ditto.

        * UIProcess/WebProcessPool.h: Use an ASCII case-insensitive hash.

        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::initialize): Use convertToASCIILowercase on parameter names
        and values.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::pluginSupportsExtension): Use convertToASCIILowercase for extension assertion.
        Also use a modern for loop.
        (WebKit::WebFrameLoaderClient::objectContentType): Make the checks for empty MIME types
        a little less redundant. Reordered logic to avoid checking the list of supported MIME
        types extra times, and to eliminate the need for a boolean. Use convertToASCIILowercase
        on the extension.

2016-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix more incorrect ASSERT introduced in r196053.

        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::NetscapePluginX11::handleMouseEvent):
        (WebKit::NetscapePluginX11::handleWheelEvent):
        (WebKit::NetscapePluginX11::setFocus):
        (WebKit::NetscapePluginX11::handleMouseEnterEvent):
        (WebKit::NetscapePluginX11::handleMouseLeaveEvent):
        (WebKit::NetscapePluginX11::handleKeyboardEvent):

2016-02-05  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Error when closing page with WebInspector open
        https://bugs.webkit.org/show_bug.cgi?id=152867
        rdar://problem/24099423

        Reviewed by Brian Burg.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::didClose): Null out m_inspectorPage after platformDetach(),
        so the views can be cleaned up correctly.

2016-02-05  Alex Christensen  <achristensen@webkit.org>

        Move NetworkDataTask to its own header and source files
        https://bugs.webkit.org/show_bug.cgi?id=153922

        Reviewed by Tim Horton.

        Also renamed NetworkSessionTaskClient to NetworkDataTaskClient.

        * NetworkProcess/NetworkDataTask.h: Added.
        (WebKit::NetworkDataTaskClient::~NetworkDataTaskClient):
        (WebKit::NetworkDataTask::create):
        (WebKit::NetworkDataTask::client):
        (WebKit::NetworkDataTask::pendingDownloadID):
        (WebKit::NetworkDataTask::pendingDownload):
        (WebKit::NetworkDataTask::setPendingDownloadID):
        (WebKit::NetworkDataTask::setPendingDownload):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient): Deleted.
        (WebKit::NetworkDataTask::create): Deleted.
        (WebKit::NetworkDataTask::client): Deleted.
        (WebKit::NetworkDataTask::pendingDownloadID): Deleted.
        (WebKit::NetworkDataTask::pendingDownload): Deleted.
        (WebKit::NetworkDataTask::setPendingDownloadID): Deleted.
        (WebKit::NetworkDataTask::setPendingDownload): Deleted.
        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Added.
        (WebKit::NetworkDataTask::NetworkDataTask):
        (WebKit::NetworkDataTask::~NetworkDataTask):
        (WebKit::NetworkDataTask::scheduleFailure):
        (WebKit::NetworkDataTask::failureTimerFired):
        (WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
        (WebKit::NetworkDataTask::cancel):
        (WebKit::NetworkDataTask::resume):
        (WebKit::NetworkDataTask::suspend):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::takeDownloadID):
        (WebKit::NetworkDataTask::NetworkDataTask): Deleted.
        (WebKit::NetworkDataTask::~NetworkDataTask): Deleted.
        (WebKit::NetworkDataTask::scheduleFailure): Deleted.
        (WebKit::NetworkDataTask::failureTimerFired): Deleted.
        (WebKit::NetworkDataTask::tryPasswordBasedAuthentication): Deleted.
        (WebKit::NetworkDataTask::cancel): Deleted.
        (WebKit::NetworkDataTask::resume): Deleted.
        (WebKit::NetworkDataTask::suspend): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2016-02-05  Alex Christensen  <achristensen@webkit.org>

        Clean up Blob code
        https://bugs.webkit.org/show_bug.cgi?id=153910

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::NetworkBlobRegistry):
        (WebKit::NetworkBlobRegistry::registerFileBlobURL):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::registerFileBlobURL):
        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
        * WebProcess/FileAPI/BlobRegistryProxy.cpp:
        (WebKit::BlobRegistryProxy::registerFileBlobURL):
        * WebProcess/FileAPI/BlobRegistryProxy.h:

2016-02-05  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Get rid of unused SPI declarations
        https://bugs.webkit.org/show_bug.cgi?id=153915

        Reviewed by Tim Horton.

        * Platform/spi/Cocoa/NSInvocationSPI.h: Removed NSInvocation SPI method declaration.

        * Platform/spi/ios/SafariServicesSPI.h: Removed.

        * UIProcess/API/Cocoa/WKSecurityOrigin.mm:
        (-[WKSecurityOrigin methodSignatureForSelector:]): Deleted.
        (-[WKSecurityOrigin forwardInvocation:]): Deleted.

        * UIProcess/ios/WKContentViewInteraction.mm: Removed unused #import.

        * WebKit2.xcodeproj/project.pbxproj: Removed reference to deleted header.

2016-02-04  Daniel Bates  <dabates@apple.com>

        WebKit for iOS Simulator fails to build with public iOS SDK
        https://bugs.webkit.org/show_bug.cgi?id=153881

        Reviewed by Alex Christensen.

        Add version guards around SPI that is now API as of iOS SDK 9.2. Until we upgrade the iOS EWS
        and iOS buildbots to use the 9.2 SDK we need to keep these SPI declarations to avoid breaking
        the build.

        * Platform/spi/ios/UIKitSPI.h:

2016-02-04  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Give nested inspectors their own process pool
        https://bugs.webkit.org/show_bug.cgi?id=153880
        <rdar://problem/24508310>

        Reviewed by Timothy Hatcher.

        When inspecting the inspector both inspectors were using the same
        Inspector process and sharing the same VM. This meant that profiling
        information was confusing (memory and JavaScript sampling) because
        it was showing data about both inspectors sharing the same process.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::inspectorProcessPool):
        (WebKit::WebInspectorProxy::isInspectorProcessPool):
        Have two process pools. The main inspector process pool (1st level inspectors)
        and a nested inspector process pool (inspecting the inspector, only expected
        by WebKit developers).

        * UIProcess/WebInspectorProxy.h:
        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        Pass the inspectionLevel to determine the appropriate pool to use.

2016-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the !ENABLE(NETSCAPE_PLUGIN_API) build after r196053
        https://bugs.webkit.org/show_bug.cgi?id=153878

        Unreviewed buildfix.

        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h:

2016-02-04  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r196067.

        Re-enable speculative revalidation now that we have measured
        the impact on the perf bots

        Reverted changeset:

        "Unreviewed, rolling out r195555."
        https://bugs.webkit.org/show_bug.cgi?id=153443
        http://trac.webkit.org/changeset/196067

2016-02-03  Alex Christensen  <achristensen@webkit.org>

        Report wasBlocked and cannotShowURL errors when using NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=153846

        Reviewed by Antti Koivisto.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        (WebKit::NetworkLoad::didSendData):
        (WebKit::NetworkLoad::wasBlocked):
        (WebKit::NetworkLoad::cannotShowURL):
        (WebKit::NetworkLoad::didReceiveResponseAsync):
        * NetworkProcess/NetworkLoad.h:
        NetworkDataTask is now RefCounted so we can protect it when reporting errors which delete the NetworkLoad.
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
        (WebKit::NetworkDataTask::create):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::takeDownloadID):
        (WebKit::NetworkDataTask::NetworkDataTask):
        Check the validity of the requested url and check if the port is allowed like we do in the ResourceHandle constructor.
        (WebKit::NetworkDataTask::~NetworkDataTask):
        Don't remove the task from the NetworkSession's map if we didn't make it because there was an error.
        (WebKit::NetworkDataTask::scheduleFailure):
        (WebKit::NetworkDataTask::failureTimerFired):
        Implemented like ResourceHandle's.
        (WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
        (WebKit::NetworkDataTask::resume):
        (WebKit::NetworkDataTask::suspend):
        Handle the failure timer like we do in ResourceHandle::setDefersLoading.

2016-02-02  Alex Christensen  <achristensen@webkit.org>

        Use proposed credentials in authentication challenges with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=153811

        Reviewed by Darin Adler.

        This fixes http/tests/xmlhttprequest/basic-auth-default.html

        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
        Use the proposed credential if there is one.  This matches behavior in
        ResourceHandle::tryHandlePasswordBasedAuthentication.

2016-02-03  Jessie Berlin  <jberlin@webkit.org>

        Build fix.

        [NSEvent context] has always returned nil. Replace uses with nullptr.

        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
        * UIProcess/mac/WebPopupMenuProxyMac.mm:
        (WebKit::WebPopupMenuProxyMac::showPopupMenu):

2016-02-03  Dan Bernstein  <mitz@apple.com>

        [iOS] Engineering builds use manual sandboxing, but don’t need to
        https://bugs.webkit.org/show_bug.cgi?id=153834

        Reviewed by Anders Carlsson.

        Now that engineering builds use the non-re-execing variant of XPC services, they can be
        statically sandboxed and no longer need to be manually sandboxed.

        * Configurations/DebugRelease.xcconfig: Don’t set WK_MANUAL_SANDBOXING_ENABLED to YES.
        * WebKit2.xcodeproj/project.pbxproj: Let Xcode make changes to the built product references.

2016-02-03  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r195555.

        Temporarily disable speculative revalidation to measure the
        impact on the bots

        Reverted changeset:

        "[WK2][NetworkCache] Enable speculative revalidation"
        https://bugs.webkit.org/show_bug.cgi?id=153443
        http://trac.webkit.org/changeset/195555

2016-02-03  Daniel Bates  <dabates@apple.com>

        REGRESSION (r194660): Legacy WebProcess crashes in ChildProcess::initializeSandbox()
        https://bugs.webkit.org/show_bug.cgi?id=153734
        <rdar://problem/24433179>

        Reviewed by Dan Bernstein.

        Fixes an issue where clients that used the legacy WebProcess bootstrapping process would crash.

        Additionally, only consider the extra initialization parameter user-directory-suffix for
        unsigned apps (e.g. WebKitTestRunner).

        * Shared/mac/ChildProcessMac.mm:
        (WebKit::ChildProcess::initializeSandbox):

2016-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed speculative buildfix after r195979.

        * PlatformMac.cmake:

2016-02-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Reduce IPC traffic due to view state changes
        https://bugs.webkit.org/show_bug.cgi?id=153745

        Reviewed by Sergio Villar Senin.

        Very often view state changes happen one after another in a very
        short period of time, even in the same run loop iteration. For
        example, when you switch to the web view window, the view is
        focused and the active window flag changes as well. In that case
        we are sending two messages to the web process and the page
        updates its status according to the new flags in two steps. So, we
        could group all state changes happening in the same run loop
        iteration and notify about them all in the next iteration. This
        also prevents unnecessary changes of state when we quickly go back
        to a previous state, for example in focus follows mouse
        configurations if you move the mouse outside the window and then
        inside the window again quickly.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate): Use
        VirewState::Flags to keep the web view state instead of
        boolean, and also to keep the flags that need to be updated. Use a
        timer to update web view state flags.
        (_WebKitWebViewBasePrivate::updateViewStateTimerFired): Call
        WebPageProxy::viewStateDidChange() and reset the flags that need
        to be updated.
        (webkitWebViewBaseScheduleUpdateViewState): Update the flags that
        need to be updated and schedule the timer if it's not active.
        (toplevelWindowFocusInEvent): Use the flags and schedule an update.
        (toplevelWindowFocusOutEvent): Ditto.
        (toplevelWindowStateEvent): Also mark the view as hidden when minimized.
        (webkitWebViewBaseSetToplevelOnScreenWindow): Connect to
        window-state-event instead of deprecated visibility-notify-event.
        (webkitWebViewBaseMap): Use the flags and schedule an update.
        (webkitWebViewBaseUnmap): Ditto.
        (webkitWebViewBaseSetFocus): Ditto.
        (webkitWebViewBaseIsInWindowActive): Use the flags.
        (webkitWebViewBaseIsFocused): Ditto
        (webkitWebViewBaseIsVisible): Ditto.
        (webkitWebViewBaseIsInWindow): Removed this since it was unused.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:

2016-02-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix incorrect ASSERT introduced in r196053.

        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::NetscapePluginX11::paint): Ensure the plugin is not
        windowed if paint() is called.

2016-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [UNIX] Add support for windowless NPAPI plugins with no UI in non X11 platforms
        https://bugs.webkit.org/show_bug.cgi?id=151992

        Reviewed by Darin Adler.

        We are currently disabling all plugins when running under wayland,
        for example. There are some plugins, like the one used by
        extensions.gnome.org, that don't do any rendering, so there's not
        reason not to support those plugins under wayland or any other
        unix non-x11 platform.
        X11 specific code has been moved to a new class NetscapePluginX11,
        only used under X11. The common code is in NetscapePluginUnix.cpp
        that will use the X11 implementatin only when needed and
        available. For windowed plugins we will fail the initialization
        under non-X11 plaforms, while for windowless plugins we will just
        return early from paint method.

        * PlatformEfl.cmake: Add new files to compilation.
        * PlatformGTK.cmake: Ditto.
        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webkit_settings_set_enable_plugins): Do not disable plugins in wayland.
        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore): Ditto.
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
        (WebKit::NPN_GetValue): Use PlatformDisplay instead of
        NetscapePlugin::x11HostDisplay() and don't claim to support X11
        specific features under non-x11 platforms.
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::NetscapePlugin): Remove X11 and GTK
        specific memebers that are now moved to a dedicated class NetscapePluginX11.
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        (WebKit::NetscapePlugin::frameRectInWindowCoordinates): Make this public.
        (WebKit::NetscapePlugin::clipRect): Add getter.
        (WebKit::NetscapePlugin::size): Ditto.
        (WebKit::NetscapePlugin::isWindowed): Ditto.
        (WebKit::NetscapePlugin::isVisible): Ditto.
        * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp: Added.
        (WebKit::NetscapePlugin::platformPreInitialize):
        (WebKit::NetscapePlugin::platformPostInitialize):
        (WebKit::NetscapePlugin::platformDestroy):
        (WebKit::NetscapePlugin::platformInvalidate):
        (WebKit::NetscapePlugin::platformGeometryDidChange):
        (WebKit::NetscapePlugin::platformVisibilityDidChange):
        (WebKit::NetscapePlugin::platformPaint):
        (WebKit::NetscapePlugin::platformHandleMouseEvent):
        (WebKit::NetscapePlugin::platformHandleWheelEvent):
        (WebKit::NetscapePlugin::platformSetFocus):
        (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
        (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
        * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.h: Added.
        (WebKit::NetscapePluginUnix::~NetscapePluginUnix):
        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::getPluginDisplay):
        (WebKit::displayDepth):
        (WebKit::x11HostDisplay):
        (WebKit::NetscapePluginX11::create):
        (WebKit::NetscapePluginX11::NetscapePluginX11):
        (WebKit::NetscapePluginX11::~NetscapePluginX11):
        (WebKit::NetscapePluginX11::windowType):
        (WebKit::NetscapePluginX11::window):
        (WebKit::NetscapePluginX11::geometryDidChange):
        (WebKit::NetscapePluginX11::visibilityDidChange):
        (WebKit::NetscapePluginX11::paint):
        (WebKit::initializeXEvent):
        (WebKit::NetscapePluginX11::handleMouseEvent):
        (WebKit::NetscapePluginX11::handleWheelEvent):
        (WebKit::NetscapePluginX11::setFocus):
        (WebKit::NetscapePluginX11::handleMouseEnterEvent):
        (WebKit::NetscapePluginX11::handleMouseLeaveEvent):
        (WebKit::NetscapePluginX11::handleKeyboardEvent):
        (WebKit::setCommonMouseEventFields): Deleted.
        (WebKit::setXKeyEventFields): Deleted.
        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h: Added.

2016-02-02  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Remove ENABLE(GLOBAL_FASTMALLOC_NEW) guard in WebMemorySamplerLinux.cpp
        https://bugs.webkit.org/show_bug.cgi?id=153812

        Reviewed by Darin Adler.

        r164261 already removed ENABLE_GLOBAL_FASTMALLOC_NEW guard though, WebMemorySamplerLinux
        is still using it. That's why EFL and GTK memory sampler don't show fast malloc memory use.

        * Shared/linux/WebMemorySamplerLinux.cpp:
        (WebKit::WebMemorySampler::sampleWebKit): Deleted.

2016-02-02  Enrica Casucci  <enrica@apple.com>

        Provide handleKeyWebEvent with completion handler.
        https://bugs.webkit.org/show_bug.cgi?id=153806
        rdar://problem/24399218

        Reviewed by Tim Horton.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView handleKeyWebEvent:withCompletionHandler:]):
        (-[WKContentView _didHandleKeyEvent:eventWasHandled:]):

2016-02-02  Alex Christensen  <achristensen@webkit.org>

        Fix authentication with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=153779

        Reviewed by Brady Eidson.

        This fixes many tests, including http/tests/xmlhttprequest/cross-origin-authorization.html.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        NetworkingContexts are not used with NetworkSession.  NetworkSession is used instead.
        Pass allowStoredCredentials to the NetworkLoad so it knows whether to use a session with credential storage or not.
        (WebKit::NetworkLoad::didReceiveChallenge):
        Always call continueCanAuthenticateAgainstProtectionSpace because we might need credentials for synchronous requests.
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        Reject the protection space if we cannot authenticate against this protection space.
        If the protection space is not password-based (such as ServerTrustEvaluationRequested) and we can authenticate against this protection space,
        then perform default handling instead of asking the UI process for a password, which wouldn't mean anything.
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:
        Use a NSURLSession with configuration.URLCredentialStorage = nil but with the same cookie storage for requests without credentials.
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::NetworkSession):
        (WebKit::NetworkSession::~NetworkSession):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkSession::takeDownloadID):
        (WebKit::NetworkDataTask::NetworkDataTask):
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
        Always send a reply message so we can always do the callbacks of NSURLSession delegates.

2016-02-01  Dave Hyatt  <hyatt@apple.com>

        Add a line grid pagination SPI to WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=153757
        <rdar://problem/23041598>

        Reviewed by Anders Carlsson.

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPaginationLineGridEnabled):
        (WKPageGetPaginationLineGridEnabled):
        * UIProcess/API/C/WKPagePrivate.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController setPaginationLineGridEnabled:]):
        (-[WKBrowsingContextController paginationLineGridEnabled]):
        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _paginationLineGridEnabled]):
        (-[WKWebView _setPaginationLineGridEnabled:]):
       * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setPaginationLineGridEnabled):
        (WebKit::WebPageProxy::creationParameters):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::paginationLineGridEnabled):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setPaginationLineGridEnabled):
         WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2016-02-02  Adrien Plazas  <aplazas@igalia.com>

        [GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsuringDrawing()
        https://bugs.webkit.org/show_bug.cgi?id=153785

        Reviewed by Carlos Garcia Campos.

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
        * UIProcess/DrawingAreaProxyImpl.h:

2016-02-01  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: High Level Memory Overview Instrument
        https://bugs.webkit.org/show_bug.cgi?id=153516
        <rdar://problem/24356378>

        Reviewed by Brian Burg.

        * Configurations/FeatureDefines.xcconfig:

2016-02-01  Alex Christensen  <achristensen@webkit.org>

        Fix CMake build.

        * PlatformMac.cmake:

2016-02-01  Dan Bernstein  <mitz@apple.com>

        More iOS build fix.

        * Platform/spi/ios/UIKitSPI.h:

2016-02-01  Dan Bernstein  <mitz@apple.com>

        iOS build fix.

        * Platform/IPC/mac/ConnectionMac.mm:

2016-02-01  Dan Bernstein  <mitz@apple.com>

        Copy sandbox profiles during installhdrs.

        Reviewed by Anders Carlsson.

        * Configurations/SandboxProfiles.xcconfig:

2016-02-01  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Remove some more __has_include guards
        https://bugs.webkit.org/show_bug.cgi?id=153774

        Reviewed by Tim Horton.

        Guard private header includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include.

        * Platform/IPC/mac/ConnectionMac.mm:
        * Platform/IPC/mac/ImportanceAssertion.h:
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
        * Shared/cf/ArgumentCodersCF.cpp:
        * Shared/mac/ChildProcessMac.mm:
        * Shared/mac/SecItemShim.cpp:

2016-02-01  Dan Bernstein  <mitz@apple.com>

        [Xcode] Let Xcode know that the WebKit XPC service products are XPC services
        https://bugs.webkit.org/show_bug.cgi?id=153773

        Reviewed by Tim Horton.

        * Configurations/BaseXPCService.xcconfig: Removed now-redundant definitions of
          MACH_O_TYPE and WRAPPER_EXTENSION.
        * WebKit2.xcodeproj/project.pbxproj: Updated product types.

2016-02-01  Tim Horton  <timothy_horton@apple.com>

        Crash using WKPDFView, in -[UIPDFPageView showContent]
        https://bugs.webkit.org/show_bug.cgi?id=153770
        <rdar://problem/20157864>

        Reviewed by Anders Carlsson.

        When scrolling, we throw away UIPDFPageViews, but forget to unhook their delegates.
        In some cases (also because their delegate is a raw pointer, not weak), they can call
        back into a deleted WKPDFView, causing a crash.

        * UIProcess/ios/WKPDFView.mm:
        (detachViewForPage):
        Add a helper to detach a page view, and unhook its delegates.

        (-[WKPDFView _clearPages]):
        (-[WKPDFView _revalidateViews]):
        Make use of the new helper.

2016-02-01  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9
        https://bugs.webkit.org/show_bug.cgi?id=153754

        Reviewed by Darin Adler.

        * Platform/spi/ios/UIKitSPI.h: Removed conditional forward declaration of SPI.

        * UIProcess/ios/forms/WKFileUploadPanel.mm:
        (photoLibraryIcon): Removed check for HAVE_WEBKIT_DOC_PICKER_ICONS, which is always true in
          iOS 9 and later.
        (cameraIcon): Ditto.
        (-[WKFileUploadPanel presentWithParameters:resultListener:]): Removed branch for when
          UIDocumentMenuViewController doesn’t respond to
          -_initIgnoringApplicationEntitlementForImportOfTypes:.
        (-[WKFileUploadPanel _showMediaSourceSelectionSheet]): Deleted now-unused method.

2016-02-01  Anders Carlsson  <andersca@apple.com>

        Stop linking to PassKit
        https://bugs.webkit.org/show_bug.cgi?id=153746

        Reviewed by Tim Horton.

        * Configurations/WebKit.xcconfig:

2016-02-01  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Get rid of WK_ macros for initializers
        https://bugs.webkit.org/show_bug.cgi?id=153744

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_DESIGNATED_INITIALIZER and
          WK_UNAVAILABLE.

        * mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
          removed Foundation import that became unnecessary, and definitions that were only needed
          before iOS 8.

        Replaced instances of the above macros with their expansions.

        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
        * UIProcess/API/Cocoa/WKSecurityOrigin.h:
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebsiteDataStore.h:

2016-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        One more unreviewed speculative buildfix after r195755.

        * PlatformMac.cmake:

2016-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed speculative buildfix after r195755.

        * PlatformMac.cmake:

2016-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed speculative buildfix after r195795.

        * PlatformMac.cmake: Remove Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm.

2016-01-31  Darin Adler  <darin@apple.com>

        Get rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
        https://bugs.webkit.org/show_bug.cgi?id=153715

        Reviewed by Gyuyoung Kim.

        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
        Use convertToASCIIUppercase on language names.

2016-01-31  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Remove __has_include guards around use of WebKitAdditions
        https://bugs.webkit.org/show_bug.cgi?id=153728

        Reviewed by Andy Estes.

        Guard WebKitAdditions includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include.

        * Shared/Cocoa/WebKitAdditions.mm:
        * Shared/WebCoreArgumentCoders.h:
        * Shared/mac/RemoteLayerBackingStore.mm:
        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::reattachToWebProcess):
        (WebKit::WebPageProxy::resetState):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::m_shouldDispatchFakeMouseMoveEvents):

2016-01-31  Timothy Horton  <timothy_horton@apple.com>

        Include the right WebKitAdditions files
        <rdar://problem/24429804>

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

2016-01-31  Darin Adler  <darin@apple.com>

        Replace CaseFoldingHash with ASCIICaseInsensitiveHash
        https://bugs.webkit.org/show_bug.cgi?id=153639

        Reviewed by Filip Pizlo.

        * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
        for MIME types. MIME types are all ASCII.

        * UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
        origins. Origin strings should use ASCII case insensitive matching and should not
        fold non-ASCII case.

        * WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
        MIME types are all ASCII.

        * WebProcess/WebProcess.cpp:
        (WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
        origin strings. (See rationale above.)
        (WebKit::hashForPlugInOrigin): Updated comment.

2016-01-31  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Use std::make_unique<> when creating an unique_ptr object.
        https://bugs.webkit.org/show_bug.cgi?id=153705

        Reviewed by Darin Adler.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy): Use std::make_unique<> instead of RunLoopObserver::create().

2016-01-30  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Get rid of many WK_ macros for nullability
        https://bugs.webkit.org/show_bug.cgi?id=153718

        Sam Weinig reviewed an earlier version of this change, and Simon Fraser rubber-stamped this version.

        * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
          WK_NULLABLE, WK_NULL_UNSPECIFIED, and WK_NULLABLE_PROPERTY. Removed the
          !__has_feature(assume_nonnull) case.

        * mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
          chanegd to rewrite WK_NULLABLE_SPECIFIER to the modern _Nullable instead of __nullable.

        Replaced instances of the above macros with their expansions.

        * UIProcess/API/Cocoa/WKBackForwardList.h:
        * UIProcess/API/Cocoa/WKBackForwardListItem.h:
        * UIProcess/API/Cocoa/WKError.h:
        * UIProcess/API/Cocoa/WKFrameInfo.h:
        * UIProcess/API/Cocoa/WKNavigationAction.h:
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/API/Cocoa/WKNavigationResponse.h:
        * UIProcess/API/Cocoa/WKScriptMessage.h:
        * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
        * UIProcess/API/Cocoa/WKSecurityOrigin.h:
        * UIProcess/API/Cocoa/WKUIDelegate.h:
        * UIProcess/API/Cocoa/WKUserContentController.h:
        * UIProcess/API/Cocoa/WKUserScript.h:
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
        * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
        * UIProcess/API/Cocoa/WKWindowFeatures.h:
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
        * UIProcess/API/Cocoa/_WKElementInfo.h:
        * UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
        * UIProcess/API/Cocoa/_WKUserStyleSheet.h:

2016-01-30  Dan Bernstein  <mitz@apple.com>

        Reverted r195914, because at least one of the build.webkit.org builders still uses a compiler that doesn’t understand _Nullable.

        * Shared/API/Cocoa/WKFoundation.h:
        * UIProcess/API/Cocoa/WKBackForwardList.h:
        * UIProcess/API/Cocoa/WKBackForwardListItem.h:
        * UIProcess/API/Cocoa/WKError.h:
        * UIProcess/API/Cocoa/WKFrameInfo.h:
        * UIProcess/API/Cocoa/WKNavigationAction.h:
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/API/Cocoa/WKNavigationResponse.h:
        * UIProcess/API/Cocoa/WKScriptMessage.h:
        * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
        * UIProcess/API/Cocoa/WKSecurityOrigin.h:
        * UIProcess/API/Cocoa/WKUIDelegate.h:
        * UIProcess/API/Cocoa/WKUserContentController.h:
        * UIProcess/API/Cocoa/WKUserScript.h:
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
        * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
        * UIProcess/API/Cocoa/WKWindowFeatures.h:
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
        * UIProcess/API/Cocoa/_WKElementInfo.h:
        * UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
        * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
        * mac/postprocess-framework-headers.sh:

2016-01-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r195911.
        https://bugs.webkit.org/show_bug.cgi?id=153723

        Caused frequent assertion failures on bots (Requested by ap on
        #webkit).

        Reverted changeset:

        "Replace CaseFoldingHash with ASCIICaseInsensitiveHash"
        https://bugs.webkit.org/show_bug.cgi?id=153639
        http://trac.webkit.org/changeset/195911

2016-01-30  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Get rid of WK_ macros for nullability
        https://bugs.webkit.org/show_bug.cgi?id=153718

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
          WK_NULLABLE, WK_NULL_UNSPECIFIED, WK_NULLABLE_SPECIFIER, and WK_NULLABLE_PROPERTY.

        * mac/postprocess-framework-headers.sh: Removed rules for rewriting those macros.

        Replaced instances of those macros with their expansions, but using the modern _Nullable
        instead of __nullable:

        * UIProcess/API/Cocoa/WKBackForwardList.h:
        * UIProcess/API/Cocoa/WKBackForwardListItem.h:
        * UIProcess/API/Cocoa/WKError.h:
        * UIProcess/API/Cocoa/WKFrameInfo.h:
        * UIProcess/API/Cocoa/WKNavigationAction.h:
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/API/Cocoa/WKNavigationResponse.h:
        * UIProcess/API/Cocoa/WKScriptMessage.h:
        * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
        * UIProcess/API/Cocoa/WKSecurityOrigin.h:
        * UIProcess/API/Cocoa/WKUIDelegate.h:
        * UIProcess/API/Cocoa/WKUserContentController.h:
        * UIProcess/API/Cocoa/WKUserScript.h:
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
        * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
        * UIProcess/API/Cocoa/WKWindowFeatures.h:
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
        * UIProcess/API/Cocoa/_WKElementInfo.h:
        * UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
        * UIProcess/API/Cocoa/_WKUserStyleSheet.h:

2016-01-30  Darin Adler  <darin@apple.com>

        Replace CaseFoldingHash with ASCIICaseInsensitiveHash
        https://bugs.webkit.org/show_bug.cgi?id=153639

        Reviewed by Filip Pizlo.

        * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
        for MIME types. MIME types are all ASCII.

        * UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
        origins. Origin strings should use ASCII case insensitive matching and should not
        fold non-ASCII case.

        * WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
        MIME types are all ASCII.

        * WebProcess/WebProcess.cpp:
        (WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
        origin strings. (See rationale above.)
        (WebKit::hashForPlugInOrigin): Updated comment.

2016-01-30  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>

        [GTK] Use configured python executable when executing generate-inspector-gresource-manifest.py
        https://bugs.webkit.org/show_bug.cgi?id=153712

        Reviewed by Michael Catanzaro.

        * PlatformGTK.cmake:

2016-01-29  Ada Chan  <adachan@apple.com>

        Enable VIDEO_PRESENTATION_MODE only in Debug and Release builds on Mac
        https://bugs.webkit.org/show_bug.cgi?id=153665

        Reviewed by Dan Bernstein.

        * Configurations/FeatureDefines.xcconfig:

2016-01-29  Dan Bernstein  <mitz@apple.com>

        Don’t use the “.Development” suffix for engineering builds targeting iOS devices, because the XPC cache is only aware of the unsuffixed service identifiers.

        Reviewed by Chris Dumez.

        * Configurations/DebugRelease.xcconfig:

2016-01-29  Enrica Casucci  <enrica@apple.com>

        One more iOS build fix.

        Unreviewed.

        * Platform/spi/ios/UIKitSPI.h:

2016-01-29  Enrica Casucci  <enrica@apple.com>

        iOS build fix after r195826.

        Unreviewed.

        * Platform/spi/ios/UIKitSPI.h:

2016-01-29  Enrica Casucci  <enrica@apple.com>

        Disable text interaction with pencil.
        https://bugs.webkit.org/show_bug.cgi?id=153655
        rdar://problem/24337778

        Reviewed by Tim Horton.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]):
        (-[WKContentView _singleTapCommited:]):

2016-01-29  Mario Sanchez Prada  <mario@endlessm.com>

        [GTK] WebProcess crashes when quickly attempting many DnD operations
        https://bugs.webkit.org/show_bug.cgi?id=138468

        Reviewed by Michael Catanzaro.

        Guard all the new DnD-related code under GTK_CHECK_VERSION #if's to
        make sure we don't bump the required version of GTK+ up to 3.16, and
        it's buildable again with GTK+ >= 3.6.

        * UIProcess/gtk/DragAndDropHandler.cpp:
        (WebKit::DragAndDropHandler::DragAndDropHandler):
        (WebKit::DragAndDropHandler::startDrag):
        (WebKit::DragAndDropHandler::fillDragData):
        (WebKit::DragAndDropHandler::finishDrag):
        * UIProcess/gtk/DragAndDropHandler.h:

2016-01-28  Antti Koivisto  <antti@apple.com>

        Enable background tab suspension by default on OSX
        https://bugs.webkit.org/show_bug.cgi?id=153629
        <rdar://problem/24402895>

        Reviewed by Andreas Kling.

        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::registerUserDefaultsIfNeeded):

2016-01-28  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Use the non-Development variants of XPC services for development
        https://bugs.webkit.org/show_bug.cgi?id=152545

        Reviewed by Darin Adler.

        The purpose of the Development variants of the WebKit XPC services is to allow the service
        to link against the development WebKit dylibs rather than the system ones. Instead, we
        accomplish this here by including dyld environment load commands in the normal services
        when the WebKit dylibs are expected to be relocated. A new build setting,
        WK_RELOCATABLE_FRAMEWORKS, controls this.

        To make it easy to identify engineering builds of the services at runtime, they can be
        given a distinctive suffix. A new build setting, WK_XPC_SERVICE_SUFFIX, controls this.

        * Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES and
          WK_XPC_SERVICE_SUFFIX to ".Development".

        * Configurations/BaseTarget.xcconfig: Make the quoted value of the WK_XPC_SERVICE_SUFFIX
          build setting available as a preprocessor macro.

        * Configurations/BaseXPCService.xcconfig:
          - Simplify the definition of INSTALL_PATH now that there are no Development variants.
          - Define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS when building relocatable frameworks to include
            -dyld_env options setting DYLD_FRAMEWORK_PATH to point to the directory containing
            WebKit.framework and DYLD_LIBRARY_PATH to the framework’s Frameworks subdirectory. When
            not building relocatable frameworks, define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to include
            a -headerpad option allowing dyld environment load commands to be added after the fact.
          - Add WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS.
          - Define WK_XPC_SERVICE_INSERT_LIBRARIES_DIR when building relocatable frameworks to be
            the path to the Frameworks subdirectory of the WebKit framework containing the service.
            When not building relocatable frameworks, define it to the absolute path of the
            Frameworks subdirectory of the installed WebKit framework.

        * Configurations/DatabaseService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME,
          and remove no-longer-used definition of WK_XPC_SERVICE_VARIANT.
        * Configurations/NetworkService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME, add
          WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS, and remove no-longer-used definition
          of WK_XPC_SERVICE_VARIANT.
        * Configurations/PluginService.32.xcconfig: Ditto.
        * Configurations/PluginService.64.xcconfig: Ditto.
        * Configurations/WebContentService.xcconfig: Ditto.

        * Configurations/DatabaseService.Development.xcconfig: Removed.
        * Configurations/NetworkService.Development.xcconfig: Removed.
        * Configurations/PluginService.32.Development.xcconfig: Removed.
        * Configurations/PluginService.64.Development.xcconfig: Removed.
        * Configurations/WebContentService.Development.xcconfig: Removed.

        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development: Removed.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Removed.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Set
          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.

        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Removed.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Removed.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Removed.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Set
          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
          WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Set
          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Ditto.

        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Removed.
        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Removed.

        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Removed.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Removed.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Removed.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Set
          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
          WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Set
          CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Ditto.

        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: Removed.

        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
        (WebKit::XPCServiceEventHandler): If stdout and stderr file descriptors are included in the
          bootstrap message, hook them up to the serviceâs stdout and stderr, like the Development
          services do.
        (main): Moved code from XPCServiceMain.Development.mm to handle the optional
          OverrideLanguages array.

        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::addDYLDEnvironmentAdditions): Addressed a FIXME.
        (WebKit::serviceName): Removed forDevelopment argument and .Development service names.
          Added WK_XPC_SERVICE_SUFFIX to the names.
        (WebKit::connectToService): Updated for removal of forDevelopment argument. Removed
          "framework-executable-path" key from the bootstrap message, because it was only used in
          the Development variants.
        (WebKit::connectToReExecService): Deleted.
        (WebKit::createService): Removed call to connectToReExecService. Instead pass forDevelopment
          to connectToService.

        * WebKit2.xcodeproj/project.pbxproj: Removed references to removed files. Removed targets
          for Development services. Removed Development services from script build phase that copies
          services into the framework in engineering builds, and made it respect
          WK_XPC_SERVICE_SUFFIX.

2016-01-28  Enrica Casucci  <enrica@apple.com>

        Should avoid navigation for some data detector urls.
        https://bugs.webkit.org/show_bug.cgi?id=153600

        Reviewed by Tim Horton.

        When a tap is commited, we normally generate a synthetic click if
        the node responds to click events.
        This patch adds the logic to prevent that from happening if the node
        is a data detector link with certain characteristics (calendar event, telephone, etc.).
        If this is the case, we compute the interaction information as position, send it
        over to the UI process and notify that we did not handle the tap.
        The page client is now also notified of this event and can show the data detector sheet if
        appropriate.

        * UIProcess/PageClient.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::toolTipChanged):
        (WebKit::PageClientImpl::didNotHandleTapAsClick):
        (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView clearSelection]):
        (-[WKContentView _didNotHandleTapAsClick:]):
        (-[WKContentView _positionInformationDidChange:]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::didNotHandleTapAsClick):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::commitPotentialTap):

2016-01-28  Brent Fulgham  <bfulgham@apple.com>

        [iOS] Update Web Process sandbox profile for audiodeviceclock access
        https://bugs.webkit.org/show_bug.cgi?id=153571
        <rdar://problem/24134612>

        Reviewed by Alexey Proskuryakov.

        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

2016-01-26  Ada Chan  <adachan@apple.com>

        Get WebVideoFullscreenManager and related classes to also compile for Mac platform
        with video presentation mode support.
        https://bugs.webkit.org/show_bug.cgi?id=153221

        Reviewed by Eric Carlson.

        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
        Enabled also for Mac with video presentation mode support.
        (-[WKLayerHostView makeBackingLayer]):
        Make sure this view uses CALayerHost for its layer.
        (WebKit::WebVideoFullscreenManagerProxy::invalidate):
        (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface):
        (WebKit::WebVideoFullscreenManagerProxy::ensureInterface):
        (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
        Replace WebCore::WebVideoFullscreenInterfaceAVKit with PlatformWebVideoFullscreenInterface.
        (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
        +[UIWindow _synchronizeDrawingAcrossProcesses] is not available on Mac.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::reattachToWebProcess):
        (WebKit::WebPageProxy::viewDidLeaveWindow):
        (WebKit::WebPageProxy::resetState):
        * UIProcess/WebPageProxy.h:
        The code that creates m_videoFullscreenManager is now enabled also on Mac with video
        presentation mode support.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        Enable the API related to the video fullscreen layer also on Mac with video presentation
        mode support.

        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        The code that creates m_videoFullscreenManager is now enabled also on Mac with video
        presentation mode support.

        * WebProcess/cocoa/WebVideoFullscreenManager.h:
        * WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
        * WebProcess/cocoa/WebVideoFullscreenManager.mm:
        Enabled also for Mac with video presentation mode support.
        (WebKit::WebVideoFullscreenManager::supportsVideoFullscreen):
        Return false for now on Mac.

2016-01-28  Darin Adler  <darin@apple.com>

        Remove equalIgnoringCase since all callers really wanted equalIgnoringASCIICase
        https://bugs.webkit.org/show_bug.cgi?id=153411

        Reviewed by Ryosuke Niwa.

        * Shared/API/c/WKString.cpp:
        (WKStringIsEqualToUTF8CStringIgnoringCase): Use equalIgnoringASCIICase.
        This is a change in behavior for callers who passed non-ASCII letters to
        this function and expected case insensitive comparison.

        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::streamDidReceiveResponse): Use equalIgnoringASCIICase.
        No change in behavior because this is just checking a fixed ASCII MIME type.
        (WebKit::PDFPlugin::manualStreamDidReceiveResponse): Ditto.
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::streamDidReceiveResponse): Ditto.
        (WebKit::PDFPlugin::manualStreamDidReceiveResponse): Ditto.

2016-01-27  Alex Christensen  <achristensen@webkit.org>

        Fix CMake build after r195722.

        * PlatformMac.cmake:
        Include new file.

2016-01-27  Dan Bernstein  <mitz@apple.com>

        Fix other builds.

        * Configurations/WebKit.xcconfig:

2016-01-27  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * Configurations/WebKit.xcconfig:

2016-01-27  Krzysztof Czech  <k.czech@samsung.com>

        [EFL] Remove unused accessibility related code
        https://bugs.webkit.org/show_bug.cgi?id=153543

        Reviewed by Darin Adler.

        Do not need to load external library to expose WebKit's
        accessibility tree. There have been changes in EFL/Elementary
        in terms of support of accessibility and we should follow those.

        * WebProcess/efl/WebProcessMainEfl.cpp:
        (eailLibraryPath): Deleted.
        (eail): Deleted.

2016-01-27  Enrica Casucci  <enrica@apple.com>

        Cache results of data detection in the UI process when load completes.
        https://bugs.webkit.org/show_bug.cgi?id=153560

        Reviewed by Tim Horton.

        This patch changes when the results of data detections are sent to the
        UIProcess. Before this change, they were only provided as part of
        InteractionInformationAtPosition, which is populated when long press
        gesture is triggered.
        We need to have the results available if the client wants to allow navigation
        to a data detector link, in order to allow them to retrieve the full url.
        With this change, we now send the results as soon as they are computed
        and keep them in the WebPageProxy object so that they can be fetched when
        necessary from a WKWebView private interface.

        * Shared/Cocoa/DataDetectionResult.h: Added.
        * Shared/Cocoa/DataDetectionResult.mm: Added.
        (WebKit::DataDetectionResult::encode):
        (WebKit::DataDetectionResult::decode):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):
        (-[WKWebView _dataDetectionResults]):
        (-[WKWebView _didRelaunchProcess]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
        (WebKit::WebPageProxy::setDataDetectionResult):
        (WebKit::WebPageProxy::saveRecentSearches):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::websiteDataStore):
        (WebKit::WebPageProxy::dataDetectionResults):
        (WebKit::WebPageProxy::scrollingCoordinatorProxy):
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView ensurePositionInformationIsUpToDate:]):
        (-[WKContentView _dataDetectionResults]):
        (-[WKContentView gestureRecognizerShouldBegin:]):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
        (WebKit::WebFrameLoaderClient::dispatchDidFinishDataDetection):
        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):
        (WebKit::WebPage::setDataDetectionResults):
        (WebKit::WebPage::willCommitLayerTree):
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):

2016-01-27  Anders Carlsson  <andersca@apple.com>

        Include the right WebKitAdditions files
        https://bugs.webkit.org/show_bug.cgi?id=153572

        Reviewed by Tim Horton.

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

2016-01-27  Daniel Bates  <dabates@apple.com>

        Move ContentSecurityPolicy.{cpp, h} to its own directory
        https://bugs.webkit.org/show_bug.cgi?id=153527
        <rdar://problem/24359892>

        Reviewed by Sam Weinig.

        Add ${WEBCORE_DIR}/page/csp to the list of WebKit2 include directories.

        * CMakeLists.txt:

2016-01-27  Anders Carlsson  <andersca@apple.com>

        Add WebKitAdditions extension points to WebCore, WebKit and WebKitLegacy
        https://bugs.webkit.org/show_bug.cgi?id=153550

        Reviewed by Sam Weinig.

        * DerivedSources.make:
        Add the ability for WebKitAdditions to add new message receivers.

        * Shared/Cocoa/WebKitAdditions.mm: Added.
        Add addition files.

        * Shared/WebCoreArgumentCoders.h:
        Add extension points.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::reattachToWebProcess):
        (WebKit::WebPageProxy::resetState):
        Add extension points.

        * UIProcess/WebPageProxy.h:
        Add extension points.

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

        * WebProcess/WebPage/WebPage.cpp:
        Add extension points.

2016-01-27  Chris Dumez  <cdumez@apple.com>

        window.atob() should ignore spaces in input
        https://bugs.webkit.org/show_bug.cgi?id=153522
        <rdar://problem/24357822>

        Reviewed by Benjamin Poulain.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformSave):

2016-01-27  Ryosuke Niwa  <rniwa@webkit.org>

        Add API to access closed shadowRoot in InjectedBundle
        https://bugs.webkit.org/show_bug.cgi?id=153533

        Reviewed by Antti Koivisto.

        Added WKBundleScriptWorldMakeAllShadowRootsOpen to make all shadow roots open.
        This is needed to keep supporting certain browser-level features such as autofill.

        * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
        (WKBundleScriptWorldMakeAllShadowRootsOpen): Added.
        * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
        (WebKit::InjectedBundleScriptWorld::makeAllShadowRootsOpen): Added.
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:

2016-01-27  Zhuo Li  <zachli@apple.com>

        Need ability to specify alternate image for AutoFill button in input fields.
        https://bugs.webkit.org/show_bug.cgi?id=153116.
        rdar://problem/23384854.

        Reviewed by Darin Adler.

        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
        (toAutoFillButtonType): Convert the WebKit AutoFill button type enum to WebCore AutoFill button
        type enum.
        (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabledWithButtonType): Added to be able to specify
        what the AutoFill button type is. None means the AutoFill button is not shown.
        (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled): Deprecate this method.
        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Declare an AutoFill button type enum.
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
        (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled): None means the AutoFill button is not enabled.
        (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabledWithButtonType): Use the new parameter to specify
        what the AutoFill button type is.
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.

2016-01-27  Dan Bernstein  <mitz@apple.com>

        More trying to fix the build.

        * Configurations/WebKit.xcconfig:

2016-01-27  Alexey Proskuryakov  <ap@apple.com>

        Remove ENABLE_CURRENTSRC
        https://bugs.webkit.org/show_bug.cgi?id=153545

        Reviewed by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig:

2016-01-27  Sam Weinig  <sam@webkit.org>

        Try to fix the build.

        * Configurations/WebKit.xcconfig:

2016-01-26  Sam Weinig  <sam@webkit.org>

        Attempt to force a rebuild.

        * DerivedSources.make:

2016-01-26  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r194557): Keyboard shortcuts stop working after the WKWebView is unparented and reparented
        https://bugs.webkit.org/show_bug.cgi?id=153492
        <rdar://problem/24138989>

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView canBecomeFirstResponder]):
        (-[WKContentView becomeFirstResponder]):
        (-[WKContentView resignFirstResponder]):
        When WKWebView is unparented, WKContentView will attempt to resignFirstResponder upwards,
        first asking WKWebView. After r194557, WKWebView will accept first responder and forward
        it on to the WKContentView, which will happily accept it again, despite being the view
        that's trying to resign. This will cause us to completely lose first responder,
        where it was actually supposed to propagate up above WKWebView to the client.

        Keep track of when WKContentView is resigning first responder, and don't
        let it become first responder while it is doing so, breaking the cycle.

        * UIProcess/ios/WKContentView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView canBecomeFirstResponder]):
        If the WKContentView is currently in the process of resigning first responder status,
        we shouldn't accept it, because clients expect to receive it.

2016-01-26  I-Ting Liu  <iting_liu@apple.com>

        Implement wildcard matching for plug-in policy host.
        https://bugs.webkit.org/show_bug.cgi?id=153090

        Reviewed by Darin Adler.

        WebPlatformStrategies decides the plug-in load policy for a host by looking
        for a matched hostname in the list of plug-in policies sent by Safari. This
        patch adds support for wildcard matching -- if there's a policy with hostname
        "*.example.com," the policy for "foo.example.com" would be replaced with that
        of "*.example.com" if there's no policy for this hostname. If there is more
        than one wildcard hostname, the host with the longest wildcard hostname will
        be used.

        This patch adds a helper function in StringUtilites that matches a string to
        another string, which may contain wildcard ('*') characters.

        * Platform/mac/StringUtilities.h:
        - Add WebKit::stringMatchesWildcardString.
        - Remove #if ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC) flag so that
        the compiler allows exposing StringUtilities.h.
        - Add #if __OBJC__ to allow the file to be included in WebPltformStrategies.cpp

        * Platform/mac/StringUtilities.mm:
        (WebKit::stringMatchesWildcardString):
        Return true if the entire first given String matches the second. The second string 
        may contain wildcard characters.
        (WebKit::wildcardRegexPatternString):
        Return the regex expression from a wildcard string by replacing the wildcard
        character ('*') with (".*") and escaping regular expression metacharacters.
        (WebKit::formattedPhoneNumberString):
        To expose StringUtilities.h for tests, we removed #if ENABLE(TELEPHONE_NUMBER_DETECTION)
        && PLATFORM(MAC) flag in the header. Add a function that returns nil for
        #if !(ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC)) to fix the removal
        of the flag in the header file.

        * WebKit2.xcodeproj/project.pbxproj:
        Change the file attribute of StringUtilities.h from Project to Private for
        testing in TestWebKitAPI.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::longestMatchedWildcardHostForHost):
        Return the wildcard hostname whose matched substring with the host is the longest.
        (WebKit::WebPlatformStrategies::replaceHostWithMatchedWildcardHost):
        Replace the look-up host with a matched wildcard host if there is a match and that
        the matched wildcard host's plug-in identifier is the same as that of the host.
        (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost):
        Try to replace the look-up host with the wildcard host if there's no policy for
        the host. Restructure the function to reduce hashmap lookup.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        Declare the methods.

2016-01-26  Anders Carlsson  <andersca@apple.com>

        Remove -d flag from make invocation.

        * WebKit2.xcodeproj/project.pbxproj:

2016-01-26  Joseph Pecoraro  <pecoraro@apple.com>

        Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay
        https://bugs.webkit.org/show_bug.cgi?id=153509
        <rdar://problem/24354291>

        Reviewed by Andreas Kling.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):
        Rename the ENABLE flag.

2016-01-26  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r195602.
        https://bugs.webkit.org/show_bug.cgi?id=153526

        broke more than it fixed (Requested by thorton on #webkit).

        Reverted changeset:

        "REGRESSION (r194557): Keyboard shortcuts stop working after
        the WKWebView is unparented and reparented"
        https://bugs.webkit.org/show_bug.cgi?id=153492
        http://trac.webkit.org/changeset/195602

2016-01-26  Anders Carlsson  <andersca@apple.com>

        WebKitAdditions should be able to modify derived source rules
        https://bugs.webkit.org/show_bug.cgi?id=153514

        Reviewed by Tim Horton.

        * Configurations/BaseTarget.xcconfig:
        * Configurations/WebKit.xcconfig:
        Set WEBKITADDITIONS_HEADER_SEARCH_PATHS.

        * DerivedSources.make:
        Move the path computation earlier and include WebKitDerivedSourcesAdditions.make.

        * WebKit2.xcodeproj/project.pbxproj:
        Pass our WebKitAdditions paths as include paths to make.

2016-01-26  Anders Carlsson  <andersca@apple.com>

        Add a private WKUIDelegate method for getting a presenting view controller for a WKWebView on iOS
        https://bugs.webkit.org/show_bug.cgi?id=153510

        Reviewed by Dan Bernstein.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::presentingViewController):
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::UIClient::presentingViewController):

2016-01-26  Dean Jackson  <dino@apple.com>

        [iOS] Documents without an explicit width should not get fast tapping
        https://bugs.webkit.org/show_bug.cgi?id=153465
        <rdar://problem/23962529>

        Reviewed by Simon Fraser (and Wenson Hseih).

        As the title says, documents that do not set a viewport should
        not get the fast click behaviour. There were complaints that we broke
        double-tap to scroll in ImageDocuments where the image was narrow and long.

        The fix is to just keep a flag that tells the UI process if the
        width was explicit. However, it turns out that those ImageDocuments
        are given an explicit device-width, which is fine for scaling but
        really should behave as auto for fast tapping. So we also need
        to tell the UIProcess if the viewport arguments came from an
        ImageDocument.

        * Shared/mac/RemoteLayerTreeTransaction.h: Add two new flags into
        the transaction.
        (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidthWasExplicit):
        (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidthWasExplicit):
        (WebKit::RemoteLayerTreeTransaction::viewportMetaTagCameFromImageDocument):
        (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagCameFromImageDocument):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::RemoteLayerTreeTransaction::description):

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didCommitLayerTree:]): Notice whether or not the viewport
        width was explicit.
        (-[WKWebView _allowsDoubleTapGestures]): Return yes if the width
        was not explicit, or if the viewport came from an ImageDocument.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::willCommitLayerTree):

2016-01-26  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r194557): Keyboard shortcuts stop working after the WKWebView is unparented and reparented
        https://bugs.webkit.org/show_bug.cgi?id=153492
        <rdar://problem/24138989>

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView canBecomeFirstResponder]):
        (-[WKContentView becomeFirstResponder]):
        (-[WKContentView resignFirstResponder]):
        When WKWebView is unparented, WKContentView will attempt to resignFirstResponder upwards,
        first asking WKWebView. After r194557, WKWebView will accept first responder and forward
        it on to the WKContentView, which will happily accept it again, despite being the view
        that's trying to resign. This will cause us to completely lose first responder,
        where it was actually supposed to propagate up above WKWebView to the client.

        Keep track of when WKContentView is resigning first responder, and don't
        let it become first responder while it is doing so, breaking the cycle.

2016-01-25  Ada Chan  <adachan@apple.com>

        Move WebVideoFullscreenManager and related classes from iOS specific folders to cocoa folders
        https://bugs.webkit.org/show_bug.cgi?id=153473

        Reviewed by Eric Carlson.

        * DerivedSources.make:
        Add new paths.
        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h.
        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in.
        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm.
        (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
        Fix a style error by moving the opening curly brace to the same line as the for statement.
        * WebKit2.xcodeproj/project.pbxproj:
        Update due to changes to the file locations.
        * WebProcess/cocoa/WebVideoFullscreenManager.h: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.h.
        * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.messages.in.
        * WebProcess/cocoa/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm.
        (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges):
        Fix a style error by adding a missing space after a comma.

2016-01-26  Daniel Bates  <dabates@apple.com>

        WebKitTestRunner: Credential cache is not cleared between tests
        https://bugs.webkit.org/show_bug.cgi?id=153407
        <rdar://problem/24280834>

        Reviewed by Alexey Proskuryakov.

        Expose SPI to call CredentialStorage::clearCredentials() on the default network storage
        session to clear cached credentials.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::clearCachedCredentials): Added.
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in: Added message ClearCachedCredentials().
        * UIProcess/API/C/WKContext.cpp:
        (WKContextClearCachedCredentials): Added.
        * UIProcess/API/C/WKContextPrivate.h:
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::clearCachedCredentials): Notify all web processes and the
        network process to clear cached credentials.
        * UIProcess/WebProcessPool.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::clearCachedCredentials): Clear cached credentials in the default
        network storage session.
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in: Added message ClearCachedCredentials().

2016-01-26  Mario Sanchez Prada  <mario@endlessm.com>

        [GTK] WebProcess crashes when quickly attempting many DnD operations
        https://bugs.webkit.org/show_bug.cgi?id=138468

        Reviewed by Michael Catanzaro.

        Do not allow different DnD operations over the same element at the
        same time, so that any new attempt to DnD an element happening before
        a previous attempt has ended will take precedence, cancelling the older
        operation before going ahead with the new one.

        This is consistent with how WebCore::EventHandler handles DnD operations,
        preventing the web process from crashing in scenarios where the user might
        try to perform many DnD operations over the same element very quickly.

        * UIProcess/gtk/DragAndDropHandler.cpp:
        (WebKit::DragAndDropHandler::DragAndDropHandler): Initialized new member.
        (WebKit::DragAndDropHandler::startDrag): Ensure a previous DnD operation
        is cancelled before handling the new one that has just started.
        (WebKit::DragAndDropHandler::fillDragData): Protect against calling this
        function from webkitWebViewBaseDragDataGet for already cancelled operations.
        (WebKit::DragAndDropHandler::finishDrag): Protect against calling this
        function from webkitWebViewBaseDragEnd for already cancelled operations.
        * UIProcess/gtk/DragAndDropHandler.h:

2016-01-25  Enrica Casucci  <enrica@apple.com>

        Add support for DataDetectors in WK (iOS).
        https://bugs.webkit.org/show_bug.cgi?id=152989
        rdar://problem/22855960

        Reviewed by Tim Horton.

        Moving InteractionInformationAtPosition files to platform folder,
        since this is only used on iOS and changing from .cpp to .mm.
        The structure is extended to include data detection specific fields
        and the relevant encode/decode functions have been updated to
        handle the new fields.
        The patch also adds a new WKUIDelegatePrivate method to allow
        the client to provide additional context for data detection actions.

        * Platform/spi/ios/UIKitSPI.h:
        * Shared/InteractionInformationAtPosition.cpp: Removed.
        * Shared/InteractionInformationAtPosition.h: Removed.
        * Shared/ios/InteractionInformationAtPosition.h: Copied from Shared/InteractionInformationAtPosition.h.
        * Shared/ios/InteractionInformationAtPosition.mm: Copied from Shared/InteractionInformationAtPosition.cpp.
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/WKActionSheetAssistant.h:
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant showDataDetectorsSheet]):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView actionSheetAssistantDidStopInteraction:]):
        (-[WKContentView dataDetectionContextForActionSheetAssistant:]):
        (-[WKContentView selectedTextForActionSheetAssistant:]):
        (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2016-01-25  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r195543.
        https://bugs.webkit.org/show_bug.cgi?id=153451

        regressed performance of test bots by ~6% (Requested by dydz
        on #webkit).

        Reverted changeset:

        "WebKitTestRunner: Credential cache is not cleared between
        tests"
        https://bugs.webkit.org/show_bug.cgi?id=153407
        http://trac.webkit.org/changeset/195543

2016-01-25  Chris Dumez  <cdumez@apple.com>

        [WK2][NetworkCache] Enable speculative revalidation
        https://bugs.webkit.org/show_bug.cgi?id=153443
        <rdar://problem/23092196>

        Reviewed by Antti Koivisto.

        Enable speculative revalidation to better evaluate performance and
        robustness.

        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::registerUserDefaultsIfNeeded):

2016-01-25  Beth Dakin  <bdakin@apple.com>

        Handle soft spaces after accepted candidates
        https://bugs.webkit.org/show_bug.cgi?id=153331
        -and corresponding-
        rdar://problem/23958418

        Reviewed by Darin Adler.

        New member variable m_softSpaceRange keeps track to the NSRange of a soft 
        space if the last text that was inserted has a soft space at the end.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::WebViewImpl):

        The space at the end of candidates is a soft space. If that space exists, 
        cache the range of the space in m_softSpaceRange.
        (WebKit::WebViewImpl::handleAcceptedCandidate):

        When new text is inserted, find out if it is being inserted right after a 
        soft space. If it is, then [NSSpellChecker deletesAutospaceBeforeString] will 
        tell us if the space needs to be removed. If that is the case, then set the 
        replacementString to the soft space.
        (WebKit::WebViewImpl::insertText):

2016-01-25  Daniel Bates  <dabates@apple.com>

        WebKitTestRunner: Credential cache is not cleared between tests
        https://bugs.webkit.org/show_bug.cgi?id=153407
        <rdar://problem/24280834>

        Reviewed by Brady Eidson.

        Add SPI to call NetworkStorageSession::switchToNewTestingSession() to create a new testing session.
        The new testing session will have an empty credential cache.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::switchToNewTestingSession): Added.
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in: Added message SwitchToNewTestingSession().
        * UIProcess/API/C/WKContext.cpp:
        (WKContextResetTestingNetworkSession): Added.
        * UIProcess/API/C/WKContextPrivate.h:
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::resetTestingNetworkSession): Added.
        * UIProcess/WebProcessPool.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::switchToNewTestingSession): Added.
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in: Added message SwitchToNewTestingSession().

2016-01-22  Ryosuke Niwa  <rniwa@webkit.org>

        document.createElement should be able to create a custom element
        https://bugs.webkit.org/show_bug.cgi?id=153173

        Reviewed by Darin Adler.

        Use createElementForBindings here since this is for SPI.

        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
        (-[WKDOMDocument createElement:]):
        (-[WKDOMDocument createTextNode:]):

2016-01-24  Alex Christensen  <achristensen@webkit.org>

        Report upload progress to NetworkLoadClient when using NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=153388

        Reviewed by Darin Adler.

        This fixes http/tests/xmlhttprequest/upload-onload-event.html and a few other tests.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::didBecomeDownload):
        (WebKit::NetworkLoad::didSendData):
        (WebKit::NetworkLoad::didReceiveResponseAsync):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate initWithNetworkSession:]):
        (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
        (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):

2016-01-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Reduce PassRefPtr uses in dom - 4
        https://bugs.webkit.org/show_bug.cgi?id=153270

        Reviewed by Darin Adler.

        As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.

        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::focusPluginElement):

2016-01-23  Alex Christensen  <achristensen@webkit.org>

        CMake build fix after r195494.

        * PlatformMac.cmake:
        WebKit2 needs to be able to find DataDetectors.h.

2016-01-23  Alex Christensen  <achristensen@webkit.org>

        Use credentials from a URL with NetworkSession like we did with ResourceHandle
        https://bugs.webkit.org/show_bug.cgi?id=153328

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        createDataTaskWithRequest is being removed, so use std::make_unique<NetworkDataTask> directly instead.
        Also, create the task even if we are deferring loading.  Don't call resume if we are deferring loading.
        * NetworkProcess/NetworkSession.h:
        Callbacks are not just used in NetworkSessionTaskClient, so declare them outside.
        The NetworkDataTask now takes a ResourceRequest so we can strip its credentials.
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
        Try credentials stored with the NetworkDataTask before asking the client for credentials.
        (WebKit::NetworkSession::~NetworkSession):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkSession::takeDownloadID):
        (WebKit::NetworkDataTask::NetworkDataTask):
        Strip the credentials from the url before creating the task because we do not know the authentication type.
        We will use these credentials when a challenge is received.
        (WebKit::NetworkDataTask::~NetworkDataTask):
        (WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
        If we have credentials from the initial URL, try using them if it is appropriate.
        (WebKit::NetworkDataTask::cancel):
        (WebKit::NetworkSession::createDataTaskWithRequest): Deleted.
        * Shared/Authentication/AuthenticationManager.h:

2016-01-22  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/24304228> REGRESSION (r184215): Staged XPC services load non-staged shims
        https://bugs.webkit.org/show_bug.cgi?id=153389

        Reviewed by Alexey Proskuryakov.

        * Configurations/Shim.xcconfig: Don’t override the install name when using a staged install path.

2016-01-22  Enrica Casucci  <enrica@apple.com>

        Add support for DataDetectors in WK (iOS).
        https://bugs.webkit.org/show_bug.cgi?id=152989
        rdar://problem/22855960

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (fromWKDataDetectorTypes): Changed parameter to uint64_t to
        successfully compare against WKDataDetectorTypeAll.

2016-01-17  Ada Chan  <adachan@apple.com>

        Add a mode parameter to MediaControllerInterface::supportsFullscreen() and ChromeClient::supportsVideoFullscreen().
        https://bugs.webkit.org/show_bug.cgi?id=153220

        Reviewed by Eric Carlson.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::supportsVideoFullscreen):
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2016-01-22  Tim Horton  <timothy_horton@apple.com>

        Reproducible "Unhanded web process message 'WebUserContentController:AddUserScripts'" and friends
        https://bugs.webkit.org/show_bug.cgi?id=153193
        <rdar://problem/24222034>

        Reviewed by Darin Adler.

        The WebPageProxy constructor assumes that if its WebProcess is already running,
        it can add itself to the existing WebUserContentController(Proxy) and all will be well.

        However, if the API client constructs a different WKUserContentController for two views,
        and forces them both into the same process, WebPageProxy's constructor sends a message
        with a WebUserContentController ID that doesn't exist yet on the WebProcess side
        (because createWebPage, which usually brings it up, hasn't happened yet), and we 
        drop the message on the floor (and get the aforementioned logging).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::initializeWebPageAfterProcessLaunch):
        Instead of connecting our WebUserContentControllerProxy and WebVisitedLinkStoreProxy
        to our WebProcessProxy in the constructor, when doing so might send messages
        to the WebProcess that arrive before their corresponding WebProcess objects have
        been created, do this in initializeWebPageAfterProcessLaunch, which always runs
        during-or-after inititalizeWebPage (and always after the CreateWebPage message goes out).

        (WebKit::WebPageProxy::initializeWebPage):
        Mark us as needing initializeWebPageAfterProcessLaunch run, and run it right now
        if the WebProcess is already up.
        (WebKit::WebPageProxy::processDidFinishLaunching):
        If the WebProcess wasn't up at the end of initializeWebPage, we'll eventually end up here
        after it is launched, and will initializeWebPageAfterProcessLaunch.

        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        If the WebProcess dies, we don't want to initializeWebPageAfterProcessLaunch
        until after initializeWebPage runs again, so make sure the flag isn't set.

        * UIProcess/WebPageProxy.h:

2016-01-22  Darin Adler  <darin@apple.com>

        Reduce use of equalIgnoringCase to just ignore ASCII case
        https://bugs.webkit.org/show_bug.cgi?id=153266

        Reviewed by Ryosuke Niwa.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::hasOnlySecureContent): Use the protocolIs
        function from WebCore instead of calling startsWith.
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::initialize): Use equalLettersIgnoringASCIICase.

2016-01-21  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Tooltips do not honor some types of obscuring windows
        https://bugs.webkit.org/show_bug.cgi?id=153263
        <rdar://problem/21423972>

        Reviewed by Simon Fraser.

        Recognize that the current WebView is obscured by comparing the current event's Window Number against
        the Window Number of the current WebView. If they don't match, something is in the way.

        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::windowIsFrontWindowUnderMouse): Added.
        * UIProcess/PageClient.h:
        (WebKit::PageClient::windowIsFrontWindowUnderMouse):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::handleMouseEvent): Check if the current WebView is obscured. If it
        is, clear the tooltip and return.
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::windowIsFrontWindowUnderMouse): Added.

2016-01-22  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Remove PassRefPtr from ResourceRequest and FormData
        https://bugs.webkit.org/show_bug.cgi?id=153229

        Reviewed by Chris Dumez.

        * NetworkProcess/NetworkResourceLoadParameters.cpp:
        (WebKit::NetworkResourceLoadParameters::decode):
        * NetworkProcess/cache/NetworkCacheEntry.cpp:
        (WebKit::NetworkCache::Entry::Entry):

2016-01-21  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
        https://bugs.webkit.org/show_bug.cgi?id=136019

        Reviewed by Dan Bernstein.

        Now call frameView.positionForRootContentLayer(), and add a FIXME questioning the
        behavior in horizontal b-t documents. However, this code isn't hit now that we always
        do extended backgrounds, so never have shadow layers.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::shadowLayerPositionForFrame):

2016-01-21  Dean Jackson  <dino@apple.com>

        Move _allowsDoubleTapGestures implementation out of category
        https://bugs.webkit.org/show_bug.cgi?id=153329
        <rdar://problem/24289768>

        Reviewed by Simon Fraser.

        We were generating a linker warning because the implementation
        was located inside the WKPrivate category.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _allowsDoubleTapGestures]): Move this out of
        the category.

2016-01-21  Dean Jackson  <dino@apple.com>

        [iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
        https://bugs.webkit.org/show_bug.cgi?id=153326
        <rdar://problem/24264339>

        Reviewed by Anders Carlsson.

        UIKit's UIGestureRecognizer could call back into the WKContentView
        after the associated WKWebView has disappeared. The fix is to
        explicitly null the WKWebView reference as we deallocate.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView dealloc]): Tell the WKContentView we are going away.
        * UIProcess/ios/WKContentView.h:
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _webViewDestroyed]):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
        Only do something if the WKWebView is still around.

2016-01-21  Beth Dakin  <bdakin@apple.com>

        Add the ability to update WebKitAdditions to WK2
        https://bugs.webkit.org/show_bug.cgi?id=153320
        -and corresponding-
        rdar://problem/23639629

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::createWeakPtr):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::updateWebViewImplAdditions):
        (WebKit::WebViewImpl::showCandidates):
        (WebKit::WebViewImpl::webViewImplAdditionsWillDestroyView):
        (WebKit::trackingAreaOptions):
        (WebKit::WebViewImpl::~WebViewImpl):
        (WebKit::WebViewImpl::becomeFirstResponder):
        (WebKit::WebViewImpl::selectionDidChange):
        (WebKit::WebViewImpl::handleRequestedCandidates):
        (WebKit::textCheckingResultFromNSTextCheckingResult):

2016-01-19  Ada Chan  <adachan@apple.com>

        Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
        https://bugs.webkit.org/show_bug.cgi?id=153218

        Reviewed by Eric Carlson.

        * Configurations/FeatureDefines.xcconfig:

2016-01-20  Alex Christensen  <achristensen@webkit.org>

        Fix CMake build after r195300.

        * PlatformMac.cmake:
        Include editing/mac to find DataDetection.h.

2016-01-20  Alex Christensen  <achristensen@webkit.org>

        Ask UI Process before sending redirect requests when downloading
        https://bugs.webkit.org/show_bug.cgi?id=153041

        Reviewed by Darin Adler.

        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::DownloadManager::continueWillSendRequest):
        (WebKit::DownloadManager::convertHandleToDownload):
        * NetworkProcess/Downloads/DownloadManager.h:
        * NetworkProcess/Downloads/PendingDownload.cpp:
        (WebKit::PendingDownload::willSendRedirectedRequest):
        (WebKit::PendingDownload::continueWillSendRequest):
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::NetworkProcess::continueWillSendRequest):
        (WebKit::NetworkProcess::setCacheModel):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * UIProcess/API/APIDownloadClient.h:
        (API::DownloadClient::didCancel):
        (API::DownloadClient::processDidCrash):
        (API::DownloadClient::canAuthenticateAgainstProtectionSpace):
        (API::DownloadClient::willSendRequest):
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
        (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
        (WebKit::DownloadProxy::willSendRequest):
        (WebKit::DownloadProxy::didReceiveResponse):
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/Downloads/DownloadProxy.messages.in:

2016-01-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.4 release.

        * gtk/NEWS: Add release notes for 2.11.4.

2016-01-19  Enrica Casucci  <enrica@apple.com>

        Add support for DataDetectors in WK (iOS).
        https://bugs.webkit.org/show_bug.cgi?id=152989
        rdar://problem/22855960

        Reviewed by Tim Horton.

        This is the first step toward implementing Data Detectors support
        in WK2. The patch adds a new property to the configuration
        object to indicate the type of detection desired and propagates
        to the WebProcess.

        * Configurations/FeatureDefines.xcconfig:
        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (fromWKDataDetectorTypes):
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration copyWithZone:]):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2016-01-19  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r195300.
        https://bugs.webkit.org/show_bug.cgi?id=153244

        enrica wants more time to fix Windows (Requested by thorton on
        #webkit).

        Reverted changeset:

        "Add support for DataDetectors in WK (iOS)."
        https://bugs.webkit.org/show_bug.cgi?id=152989
        http://trac.webkit.org/changeset/195300

2016-01-19  Enrica Casucci  <enrica@apple.com>

        Add support for DataDetectors in WK (iOS).
        https://bugs.webkit.org/show_bug.cgi?id=152989
        rdar://problem/22855960

        Reviewed by Tim Horton.

        This is the first step toward implementing Data Detectors support
        in WK2. The patch adds a new property to the configuration
        object to indicate the type of detection desired and propagates
        to the WebProcess.

        * Configurations/FeatureDefines.xcconfig:
        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration copyWithZone:]):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added.
        (WebKit::WebPage::fromWKDataDetectorTypes):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):
        * WebProcess/WebPage/WebPage.h:

2016-01-19  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r187471.
        https://bugs.webkit.org/show_bug.cgi?id=153236

        purportedly caused a significant memory regression and want to
        see if that is true (Requested by thorton on #webkit).

        Reverted changeset:

        "First in-window viewStateChange synchronously blocks despite
        not previously being in-window"
        https://bugs.webkit.org/show_bug.cgi?id=147344
        http://trac.webkit.org/changeset/187471

2016-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Runtime critical warnings when loading a URL after a session restore
        https://bugs.webkit.org/show_bug.cgi?id=153233

        Reviewed by Michael Catanzaro.

        This happens when doing a normal load after restoring the back
        forward list from session state and the list contained forward
        items. In that case the forward items are removed from the list
        and we try to reference a WebBackForwardListItem wrapper that
        hasn't been created. We create the wrappers on demand, and when
        the back forward list is populated from session state, items are
        added to the list without creating their wrappers. That was not
        possible before, and that's why we assumed that any item that is
        removed from the list should have a wrapper already created.

        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
        (webkitBackForwardListChanged): If we don't have a wrapper for the
        removed item, create a new one to be passed to the signal, but
        without adding it to the map.

2016-01-19  Ryosuke Niwa  <rniwa@webkit.org>

        CharacterData::setData doesn't need ExceptionCode as an out argument
        https://bugs.webkit.org/show_bug.cgi?id=153225

        Reviewed by Antti Koivisto.

        * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
        (-[WKDOMText setData:]):

2016-01-18  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Remove wkView() from EwkView
        https://bugs.webkit.org/show_bug.cgi?id=152604

        Reviewed by Gyuyoung Kim.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkViewEventHandler<EVAS_CALLBACK_SHOW>::handleEvent):
        (EwkViewEventHandler<EVAS_CALLBACK_HIDE>::handleEvent):
        (EwkView::EwkView):
        (EwkView::create):
        (EwkView::wkPage):
        (EwkView::isVisible):
        (EwkView::setVisible):
        (EwkView::setDeviceScaleFactor):
        (EwkView::deviceSize):
        (EwkView::displayTimerFired):
        (EwkView::setViewportPosition):
        (EwkView::requestExitFullScreen):
        (EwkView::contentsSize):
        (EwkView::setThemePath):
        (EwkView::feedTouchEvent):
        (EwkView::createGLSurface):
        (EwkView::showContextMenu):
        (EwkView::requestPopupMenu):
        (EwkView::webView):
        (EwkView::handleEvasObjectCalculate):
        (EwkView::handleEvasObjectColorSet):
        (EwkView::handleEwkViewFocusIn):
        (EwkView::handleEwkViewFocusOut):
        (EwkView::feedTouchEvents):
        (EwkView::takeSnapshot):
        (EwkView::scrollBy):
        (EwkView::setBackgroundColor):
        (EwkView::backgroundColor):
        * UIProcess/API/efl/EwkView.h:
        (EwkView::wkView): Deleted.
        * UIProcess/API/efl/GestureRecognizer.cpp:
        (WebKit::GestureHandler::handleSingleTap):
        * UIProcess/API/efl/ewk_view.cpp:
        (EWKViewCreate):
        (EWKViewGetWKView):
        (ewk_view_fullscreen_exit):
        (ewk_view_layout_fixed_set):
        (ewk_view_layout_fixed_get):
        (ewk_view_layout_fixed_size_set):
        (ewk_view_layout_fixed_size_get):
        (ewk_view_bg_color_get):
        (ewk_view_contents_size_get):
        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
        (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
        * UIProcess/efl/ViewClientEfl.cpp:
        (WebKit::ViewClientEfl::webProcessDidRelaunch):
        (WebKit::ViewClientEfl::ViewClientEfl):
        (WebKit::ViewClientEfl::~ViewClientEfl):

2016-01-18  Zan Dobersek  <zdobersek@igalia.com>

        Sink the Vector<uint8_t> buffer into the SerializedScriptValue constructor
        https://bugs.webkit.org/show_bug.cgi?id=142634

        Reviewed by Darin Adler.

        Update API::SerializedScriptValue::adopt() to take in a Vector<uint8_t>
        rvalue, moving it into the WebCore::SerializedScriptValue::adopt() call.

        Update other places that are affected by the SerializedScriptValue changes.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
        * Shared/API/APISerializedScriptValue.h:
        (API::SerializedScriptValue::adopt):
        * Shared/UserData.cpp:
        (WebKit::UserData::decode):
        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        (WebKit::WebUserContentControllerProxy::didPostMessage):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::scriptValueCallback):
        * WebProcess/WebCoreSupport/SessionStateConversion.cpp:
        (WebKit::applyFrameState):

2016-01-18  Olivier Blin  <olivier.blin@softathome.com>

        [EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO
        https://bugs.webkit.org/show_bug.cgi?id=153135

        Reviewed by Michael Catanzaro.

        GStreamer builds fail when WebAudio is enabled but VIDEO disabled.

        This change makes the flag more consistent around the
        decicePolicyForInstallMissingMediaPluginsPermissionRequest() method:
        ENABLE(VIDEO) && USE(GSTREAMER) everywhere, while the code used to
        test either one or the other.

        This does not enable InstallMissingMediaPlugins for WebAudio, since no
        code makes use of this in WebKitWebAudioSourceGStreamer.

        It also fixes a naming typo for the following method:
        decidePolicyForInstallMissingMediaPluginsPermissionRequest()

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::decidePolicyForInstallMissingMediaPluginsPermissionRequest):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/PageClient.h:
        * UIProcess/efl/WebViewEfl.h:
        * UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
        (WebKit::WebPageProxy::requestInstallMissingMediaPlugins):

2016-01-17  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>

        Add quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset
        https://bugs.webkit.org/show_bug.cgi?id=153175

        Reviewed by Michael Catanzaro.

        * PlatformGTK.cmake:

2016-01-16  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>

        Remove a now-irrelevant darwin build hack
        https://bugs.webkit.org/show_bug.cgi?id=153117

        Reviewed by Michael Catanzaro.

        * PlatformGTK.cmake:

2016-01-16  Jon Honeycutt  <jhoneycutt@apple.com>

        [iOS] Replace deprecated -[UIDocumentMenuViewController
        _setIgnoreApplicationEntitlementForImport:]

        <https://bugs.webkit.org/show_bug.cgi?id=145690>
        <rdar://problem/20636577>

        Reviewed by Brent Fulgham.

        * Platform/spi/ios/UIKitSPI.h:
        Replace deprecated SPI with newer SPI.

        * UIProcess/ios/forms/WKFileUploadPanel.mm:
        (-[WKFileUploadPanel presentWithParameters:resultListener:]):
        (-[WKFileUploadPanel _showDocumentPickerMenu]):
        Ditto.

2016-01-16  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed. Fix a typo in an API comment.

        * UIProcess/API/gtk/WebKitWebViewSessionState.cpp:

2016-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] GVariant runtime critical errors when encoding session data
        https://bugs.webkit.org/show_bug.cgi?id=153130

        Reviewed by Michael Catanzaro.

        It happens when the FrameState has children, because the recursive
        serialization is wrong. Also fix serialization of
        documentSequenceNumber and itemSequenceNumber that are gint64, not
        guint64.

        * UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
        (encodeFrameState): Let the caller open/init the given
        builder. Use a new builder to encode child states recursively.
        (encodePageState): Do the builder open/close for the FrameState encoding.
        (decodeFrameState): Get the variant of every child.

2016-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        Fix internal Windows build
        https://bugs.webkit.org/show_bug.cgi?id=153142

        Unreviewed addition to Alex's JSC patch, which was reviewed by Brent Fulgham. Pass
        -I${JAVASCRIPTCORE_DIR} to g-ir-scanner.

        * PlatformGTK.cmake:

2016-01-14  Simon Fraser  <simon.fraser@apple.com>

        Remove workaround for rdar://problem/23623670
        https://bugs.webkit.org/show_bug.cgi?id=153107
        rdar://problem/23633319

        Reviewed by Tim Horton.

        Remove the code that uses IOSurfaceAcceleratorTransformSurface() when copying from
        back-to-front buffer, now that CGIOSurfaceContextCreate()-code path works correctly.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::display):

2016-01-14  Beth Dakin  <bdakin@apple.com>

        WK1 and WK2 should share more candidate request code
        https://bugs.webkit.org/show_bug.cgi?id=153108

        Reviewed by Simon Fraser.

        requestCandidatesForSelection() does not need to be exposed as an 
        EditorClient function. WK1 can just call invoke this code from the existing 
        respondToChangedSelection EditorClient function, which is what WK2 does.
        * WebProcess/WebCoreSupport/WebEditorClient.h:

2016-01-14  Beth Dakin  <bdakin@apple.com>

        WK2: Request completion candidates when needed
        https://bugs.webkit.org/show_bug.cgi?id=153040
        -and corresponding-
        rdar://problem/24155631

        Reviewed by Enrica Casucci and Tim Horton.

        Mac needs to support postLayoutData in order to have some layout-related 
        editing information to request candidates. This patch re-shuffles some items 
        in the struct so that they can be shared by Mac and iOS, and it adds 3 new 
        items for Mac only.
        * Shared/EditorState.cpp:
        (WebKit::EditorState::encode):
        (WebKit::EditorState::decode):
        (WebKit::EditorState::PostLayoutData::encode):
        (WebKit::EditorState::PostLayoutData::decode):
        * Shared/EditorState.h:

        Request and handle candidates here in WebViewImpl, and cache the 
        m_lastStringForCandidateRequest so that we can ensure the results we receive 
        were received in a timely enough manner that they are still for the same 
        String.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::selectionDidChange):

        When selection changes, request new candidates.
        (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):

        Once candidates have been received, we ask the sharedSpellChecker to show 
        them.
        (WebKit::WebViewImpl::handleRequestedCandidates):

        If a candidate is accepted, we ask the WebProcess to accept it, so we start 
        by converting the NSTextCheckingResult to a WebCore::TextCheckingResult.
        (WebKit::textCheckingResultFromNSTextCheckingResult):
        (WebKit::WebViewImpl::handleAcceptedCandidate):

        Ask the WebProcess to handle accepting the candidate.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::handleAcceptedCandidate):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage:: handleAcceptedCandidate):
        * WebProcess/WebPage/WebPage.messages.in:

        Now that Mac has some postLayoutData in the EditorState, fill that in in 
        platformEditorState().
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::platformEditorState):

        Ask WebCore::Editor to handle the accepted candidate.
        (WebKit::WebPage::handleAcceptedCandidate):

2016-01-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r195002.
        https://bugs.webkit.org/show_bug.cgi?id=153098

        Crashes many/most editing tests (Requested by ap on #webkit).

        Reverted changeset:

        "WK2: Request completion candidates when needed"
        https://bugs.webkit.org/show_bug.cgi?id=153040
        http://trac.webkit.org/changeset/195002

2016-01-14  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][GTK][SeccompFilter] Fix build break when enabling --seccomp-filters
        https://bugs.webkit.org/show_bug.cgi?id=153094

        Reviewed by Csaba Osztrogonác.

        diskCacheDirectory and cookiePersistentStoragePath were removed by r192796.
        But SyscallPolicy::addDefaultWebProcessPolicy has added directory permission
        to the removed paths.

        It looks two paths needs to be handled by network process.

        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy): Deleted.

2016-01-13  Alex Christensen  <achristensen@webkit.org>

        Implement custom protocols when using NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=153078

        Reviewed by Andy Estes.

        * NetworkProcess/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::generateCustomProtocolID):
        (+[WKCustomProtocol canInitWithRequest:]):
        (+[WKCustomProtocol canonicalRequestForRequest:]):
        (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
        (-[WKCustomProtocol startLoading]):
        (-[WKCustomProtocol stopLoading]):
        There's no need to have a static pointer when we can use NetworkProcess::singleton to access 
        the process-global CustomProtocolManager, and add null checks because that's a good thing to do.
        (WebKit::CustomProtocolManager::CustomProtocolManager):
        Call UTF8Encoding when creating the CustomProtocolManager on the main thread to make sure it exists
        for when we decode URLS in ResourceResponses from IPC later, which is done on a different WorkQueue.
        (WebKit::CustomProtocolManager::initializeConnection):
        (WebKit::CustomProtocolManager::initialize):
        (WebKit::CustomProtocolManager::removeCustomProtocol):
        (WebKit::CustomProtocolManager::registerProtocolClass):
        (WebKit::CustomProtocolManager::registerScheme):
        * NetworkProcess/CustomProtocols/CustomProtocolManager.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::NetworkSession):
        Call registerProtocolClass to set configuration.protocolClasses if there is a CustomProtocolManager.

2016-01-13  Beth Dakin  <bdakin@apple.com>

        WK2: Request completion candidates when needed
        https://bugs.webkit.org/show_bug.cgi?id=153040
        -and corresponding-
        rdar://problem/24155631

        Reviewed by Enrica Casucci.

        Mac needs to support postLayoutData in order to have some layout-related 
        editing information to request candidates. This patch re-shuffles some items 
        in the struct so that they can be shared by Mac and iOS, and it adds 3 new 
        items for Mac only.
        * Shared/EditorState.cpp:
        (WebKit::EditorState::encode):
        (WebKit::EditorState::decode):
        (WebKit::EditorState::PostLayoutData::encode):
        (WebKit::EditorState::PostLayoutData::decode):
        * Shared/EditorState.h:

        Request and handle candidates here in WebViewImpl, and cache the 
        m_lastStringForCandidateRequest so that we can ensure the results we receive 
        were received in a timely enough manner that they are still for the same 
        String.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::selectionDidChange):

        When selection changes, request new candidates.
        (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):

        Once candidates have been received, we ask the sharedSpellChecker to show 
        them.
        (WebKit::WebViewImpl::handleRequestedCandidates):

        If a candidate is accepted, we ask the WebProcess to accept it, so we start 
        by converting the NSTextCheckingResult to a WebCore::TextCheckingResult.
        (WebKit::textCheckingResultFromNSTextCheckingResult):
        (WebKit::WebViewImpl::handleAcceptedCandidate):

        Ask the WebProcess to handle accepting the candidate.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::handleAcceptedCandidate):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage:: handleAcceptedCandidate):
        * WebProcess/WebPage/WebPage.messages.in:

        Now that Mac has some postLayoutData in the EditorState, fill that in in 
        platformEditorState().
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::platformEditorState):

        Ask WebCore::Editor to handle the accepted candidate.
        (WebKit::WebPage::handleAcceptedCandidate):

2016-01-12  Geoffrey Garen  <ggaren@apple.com>

        WebKit2 should have an API for eagerly querying whether the web process is responsive
        https://bugs.webkit.org/show_bug.cgi?id=153037

        Reviewed by Tim Horton.

        WebKit2 provides a delegate notification when the web process doesn't
        respond to a message after a while. But there's no way to send a message
        eagerly and check for reply.

        We want this new mechanism so that navigation can terminate the web
        process eagerly if it is hung.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageGetWebProcessIsResponsive):
        * UIProcess/API/C/WKPagePrivate.h: This is the new API.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::sendWheelEvent): Updated for interface change.

        (WebKit::WebPageProxy::getWebProcessIsResponsive): Calls through to the
        web process proxy. We claim that we are responsive when there is no
        web process because we assume that a fresh web process will not hang.

        * UIProcess/WebPageProxy.h:

        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::WebProcessProxy):
        (WebKit::WebProcessProxy::didBecomeUnresponsive): Keep a flag indicating
        whether the process is unresponsive so that we can fire unresponsiveness
        callbacks immediately for a hung process instead of waiting another 3s.

        (WebKit::WebProcessProxy::didBecomeResponsive): We don't fire responsiveness
        callbacks inside didBecomeResponsive because we assume that a responsive
        web process will invoke didReceiveMainThreadPing -- and we fire the
        callbacks there.

        (WebKit::WebProcessProxy::getIsResponsive): If the web process is already
        known to be unresponsive, fire the callback right away. Otherwise, queue
        it up to fire once we have an answer from a main thread ping.

        (WebKit::WebProcessProxy::didReceiveMainThreadPing): Fire any pending
        callbacks when we learn that the web process is responsive.

        * UIProcess/WebProcessProxy.h:

2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.3 release.

        * gtk/NEWS: Add release notes for 2.11.3.

2016-01-12  Geoffrey Garen  <ggaren@apple.com>

        WebPageProxy should reattach to the web process before navigating
        https://bugs.webkit.org/show_bug.cgi?id=153026

        Reviewed by Anders Carlsson.

        This fixes a crash (and lots of other corruption) when force-quitting
        the web process during navigation.

        Some objects (like ViewGestureController) use one-time initialization
        to point to a ChildProcessProxy -- and, by design, we destroy them when
        the ChildProcessProxy becomes invalid (i.e., crashes or quits).

        If we navigate *before* creating a new, valid ChildProcessProxy, then
        we accidentally re-create these objects pointing to the old, invalid
        ChildProcessProxy.

        We need to wait until we have a valid ChildProcessProxy before we
        initialize these objects.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::reattachToWebProcessWithItem): Navigate after
        reattaching to the web process so that lazily allocated helper objects
        point to the right ChildProcessProxy.

2016-01-12  Ryosuke Niwa  <rniwa@webkit.org>

        Add a build flag for custom element
        https://bugs.webkit.org/show_bug.cgi?id=153005

        Reviewed by Alex Christensen.

        * Configurations/FeatureDefines.xcconfig:

2016-01-12  Alex Christensen  <achristensen@webkit.org>

        Ask for UI Process approval of ProtectionSpace when authenticating downloads with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=152999

        Reviewed by Brady Eidson.

        * DerivedSources.make:
        I mistakenly added PendingDownload.messages.in in r194810, but this will not be needed because
        the PendingDownload is not a MessageReceiver.  Rather, the NetworkProcess receives the messages
        and forwards their contents to the PendingDownload through its DownloadManager.
        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::dataTaskBecameDownloadTask):
        (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::DownloadManager::convertHandleToDownload):
        * NetworkProcess/Downloads/DownloadManager.h:
        * NetworkProcess/Downloads/PendingDownload.cpp:
        (WebKit::PendingDownload::continueWillSendRequest):
        (WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync):
        Instead of taking a shortcut I added in r194810, send a message to the UI process and wait for its
        asynchronous reply to determine if we can authenticate against this protection space.
        (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::PendingDownload::didConvertToDownload):
        * NetworkProcess/Downloads/PendingDownload.h:
        * NetworkProcess/Downloads/PendingDownload.messages.in: Removed.
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::cancelDownload):
        (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::NetworkProcess::setCacheModel):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * Shared/Authentication/AuthenticationManager.h:
        * UIProcess/API/APIDownloadClient.h:
        (API::DownloadClient::didFail):
        (API::DownloadClient::didCancel):
        (API::DownloadClient::processDidCrash):
        (API::DownloadClient::canAuthenticateAgainstProtectionSpace):
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
        (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
        (WebKit::DownloadProxy::didReceiveResponse):
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/Downloads/DownloadProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:

2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Move ChildProcessProxy from Shared to UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=125570

        Reviewed by Darin Adler.

        ChildProcessProxy is only used by the UI process.

        * CMakeLists.txt:
        * PlatformGTK.cmake:
        * UIProcess/ChildProcessProxy.cpp: Renamed from Source/WebKit2/Shared/ChildProcessProxy.cpp.
        (WebKit::ChildProcessProxy::ChildProcessProxy):
        (WebKit::ChildProcessProxy::~ChildProcessProxy):
        (WebKit::ChildProcessProxy::fromConnection):
        (WebKit::ChildProcessProxy::getLaunchOptions):
        (WebKit::ChildProcessProxy::connect):
        (WebKit::ChildProcessProxy::terminate):
        (WebKit::ChildProcessProxy::state):
        (WebKit::ChildProcessProxy::sendMessage):
        (WebKit::ChildProcessProxy::addMessageReceiver):
        (WebKit::ChildProcessProxy::removeMessageReceiver):
        (WebKit::ChildProcessProxy::dispatchMessage):
        (WebKit::ChildProcessProxy::dispatchSyncMessage):
        (WebKit::ChildProcessProxy::didFinishLaunching):
        (WebKit::ChildProcessProxy::shutDownProcess):
        (WebKit::ChildProcessProxy::connectionWillOpen):
        * UIProcess/ChildProcessProxy.h: Renamed from Source/WebKit2/Shared/ChildProcessProxy.h.
        (WebKit::ChildProcessProxy::connection):
        (WebKit::ChildProcessProxy::processIdentifier):
        (WebKit::ChildProcessProxy::canSendMessage):
        (WebKit::ChildProcessProxy::send):
        (WebKit::ChildProcessProxy::sendSync):
        * WebKit2.xcodeproj/project.pbxproj:

2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] UI process crashes if webkit_web_view_get_tls_info is called before internal load-committed event
        https://bugs.webkit.org/show_bug.cgi?id=142375

        Reviewed by Michael Catanzaro.

        Remove all the hacks to emit delayed load events now that the
        page cache resource load delegates are consistent with all other
        resource loads.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewLoadChanged):
        (webkitWebViewResourceLoadStarted):
        (webkit_web_view_get_tls_info): Add a g_return_val_if_fail to
        prevent this function from being misused.
        (webkitWebViewDisconnectMainResourceResponseChangedSignalHandler): Deleted.
        (webkitWebViewDispose): Deleted.
        (webkitWebViewEmitLoadChanged): Deleted.
        (webkitWebViewEmitDelayedLoadEvents): Deleted.
        (mainResourceResponseChangedCallback): Deleted.
        (waitForMainResourceResponseIfWaitingForResource): Deleted.

2016-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r190717): [GTK] Popup menus stop working after being dismissed without selecting an item
        https://bugs.webkit.org/show_bug.cgi?id=152977

        Reviewed by Michael Catanzaro.

        This happens since r190717 when you open a popup menu and without
        selecting any option it's dismissed (press ESC or click somewhere
        else). This is because I removed the code to track when the menu
        is unmapped, thinking that it was no longer necessary. But we need
        to send the DidChangeSelectedIndexForActivePopupMenu to the
        WebProcess with -1 as index to keep the web process in sync.

        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
        (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
        (WebKit::WebPopupMenuProxyGtk::cancelTracking):
        (WebKit::WebPopupMenuProxyGtk::menuItemActivated):
        (WebKit::WebPopupMenuProxyGtk::dismissMenuTimerFired):
        (WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback):
        * UIProcess/gtk/WebPopupMenuProxyGtk.h:

2016-01-09  Andy Estes  <aestes@apple.com>

        [Cocoa] Add SPI to opt out a URL scheme from the memory cache
        https://bugs.webkit.org/show_bug.cgi?id=152950
        rdar://problem/24066652

        Reviewed by Tim Horton.

        Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these
        schemes to SchemeRegistry when initializing a new web process.

        * Shared/API/Cocoa/WKFoundation.h: Added a newline to force re-postprocessing.
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
        (-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]):
        (-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::createNewWebProcess):
        * UIProcess/WebProcessPool.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated):
        * WebProcess/WebProcess.h:

2016-01-11  Anders Carlsson  <andersca@apple.com>

        Get rid of CFMakeCollectable, it is a no-op
        https://bugs.webkit.org/show_bug.cgi?id=152988

        Reviewed by Sam Weinig.

        * Shared/Cocoa/WKNSString.mm:
        * Shared/Cocoa/WKNSURL.mm:
        (-[WKNSURL _web_createTarget]):

2016-01-11  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r194866.
        https://bugs.webkit.org/show_bug.cgi?id=152986

        This change broke the mac build (Requested by ryanhaddad on
        #webkit).

        Reverted changeset:

        "[Cocoa] Add SPI to opt out a URL scheme from the memory
        cache"
        https://bugs.webkit.org/show_bug.cgi?id=152950
        http://trac.webkit.org/changeset/194866

2016-01-11  Andy Estes  <aestes@apple.com>

        [Cocoa] Add SPI to opt out a URL scheme from the memory cache
        https://bugs.webkit.org/show_bug.cgi?id=152950
        rdar://problem/24066652

        Reviewed by Tim Horton.

        Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these
        schemes to SchemeRegistry when initializing a new web process.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
        (-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]):
        (-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::createNewWebProcess):
        * UIProcess/WebProcessPool.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated):
        * WebProcess/WebProcess.h:

2016-01-11  Alex Christensen  <achristensen@webkit.org>

        Fix Mac CMake build after r194810.

        * PlatformMac.cmake:
        PendingDownload isn't needed until NETWORK_SESSION is used by default.
        I'll figure this out when I make the switch.

2016-01-11  Mario Sanchez Prada  <mario@endlessm.com>

        [WK2][GTK] Propagate motion-notify-event signals from the WebView
        https://bugs.webkit.org/show_bug.cgi?id=152974

        Reviewed by Carlos Garcia Campos.

        Always propagate motion-notify-event signals, regardless of what the
        web process does, so that we can listen for those events (which does
        not act on specific targets inside the webview) from the container
        widget too, and not just from the WebView itself.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseMotionNotifyEvent): Ensure the signal gets propagated.

2016-01-10  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Disable header postprocessing when building for El Capitan
        https://bugs.webkit.org/show_bug.cgi?id=152962

        Reviewed by Anders Carlsson.

        * Configurations/WebKit.xcconfig:

2016-01-09  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
        https://bugs.webkit.org/show_bug.cgi?id=152926

        Reviewed by Tim Horton.

        Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
        where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
        WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.

        Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.

        * Configurations/BaseTarget.xcconfig:
        - Add quotes to account for spaces.
        - Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
          WK_OVERRIDE_FRAMEWORKS_DIR.

        * WebKit2.xcodeproj/project.pbxproj:
        - In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle
          spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under
          BUILT_PRODUCTS_DIR and using the symlink as the value of
          WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.
        - In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to
          account for spaces.

        * mac/MigrateHeadersFromWebKitLegacy.make:
          Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based
          one in order to avoid spaces.

        * mac/postprocess-framework-headers.sh:
          Add quotes to account for spaces.

2016-01-08  Alex Christensen  <achristensen@webkit.org>

        Implement download authentication with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=152878

        Reviewed by Brady Eidson.

        * DerivedSources.make:
        * NetworkProcess/Downloads/Download.h:
        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::startDownload):
        * NetworkProcess/Downloads/PendingDownload.cpp: Added.
        (WebKit::PendingDownload::PendingDownload):
        (WebKit::PendingDownload::willSendRedirectedRequest):
        (WebKit::PendingDownload::continueWillSendRequest):
        (WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync):
        (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::PendingDownload::didConvertToDownload):
        (WebKit::PendingDownload::messageSenderConnection):
        (WebKit::PendingDownload::messageSenderDestinationID):
        * NetworkProcess/Downloads/PendingDownload.h:
        (WebKit::PendingDownload::PendingDownload): Deleted.
        * NetworkProcess/Downloads/PendingDownload.messages.in: Added.
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::continueWillSendRequest):
        The completion handler should always be called.  If m_currentRequest is null, then the request will not proceed, which is the same as canceling it.
        (WebKit::NetworkLoad::setPendingDownloadID):
        (WebKit::NetworkLoad::setPendingDownload):
        (WebKit::NetworkLoad::willPerformHTTPRedirection):
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        If this load is going to become a download, then call the PendingDownload version of didReceiveAuthenticationChallenge to communicate with the 
        UI process directly because there wasn't necessarily a web process associated with this request that will become a download.
        * NetworkProcess/NetworkLoad.h:
        (WebKit::NetworkLoad::pendingDownloadID):
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkDataTask::client):
        (WebKit::NetworkDataTask::pendingDownloadID):
        (WebKit::NetworkDataTask::pendingDownload):
        (WebKit::NetworkDataTask::setPendingDownloadID):
        (WebKit::NetworkDataTask::setPendingDownload):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        * PlatformMac.cmake:
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
        Removed unnecessary protection and move null check to before using the pointer it checks.

2016-01-07  Simon Fraser  <simon.fraser@apple.com>

        Use an appropriate buffer format for swipe snapshots
        https://bugs.webkit.org/show_bug.cgi?id=152880
        rdar://problem/23728299

        Reviewed by Tim Horton.
        
        Choose an appropriate buffer format for swipe snapshots, and avoid converting
        them to YUV422.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (WebKit::bufferFormat):
        (-[WKWebView _takeViewSnapshot]):

2016-01-07  Alex Christensen  <achristensen@webkit.org>

        Progress towards implementing downloads with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=152760

        Reviewed by Brady Eidson.

        * NetworkProcess/Downloads/Download.cpp:
        (WebKit::Download::Download):
        There's no need to store the unused NetworkSession&.
        (WebKit::Download::didStart):
        (WebKit::Download::didReceiveAuthenticationChallenge):
        Downloads with NetworkSession are NetworkLoads until the response is received, which is after authentication
        challenges are handled by NetworkLoad's code.
        (WebKit::Download::didReceiveResponse):
        * NetworkProcess/Downloads/Download.h:
        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::startDownload):
        Create a PendingDownload, which is basically a NetworkLoad that knows that it will become a Download 
        when the response is received, regardless of whether or not there is a Content-Disposition header.
        (WebKit::DownloadManager::dataTaskBecameDownloadTask):
        * NetworkProcess/Downloads/DownloadManager.h:
        * NetworkProcess/Downloads/PendingDownload.h: Added.
        (WebKit::PendingDownload::PendingDownload):
        Added a new NetworkLoadClient for requests that will become downloads.
        A PendingDownload contains a NetworkLoad so we can always keep them together
        and so it can handle setting its pending download id.
        * WebKit2.xcodeproj/project.pbxproj:
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        Avoid dereferencing a pointer if the NetworkSession hadn't been created when a NetworkLoad starts.
        This shouldn't be possible, but it's good to not assume that all pointers are non-null.
        (WebKit::NetworkLoad::cancel):
        Add a null check in case the constructor doesn't make m_task.
        (WebKit::NetworkLoad::convertTaskToDownload):
        (WebKit::NetworkLoad::setPendingDownloadID):
        Added for downloads that start with startDownload.  The pending DownloadID is used to indicate that
        this request should always become a download, regardless of whether or not the response has a 
        Content-Disposition header.
        (WebKit::NetworkLoad::willPerformHTTPRedirection):
        (WebKit::NetworkLoad::didReceiveResponse):
        * NetworkProcess/NetworkLoad.h:
        There's no need to store a DownloadID here.  It's stored in the NetworkDataTask (m_task).
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkDataTask::client):
        (WebKit::NetworkDataTask::pendingDownloadID):
        (WebKit::NetworkDataTask::setPendingDownloadID):
        (WebKit::NetworkDataTask::downloadID): Deleted.
        (WebKit::NetworkDataTask::setDownloadID): Deleted.
        Renamed downloadID and setDownloadID to pendingDownloadID and setPendingDownloadID, respectively,
        to indicate their use.  They are not the current downloadID, but they are the downloadID of the download
        that will happen once the response is received and PolicyDownload will be returned in the completion handler.
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
        Call dataTaskBecameDownloadTask after didBecomeDownload because the networkDataTask is deleted by removing it 
        from m_pendingDownloads in dataTaskBecameDownloadTask.

2016-01-06  Simon Fraser  <simon.fraser@apple.com>

        Add a setting and preferences to enable display-list drawing. Does nothing yet.
        https://bugs.webkit.org/show_bug.cgi?id=152807

        Reviewed by Zalan Bujtas.
        
        WK2 debug pref for display-list drawing, defaults to off.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _displayListDrawingEnabled]):
        (-[WKPreferences _setDisplayListDrawingEnabled:]):
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2016-01-06  Daniel Bates  <dabates@apple.com>

        Use code signed identifier as part of user directory suffix
        https://bugs.webkit.org/show_bug.cgi?id=152310
        <rdar://problem/13352225>

        As pointed out by Sam Weinig, the year is 2016! I inadvertently added the copyright year 2015 instead of 2016.

        * Shared/mac/ChildProcessMac.mm:

2016-01-06  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)
        https://bugs.webkit.org/show_bug.cgi?id=152803
        rdar://problem/22242515

        Reviewed by Tim Horton.

        You can't assume that if an author uses overflow:hidden on the body, they have no
        content outside the body that is important. Sites like Google Translate put
        abspos elements outside the body.
        
        So revert the change.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mainFrameDidLayout): Go back to using contents size.

2016-01-06  Anders Carlsson  <andersca@apple.com>

        Add a smart block pointer
        https://bugs.webkit.org/show_bug.cgi?id=152799

        Reviewed by Tim Horton.

        Use WTF::BlockPtr.

        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
        (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
        (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
        (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):

2016-01-06  Daniel Bates  <dabates@apple.com>

        Use code signed identifier as part of user directory suffix
        https://bugs.webkit.org/show_bug.cgi?id=152310
        <rdar://problem/13352225>

        Reviewed by Brent Fulgham.

        * Shared/mac/ChildProcessMac.mm:
        (WebKit::findSecCodeForProcess): Added.
        (WebKit::ChildProcess::initializeSandbox): Modified to use an identifier
        from the code signature of the app/tool as part of the user directory suffix.

2016-01-06  Brian Burg  <bburg@apple.com>

        Add a WebKit SPI for registering an automation controller with RemoteInspector
        https://bugs.webkit.org/show_bug.cgi?id=151576

        Reviewed by Dan Bernstein and Joseph Pecoraro.

        _WKAutomationDelegate is a new SPI that allows WKProcessPool clients to decide
        policy and implement actions for remote automation.

        The SPI's implementation connects the client's delegate to RemoteInspector::Client.
        This allows the delegate to handle some commands, such as requestAutomationSession,
        that come over XPC from an external test runner but are not associated with a specific
        automation target.

        * PlatformMac.cmake:
        * UIProcess/API/APIAutomationClient.h: Added. Boilerplate for WebKit::AutomationClient.
        (API::AutomationClient::~AutomationClient):
        (API::AutomationClient::allowsRemoteAutomation):
        (API::AutomationClient::requestAutomationSession):
        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _automationDelegate]): Added.
        (-[WKProcessPool _setAutomationDelegate:]): Added.
        (-[WKProcessPool _automationCapabilitiesDidChange]): Added.
        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Add delegate.
        * UIProcess/API/Cocoa/_WKAutomationDelegate.h: Added.

            This is a new delegate SPI of WKProcessPool; it corresponds to AutomationClient.

        * UIProcess/Cocoa/AutomationClient.h: Added.
        * UIProcess/Cocoa/AutomationClient.mm: Added.

            This implements a bridge between RemoteInspector::Client and _WKAutomationDelegate.
            Since the delegate can be called from JavaScriptCore, save the delegating
            WKProcessPool and pass it as the self parameter to delegate methods.

        (WebKit::AutomationClient::AutomationClient):
        (WebKit::AutomationClient::~AutomationClient):

            This client automatically registers and unregisters as a RemoteInspector::Client.

        (WebKit::AutomationClient::remoteAutomationAllowed):
        (WebKit::AutomationClient::requestAutomationSession):

            Forward requests from RemoteInspector to the automation delegate.

        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::WebProcessPool):
        (WebKit::WebProcessPool::setAutomationClient): Added.
        (WebKit::WebProcessPool::updateAutomationCapabilities): Added, it notifies RemoteInspector.
        * UIProcess/WebProcessPool.h:
        * WebKit2.xcodeproj/project.pbxproj:

2016-01-06  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Set WebKit2 process output name
        https://bugs.webkit.org/show_bug.cgi?id=152773

        Reviewed by Benjamin Poulain.

        If we add *WebKit* prefix to each WK2 process, it is more clear when checking what process is running.
        So this patch sets wk2 process output name.

        * PlatformEfl.cmake:

2016-01-05  Alex Christensen  <achristensen@webkit.org>

        Implement defersLoading with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=151818

        Reviewed by Darin Adler.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        (WebKit::NetworkLoad::setDefersLoading):
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkDataTask::resume):
        (WebKit::NetworkDataTask::suspend):

2016-01-05  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r192432): Keyboard repeat doesn't work anymore for arrow keys/spacebar
        https://bugs.webkit.org/show_bug.cgi?id=152767
        <rdar://problem/24017380>

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
        Instead of always bailing, call [super _handleKeyUIEvent:] if we aren't
        in an editable area, because we won't have done so in _handleKeyUIEvent.

        It's important that the event makes it to the root UIResponder (even if
        we handled it!) for key repeat to function.

        The double-scrolling case is still fixed because we notice the resent
        event coming back in to us and bail if we've already seen it.

2016-01-05  Jer Noble  <jer.noble@apple.com>

        [Mac] Exiting fullscreen via Mission Control leaves fullcreen window frontmost on desktop
        https://bugs.webkit.org/show_bug.cgi?id=152733

        Reviewed by Eric Carlson.

        Rather than ignore -windowDidExitFullScreen: notifications when fullscreen exit was
        not initiated by WebKit (and the -window:startCustomAnimationToEnterFullScreenWithDuration:
        method was not called), continue to exit fullscreen normally.

        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

2016-01-05  Alex Christensen  <achristensen@webkit.org>

        Clean up download code
        https://bugs.webkit.org/show_bug.cgi?id=152739

        Reviewed by Brady Eidson.

        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::DownloadManager):
        (WebKit::DownloadManager::didCreateDownload):
        (WebKit::DownloadManager::didDestroyDownload):
        (WebKit::DownloadManager::downloadProxyConnection):
        (WebKit::DownloadManager::downloadsAuthenticationManager):
        * NetworkProcess/Downloads/DownloadManager.h:
        Keep a Client& instead of a Client*.
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::downloadManager):
        * NetworkProcess/NetworkSession.h:
        m_sessionID is not used. There is no need to store the sessionID if it is only used in the NetworkSession constructor.
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::defaultSession):
        (WebKit::NetworkSession::NetworkSession):

2016-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Allow to save and restore session
        https://bugs.webkit.org/show_bug.cgi?id=115600

        Reviewed by Michael Catanzaro.

        Add new API to get and resore the web view session state.

        * PlatformGTK.cmake: Add new files to compilation.
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_session_state): Create a new
        WebKitWebViewSessionState representing the current session state.
        (webkit_web_view_restore_session_state): Restore the web view
        session state from the given WebKitWebViewSessionState.
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/WebKitWebViewSessionState.cpp: Added.
        (_WebKitWebViewSessionState::_WebKitWebViewSessionState):
        (toExternalURLsPolicy):
        (toWebCoreExternalURLsPolicy):
        (toHTMLBodyElementType):
        (toHTTPBodyElementType):
        (encodeHTTPBody):
        (encodeFrameState):
        (encodePageState):
        (encodeBackForwardListItemState):
        (encodeBackForwardListState):
        (encodeSessionState):
        (decodeHTTPBody):
        (decodeFrameState):
        (decodeBackForwardListItemState):
        (decodeSessionState):
        (webkitWebViewSessionStateCreate):
        (webkitWebViewSessionStateGetSessionState):
        (webkit_web_view_session_state_new): Create a
        WebKitWebViewSessionState from serialized data.
        (webkit_web_view_session_state_ref):
        (webkit_web_view_session_state_unref):
        (webkit_web_view_session_state_serialize): Serialize the WebKitWebViewSessionState.
        * UIProcess/API/gtk/WebKitWebViewSessionState.h: Added.
        * UIProcess/API/gtk/WebKitWebViewSessionStatePrivate.h: Added.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_web_view_session_state_get_type.
        * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewSessionState.h.

2016-01-04  Alex Christensen  <achristensen@webkit.org>

        Use unique_ptr for NetworkDataTasks and references for NetworkSessionTaskClients
        https://bugs.webkit.org/show_bug.cgi?id=152724

        Reviewed by Andy Estes.

        There is no reason to have a NetworkSessionTaskClient* instead of a 
        NetworkSessionTaskClient& just so we can clear it in the NetworkLoad destructor, 
        which immediately calls ~NetworkDataTask.
        Also, NetworkDataTasks are owned only by the NetworkLoad, so there's no reason to refcount them.

        * NetworkProcess/Downloads/Download.h:
        * NetworkProcess/Downloads/DownloadManager.h:
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::~NetworkLoad):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
        (WebKit::NetworkDataTask::client):
        (WebKit::NetworkDataTask::downloadID):
        (WebKit::NetworkDataTask::setDownloadID):
        (WebKit::NetworkDataTask::clearClient): Deleted.
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
        (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
        (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
        (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
        (WebKit::NetworkSession::~NetworkSession):
        (WebKit::NetworkSession::createDataTaskWithRequest):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkDataTask::NetworkDataTask):

2016-01-04  Alex Christensen  <achristensen@webkit.org>

        Progress towards implementing downloads with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=152716

        Reviewed by Brady Eidson.

        * NetworkProcess/Downloads/Download.h:
        * NetworkProcess/Downloads/DownloadID.h:
        (WebKit::DownloadID::DownloadID):
        (WebKit::DownloadID::operator==):
        (WebKit::DownloadID::operator!=):
        (WebKit::DownloadID::downloadID):
        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::startDownload):
        * NetworkProcess/Downloads/DownloadManager.h:
        (WebKit::DownloadManager::download):
        (WebKit::DownloadManager::isDownloading):
        * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
        (WebKit::Download::resume):
        (WebKit::Download::platformInvalidate):
        (WebKit::Download::platformDidFinish):
        (WebKit::Download::start): Deleted.
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
        (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
        (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
        (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
        (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
        (-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):

        When using NSURLSession, a data task is converted to a download task after the connection has already
        been established, the headers have been received, and WebCore looks at the response and decides that
        this connection should become a download.  We call the didReceiveResponse to match the behavior of 
        NSURLDownload, but this could be cleaned up later to match what is actually happening.  We also do not
        need to tell the download to start because it has already started.

        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkSession::addDownloadID):
        (WebKit::NetworkSession::downloadID):
        (WebKit::NetworkSession::takeDownloadID):
        (WebKit::NetworkDataTask::NetworkDataTask):

        NSURLSessionDownloadTask taskIdentifiers are unique to that NSURLSession, but we have one global DownloadManager
        in the NetworkProcess.  We need to have each NetworkSession keep a map of taskIdentifiers to global DownloadID.

2016-01-04  Tim Horton  <timothy_horton@apple.com>

        Turn on gesture events when building for Yosemite
        https://bugs.webkit.org/show_bug.cgi?id=152704
        rdar://problem/24042472

        Reviewed by Anders Carlsson.

        * Configurations/FeatureDefines.xcconfig:

2016-01-04  Tim Horton  <timothy_horton@apple.com>

        Hardware keyboard key-commands stop responding when viewing PDFs
        https://bugs.webkit.org/show_bug.cgi?id=152712
        <rdar://problem/23014457>

        Reviewed by Dan Bernstein.

        Maintain first responder status through any content view swapping, by
        making WKWebView become first responder if needed, and pushing first
        responder status down to the swapped-in content view if possible.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView becomeFirstResponder]):
        Make the current content view first responder instead of the WKContentView,
        in case we have a custom content view installed.

        (-[WKWebView canBecomeFirstResponder]):
        WKWebView can always become first responder, even if none of its children can.
        This makes it so that if a custom content view can't become first responder,
        WKWebView will take the responsibility.

        (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
        Return the responsibility of being first responder to the newly-installed
        content view if WKWebView is currently the first responder (either because
        of tab switching or because the previous content view did not support
        being first responder), if it supports being first responder.

2016-01-04  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r194544.
        https://bugs.webkit.org/show_bug.cgi?id=152711

        This change caused assertions in existing inspector tests
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Web Inspector: reproducible debug ASSERT when inspecting the
        inspector (WK2)"
        https://bugs.webkit.org/show_bug.cgi?id=152080
        http://trac.webkit.org/changeset/194544

2016-01-04  Alex Christensen  <achristensen@webkit.org>

        Fix Mac CMake build after r194378.

        * CMakeLists.txt:

2016-01-04  Brian Burg  <bburg@apple.com>

        Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2)
        https://bugs.webkit.org/show_bug.cgi?id=152080

        Reviewed by Timothy Hatcher.

        We hit an assert underneath ChildProcessProxy::addMessageReceiver when opening Inspector[2]
        because we try to add WebInpectorProxy as a message receiver twice for the same process.

        On investigating, I found several interrelated issues that caused this state of affairs:

         - WebInspectorProxy adds message receivers for inspector page's WebProcess and the
        inspected page's WebProcess. When inspecting the inspector, we mistakenly add a receiver
        again because the inspector is now the inspected page.
         - We mixed up process ids when adding message receivers.
         - invalidate() is re-entrant, causing us to try and double-remove the message receiver.

        Fix this by removing add/remove of message recievers for the inspector page when then
        inspected page is itself an inspector page. In that case, the receivers are managed by
        the inspector page's WebInspectorProxy instance.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::invalidate): Re-arrange to guard against useless reentrancy.
        (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
        (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
        (WebKit::WebInspectorProxy::didClose):

2016-01-04  Alex Christensen  <achristensen@webkit.org>

        Build fix after r194536 when using NetworkSession.

        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::dataTaskBecameDownloadTask):
        (WebKit::DownloadManager::convertHandleToDownload):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
        WTFMove changed underneath me.

2016-01-04  Alex Christensen  <achristensen@webkit.org>

        Progress towards implementing downloads with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=152576

        Reviewed by Brady Eidson.

        * NetworkProcess/Downloads/Download.cpp:
        (WebKit::Download::Download):
        (WebKit::Download::~Download):
        (WebKit::Download::didStart):
        (WebKit::Download::didReceiveAuthenticationChallenge):
        * NetworkProcess/Downloads/Download.h:
        (WebKit::Download::downloadID):
        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::startDownload):
        (WebKit::DownloadManager::dataTaskBecameDownloadTask):
        (WebKit::DownloadManager::convertHandleToDownload):
        * NetworkProcess/Downloads/DownloadManager.h:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::convertTaskToDownload):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkDataTask::client):
        (WebKit::NetworkDataTask::clearClient):
        (WebKit::NetworkDataTask::downloadID):
        (WebKit::NetworkDataTask::setDownloadID):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):

2016-01-04  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Rename _WebKitWebContextPrivate.context to _WebKitWebContextPrivate.processPool
        https://bugs.webkit.org/show_bug.cgi?id=152672

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
        (attachDownloadClientToContext):
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (attachInjectedBundleClientToContext):
        * UIProcess/API/gtk/WebKitSecurityManager.cpp:
        (registerSecurityPolicyForURIScheme):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextConstructed):
        (webkitWebContextDispose):
        (webkit_web_context_set_cache_model):
        (webkit_web_context_get_cache_model):
        (webkit_web_context_clear_cache):
        (webkit_web_context_get_cookie_manager):
        (ensureFaviconDatabase):
        (webkit_web_context_set_favicon_database_directory):
        (webkit_web_context_set_additional_plugins_directory):
        (webkitWebContextGetPluginThread):
        (webkit_web_context_set_tls_errors_policy):
        (webkit_web_context_set_disk_cache_directory):
        (webkit_web_context_prefetch_dns):
        (webkit_web_context_allow_tls_certificate_for_host):
        (webkit_web_context_set_process_model):
        (webkit_web_context_set_web_process_count_limit):
        (webkitWebContextStartDownload):
        (webkitWebContextGetProcessPool):
        (webkitWebContextCreatePageForWebView):
        (webkitWebContextGetContext): Deleted.
        * UIProcess/API/gtk/WebKitWebContextPrivate.h:

2016-01-03  Simon Fraser  <simon.fraser@apple.com>

        Rename scrollPosition(Scrollbar*) to scrollOffset(ScrollbarOrientation)
        https://bugs.webkit.org/show_bug.cgi?id=152666

        Reviewed by Dan Bernstein.

        Scrollbar values take offsets (zero-based), so rename the accessor used
        by scrollbars to set their value, and pass in an orientation, rather than
        a pointer to the scrollbar.

        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::scrollOffset):
        (WebKit::PDFPlugin::scrollPosition): Renamed.

2015-12-31  Andy Estes  <aestes@apple.com>

        Replace WTF::move with WTFMove
        https://bugs.webkit.org/show_bug.cgi?id=152601

        Reviewed by Brady Eidson.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::fetchWebsiteData):
        (WebKit::DatabaseProcess::deleteWebsiteData):
        (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
        (WebKit::DatabaseProcess::indexedDatabaseOrigins):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::postTransactionOperation):
        (WebKit::UniqueIDBDatabase::postMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask):
        * NetworkProcess/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::startDownload):
        (WebKit::DownloadManager::convertHandleToDownload):
        (WebKit::DownloadManager::resumeDownload):
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
        (WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::registerBlobURL):
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
        (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::didReceiveData):
        (WebKit::NetworkLoad::didReceiveBuffer):
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::fetchDiskCacheEntries):
        (WebKit::NetworkProcess::fetchWebsiteData):
        (WebKit::NetworkProcess::deleteWebsiteData):
        (WebKit::clearDiskCacheEntries):
        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::retrieveCacheEntry):
        (WebKit::NetworkResourceLoader::didFinishLoading):
        (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
        (WebKit::NetworkResourceLoader::validateCacheEntry):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::retrieve):
        (WebKit::NetworkCache::Cache::store):
        (WebKit::NetworkCache::Cache::clear):
        * NetworkProcess/cache/NetworkCacheCoders.h:
        * NetworkProcess/cache/NetworkCacheDataSoup.cpp:
        (WebKit::NetworkCache::Data::empty):
        (WebKit::NetworkCache::Data::subrange):
        (WebKit::NetworkCache::concatenate):
        (WebKit::NetworkCache::Data::adoptMap):
        * NetworkProcess/cache/NetworkCacheEntry.cpp:
        (WebKit::NetworkCache::Entry::Entry):
        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
        (WebKit::NetworkCache::runTaskInQueue):
        (WebKit::NetworkCache::fillDataFromReadBuffer):
        (WebKit::NetworkCache::IOChannel::readSyncInThread):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
        (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
        (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
        (WebKit::NetworkCache::SpeculativeLoad::didComplete):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
        (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::takeCacheEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::setExistingSubresourcesEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
        (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
        * NetworkProcess/cache/NetworkCacheStatistics.cpp:
        (WebKit::NetworkCache::Statistics::queryWasEverRequested):
        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::ReadOperation::finish):
        (WebKit::NetworkCache::Storage::synchronize):
        (WebKit::NetworkCache::Storage::dispatchReadOperation):
        (WebKit::NetworkCache::Storage::dispatchWriteOperation):
        (WebKit::NetworkCache::Storage::retrieve):
        (WebKit::NetworkCache::Storage::store):
        (WebKit::NetworkCache::Storage::traverse):
        (WebKit::NetworkCache::Storage::clear):
        * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
        (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
        (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceKeys):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkDataTask::NetworkDataTask):
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::clearDiskCache):
        * Platform/IPC/ArgumentCoders.h:
        (IPC::ArgumentCoder<WTF::Optional<T>>::decode):
        * Platform/IPC/ArgumentDecoder.cpp:
        (IPC::ArgumentDecoder::ArgumentDecoder):
        * Platform/IPC/ArgumentEncoder.cpp:
        (IPC::ArgumentEncoder::addAttachment):
        (IPC::ArgumentEncoder::releaseAttachments):
        * Platform/IPC/Attachment.cpp:
        (IPC::Attachment::encode):
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::SyncMessageState::processIncomingMessage):
        (IPC::Connection::SyncMessageState::dispatchMessages):
        (IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
        (IPC::Connection::sendMessage):
        (IPC::Connection::sendSyncReply):
        (IPC::Connection::waitForMessage):
        (IPC::Connection::sendSyncMessage):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::waitForSyncReply):
        (IPC::Connection::processIncomingSyncReply):
        (IPC::Connection::processIncomingMessage):
        (IPC::Connection::sendOutgoingMessages):
        (IPC::Connection::dispatchSyncMessage):
        (IPC::Connection::enqueueIncomingMessage):
        (IPC::Connection::dispatchOneMessage):
        * Platform/IPC/Connection.h:
        (IPC::Connection::Identifier::Identifier):
        (IPC::Connection::send):
        (IPC::Connection::sendSync):
        * Platform/IPC/HandleMessage.h:
        (IPC::handleMessage):
        (IPC::handleMessageDelayed):
        * Platform/IPC/MessageDecoder.cpp:
        (IPC::MessageDecoder::MessageDecoder):
        (IPC::MessageDecoder::setImportanceAssertion):
        (IPC::MessageDecoder::unwrapForTesting):
        * Platform/IPC/MessageDecoder.h:
        (IPC::MessageDecoder::setMessageProcessingToken):
        * Platform/IPC/MessageEncoder.cpp:
        (IPC::MessageEncoder::wrapForTesting):
        * Platform/IPC/MessageRecorder.cpp:
        (IPC::MessageRecorder::recordOutgoingMessage):
        (IPC::MessageRecorder::recordIncomingMessage):
        (IPC::MessageRecorder::MessageProcessingToken::MessageProcessingToken):
        * Platform/IPC/MessageSender.cpp:
        (IPC::MessageSender::sendMessage):
        * Platform/IPC/MessageSender.h:
        (IPC::MessageSender::send):
        (IPC::MessageSender::sendSync):
        * Platform/IPC/glib/GSocketMonitor.cpp:
        (IPC::GSocketMonitor::start):
        * Platform/IPC/mac/ConnectionMac.mm:
        (IPC::Connection::open):
        (IPC::createMessageDecoder):
        (IPC::Connection::receiveSourceEventHandler):
        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::processMessage):
        * Platform/unix/SharedMemoryUnix.cpp:
        (WebKit::SharedMemory::Handle::decode):
        (WebKit::SharedMemory::Handle::releaseAttachment):
        (WebKit::SharedMemory::Handle::adoptAttachment):
        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
        (WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::initializePluginProcess):
        * PluginProcess/WebProcessConnection.cpp:
        (WebKit::WebProcessConnection::addPluginControllerProxy):
        (WebKit::WebProcessConnection::createPluginInternal):
        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::PluginProcess::platformInitializePluginProcess):
        * Scripts/webkit/LegacyMessageReceiver-expected.cpp:
        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
        (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
        * Scripts/webkit/MessageReceiver-expected.cpp:
        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
        (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
        * Scripts/webkit/messages.py:
        (generate_message_handler):
        * Shared/API/APIArray.cpp:
        (API::Array::create):
        (API::Array::createStringArray):
        (API::Array::copy):
        * Shared/API/APIArray.h:
        * Shared/API/APIDictionary.cpp:
        (API::Dictionary::create):
        (API::Dictionary::Dictionary):
        (API::Dictionary::keys):
        * Shared/API/APIPageGroupHandle.cpp:
        (API::PageGroupHandle::create):
        (API::PageGroupHandle::PageGroupHandle):
        (API::PageGroupHandle::decode):
        * Shared/API/APIString.h:
        * Shared/API/APIURL.h:
        (API::URL::create):
        (API::URL::URL):
        * Shared/API/Cocoa/RemoteObjectInvocation.h:
        (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
        * Shared/API/Cocoa/RemoteObjectInvocation.mm:
        (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
        (WebKit::RemoteObjectInvocation::decode):
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (ensureObjectStream):
        (createEncodedObject):
        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (initializeMethod):
        (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:ofReply:]):
        * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
        (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
        * Shared/API/c/WKArray.cpp:
        (WKArrayCreate):
        (WKArrayCreateAdoptingValues):
        * Shared/API/c/WKDictionary.cpp:
        (WKDictionaryCreate):
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::ProxyingRefPtr::ProxyingRefPtr):
        * Shared/APIWebArchive.mm:
        (API::WebArchive::WebArchive):
        (API::WebArchive::subresources):
        (API::WebArchive::subframeArchives):
        * Shared/AsyncRequest.cpp:
        (WebKit::AsyncRequest::AsyncRequest):
        (WebKit::AsyncRequest::setAbortHandler):
        * Shared/AsyncRequest.h:
        * Shared/BlockingResponseMap.h:
        (BlockingResponseMap::didReceiveResponse):
        * Shared/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::sendMessage):
        (WebKit::ChildProcessProxy::didFinishLaunching):
        * Shared/ChildProcessProxy.h:
        (WebKit::ChildProcessProxy::send):
        (WebKit::ChildProcessProxy::sendSync):
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::dispatchOnMainThread):
        (WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop):
        (WebKit::CoordinatedGraphicsScene::createLayer):
        (WebKit::CoordinatedGraphicsScene::syncRemoteContent):
        (WebKit::CoordinatedGraphicsScene::appendUpdate):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
        (WebKit::ThreadSafeCoordinatedSurface::create):
        (WebKit::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::CompositingRunLoop::CompositingRunLoop):
        (WebKit::CompositingRunLoop::callOnCompositingRunLoop):
        (WebKit::ThreadedCompositor::callOnCompositingThread):
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
        (WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
        (WebKit::XPCServiceInitializer):
        * Shared/Plugins/Netscape/PluginInformation.cpp:
        (WebKit::createPluginInformationDictionary):
        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
        (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
        * Shared/SessionTracker.cpp:
        (WebKit::SessionTracker::setSession):
        * Shared/UserData.cpp:
        (WebKit::UserData::UserData):
        (WebKit::transformGraph):
        (WebKit::UserData::decode):
        * Shared/WebBackForwardListItem.cpp:
        (WebKit::WebBackForwardListItem::create):
        (WebKit::WebBackForwardListItem::WebBackForwardListItem):
        * Shared/WebBackForwardListItem.h:
        (WebKit::WebBackForwardListItem::setPageState):
        * Shared/WebCompiledContentExtension.cpp:
        (WebKit::WebCompiledContentExtension::create):
        (WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
        * Shared/WebCompiledContentExtensionData.h:
        (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::submenuItemsAsAPIArray):
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<UserStyleSheet>::decode):
        (IPC::ArgumentCoder<UserScript>::decode):
        (IPC::ArgumentCoder<FilterOperations>::decode):
        (IPC::ArgumentCoder<BlobPart>::decode):
        * Shared/WebKeyboardEvent.cpp:
        (WebKit::WebKeyboardEvent::WebKeyboardEvent):
        * Shared/WebPreferencesStore.h:
        (WebKit::WebPreferencesStore::Value::Value):
        * Shared/WebRenderLayer.cpp:
        (WebKit::WebRenderLayer::createArrayFromLayerList):
        * Shared/WebRenderObject.cpp:
        (WebKit::WebRenderObject::WebRenderObject):
        * Shared/WebTouchEvent.cpp:
        (WebKit::WebTouchEvent::WebTouchEvent):
        * Shared/efl/WebEventFactory.cpp:
        (WebKit::WebEventFactory::createWebTouchEvent):
        * Shared/gtk/NativeWebKeyboardEventGtk.cpp:
        (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
        * Shared/gtk/NativeWebTouchEventGtk.cpp:
        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
        * Shared/gtk/WebContextMenuItemGtk.cpp:
        (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk):
        * Shared/gtk/WebEventFactory.cpp:
        (WebKit::WebEventFactory::createWebKeyboardEvent):
        (WebKit::WebEventFactory::createWebTouchEvent):
        * Shared/linux/SeccompFilters/OpenSyscall.cpp:
        (WebKit::OpenSyscall::createFromOpenatContext):
        (WebKit::OpenSyscall::createFromCreatContext):
        (WebKit::OpenSyscallResult::encode):
        * Shared/mac/ObjCObjectGraph.mm:
        (WebKit::ObjCObjectGraph::decode):
        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::takeFrontContextPendingFlush):
        (WebKit::RemoteLayerBackingStore::Buffer::discard):
        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::setCallbackIDs):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
        (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
        (WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/APISessionState.cpp:
        (API::SessionState::create):
        (API::SessionState::SessionState):
        * UIProcess/API/APIUserContentExtension.cpp:
        (API::UserContentExtension::UserContentExtension):
        * UIProcess/API/APIUserContentExtension.h:
        * UIProcess/API/APIUserContentExtensionStore.cpp:
        (API::compiledToFile):
        (API::createExtension):
        (API::UserContentExtensionStore::compileContentExtension):
        * UIProcess/API/APIUserScript.h:
        * UIProcess/API/APIWebsiteDataRecord.cpp:
        (API::WebsiteDataRecord::create):
        (API::WebsiteDataRecord::WebsiteDataRecord):
        * UIProcess/API/APIWebsiteDataStore.cpp:
        (API::WebsiteDataStore::create):
        (API::WebsiteDataStore::WebsiteDataStore):
        * UIProcess/API/C/WKApplicationCacheManager.cpp:
        (WKApplicationCacheManagerGetApplicationCacheOrigins):
        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
        (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
        (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageCopySessionState):
        (WKPageRestoreFromSessionState):
        (WKPageSetPageContextMenuClient):
        (WKPageSetPageFindMatchesClient):
        (WKPageSetPageLoaderClient):
        (WebKit::RunJavaScriptAlertResultListener::create):
        (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
        (WebKit::RunJavaScriptConfirmResultListener::create):
        (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
        (WebKit::RunJavaScriptPromptResultListener::create):
        (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
        (WKPageSetPageUIClient):
        (WKPageSetPageNavigationClient):
        (WKPageCopyRelatedPages):
        * UIProcess/API/C/WKResourceCacheManager.cpp:
        (WKResourceCacheManagerGetCacheOrigins):
        * UIProcess/API/C/WKSessionStateRef.cpp:
        (WKSessionStateCreateFromData):
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetInfoForInstalledPlugIns):
        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (-[WKObservablePageState initWithPage:]):
        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
        (createWKArray):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView _takeViewSnapshot]):
        (-[WKWebView _restoreFromSessionStateData:]):
        (-[WKWebView _setInputDelegate:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (LazyInitialized::set):
        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
        (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
        (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
        * UIProcess/API/Cocoa/_WKSessionState.mm:
        (-[_WKSessionState _initWithSessionState:]):
        * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
        (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
        * UIProcess/API/efl/ewk_database_manager.cpp:
        (EwkDatabaseManager::getDatabaseOrigins):
        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        (webkitContextMenuItemToWebContextMenuItemGtk):
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_select_files):
        * UIProcess/API/gtk/WebKitNotificationProvider.cpp:
        (WebKitNotificationProvider::notificationCloseCallback):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_prefetch_dns):
        (webkitWebContextCreatePageForWebView):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_snapshot):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseTouchEvent):
        (webkitWebViewBaseCreateWebPage):
        * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
        (webkitWebsiteDataManagerCreate):
        (webkitWebsiteDataManagerGetDataStore):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        (-[WKView initWithFrame:configurationRef:]):
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::tryAppLink):
        (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
        (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::takeViewSnapshot):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
        (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::fetchWebsiteData):
        (WebKit::DatabaseProcessProxy::deleteWebsiteData):
        (WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins):
        * UIProcess/GenericCallback.h:
        (WebKit::CallbackMap::put):
        * UIProcess/InspectorServer/WebSocketServer.cpp:
        (WebKit::WebSocketServer::didAcceptConnection):
        * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
        (WebKit::connectionCallback):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::fetchWebsiteData):
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        (WebKit::WebNotificationProvider::clearNotifications):
        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::Transaction::Transaction):
        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
        * UIProcess/Plugins/PluginProcessManager.cpp:
        (WebKit::PluginProcessManager::pluginProcessToken):
        (WebKit::PluginProcessManager::fetchWebsiteData):
        (WebKit::PluginProcessManager::deleteWebsiteData):
        (WebKit::PluginProcessManager::deleteWebsiteDataForHostNames):
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::fetchWebsiteData):
        (WebKit::PluginProcessProxy::deleteWebsiteData):
        (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames):
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::StatisticsRequest::completedRequest):
        * UIProcess/Storage/LocalStorageDatabase.cpp:
        (WebKit::LocalStorageDatabase::create):
        (WebKit::LocalStorageDatabase::LocalStorageDatabase):
        * UIProcess/Storage/StorageManager.cpp:
        (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
        (WebKit::StorageManager::StorageArea::create):
        (WebKit::StorageManager::StorageArea::StorageArea):
        (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
        (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
        (WebKit::StorageManager::getSessionStorageOrigins):
        (WebKit::StorageManager::getLocalStorageOrigins):
        (WebKit::StorageManager::getLocalStorageOriginDetails):
        (WebKit::StorageManager::createTransientLocalStorageMap):
        (WebKit::StorageManager::createSessionStorageMap):
        * UIProcess/UserContent/WebScriptMessageHandler.cpp:
        (WebKit::WebScriptMessageHandler::create):
        (WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
        * UIProcess/ViewGestureController.cpp:
        (WebKit::ViewGestureController::SnapshotRemovalTracker::start):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackImmediately):
        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::addItem):
        (WebKit::WebBackForwardList::backListAsAPIArrayWithLimit):
        (WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit):
        (WebKit::WebBackForwardList::removeAllItems):
        (WebKit::WebBackForwardList::clear):
        (WebKit::WebBackForwardList::restoreFromState):
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
        * UIProcess/WebFormClient.cpp:
        (WebKit::WebFormClient::willSubmitForm):
        * UIProcess/WebFrameListenerProxy.h:
        (WebKit::WebFrameListenerProxy::setNavigation):
        * UIProcess/WebFrameProxy.h:
        (WebKit::WebFrameProxy::contentFilterDidBlockLoad):
        * UIProcess/WebGrammarDetail.cpp:
        (WebKit::WebGrammarDetail::guesses):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebMediaCacheManagerProxy.cpp:
        (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::ExceededDatabaseQuotaRecords::add):
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setHistoryClient):
        (WebKit::WebPageProxy::setNavigationClient):
        (WebKit::WebPageProxy::setLoaderClient):
        (WebKit::WebPageProxy::setPolicyClient):
        (WebKit::WebPageProxy::setFormClient):
        (WebKit::WebPageProxy::setUIClient):
        (WebKit::WebPageProxy::setFindClient):
        (WebKit::WebPageProxy::setFindMatchesClient):
        (WebKit::WebPageProxy::setDiagnosticLoggingClient):
        (WebKit::WebPageProxy::setContextMenuClient):
        (WebKit::WebPageProxy::reattachToWebProcessForReload):
        (WebKit::WebPageProxy::reattachToWebProcessWithItem):
        (WebKit::WebPageProxy::loadRequest):
        (WebKit::WebPageProxy::loadFile):
        (WebKit::WebPageProxy::loadData):
        (WebKit::WebPageProxy::loadHTMLString):
        (WebKit::WebPageProxy::reload):
        (WebKit::WebPageProxy::didChangeBackForwardList):
        (WebKit::WebPageProxy::setInitialFocus):
        (WebKit::WebPageProxy::validateCommand):
        (WebKit::WebPageProxy::handleWheelEvent):
        (WebKit::WebPageProxy::processNextQueuedWheelEvent):
        (WebKit::WebPageProxy::restoreFromSessionState):
        (WebKit::WebPageProxy::runJavaScriptInMainFrame):
        (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
        (WebKit::WebPageProxy::getSourceForFrame):
        (WebKit::WebPageProxy::getContentsAsString):
        (WebKit::WebPageProxy::getBytecodeProfile):
        (WebKit::WebPageProxy::getContentsAsMHTMLData):
        (WebKit::WebPageProxy::getSelectionOrContentsAsString):
        (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
        (WebKit::WebPageProxy::getMainResourceDataOfFrame):
        (WebKit::WebPageProxy::getResourceDataFromFrame):
        (WebKit::WebPageProxy::getWebArchiveOfFrame):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::sendMessage):
        (WebKit::WebPageProxy::exceededDatabaseQuota):
        (WebKit::WebPageProxy::getMarkedRangeAsync):
        (WebKit::WebPageProxy::getSelectedRangeAsync):
        (WebKit::WebPageProxy::characterIndexForPointAsync):
        (WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
        (WebKit::WebPageProxy::takeSnapshot):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::setHistoryClient):
        (WebKit::WebProcessPool::setDownloadClient):
        (WebKit::WebProcessPool::createWebPage):
        (WebKit::WebProcessPool::getStatistics):
        (WebKit::WebProcessPool::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        (WebKit::WebProcessProxy::addBackForwardItem):
        (WebKit::WebProcessProxy::fetchWebsiteData):
        * UIProcess/WebsiteData/WebsiteDataRecord.cpp:
        (WebKit::WebsiteDataRecord::add):
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::create):
        (WebKit::WebsiteDataStore::WebsiteDataStore):
        (WebKit::WebsiteDataStore::fetchData):
        (WebKit::WebsiteDataStore::removeData):
        (WebKit::WebsiteDataStore::mediaKeyOrigins):
        * UIProcess/efl/InputMethodContextEfl.cpp:
        (WebKit::InputMethodContextEfl::InputMethodContextEfl):
        * UIProcess/efl/InputMethodContextEfl.h:
        (WebKit::InputMethodContextEfl::create):
        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
        (WebKit::WebContextMenuProxyEfl::showContextMenu):
        * UIProcess/efl/WebUIPopupMenuClient.cpp:
        (WebUIPopupMenuClient::showPopupMenu):
        * UIProcess/gtk/InputMethodFilter.cpp:
        (WebKit::InputMethodFilter::filterKeyEvent):
        * UIProcess/gtk/KeyBindingTranslator.cpp:
        (WebKit::KeyBindingTranslator::commandsForKeyEvent):
        * UIProcess/gtk/RedirectedXCompositeWindow.cpp:
        (WebKit::XDamageNotifier::add):
        (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
        (WebKit::RedirectedXCompositeWindow::surface):
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant showImageSheet]):
        (-[WKActionSheetAssistant showLinkSheet]):
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithProcessPool:configuration:]):
        (-[WKContentView initWithFrame:processPool:configuration:webView:]):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView actionSheetAssistant:decideActionsForElement:defaultActions:]):
        * UIProcess/ios/WKGeolocationProviderIOS.mm:
        (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
        (-[WKGeolocationProviderIOS geolocationAuthorizationDenied]):
        * UIProcess/ios/WKPDFView.mm:
        (-[WKPDFView actionSheetAssistant:decideActionsForElement:defaultActions:]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::selectWithGesture):
        (WebKit::WebPageProxy::updateSelectionWithTouches):
        (WebKit::WebPageProxy::requestAutocorrectionData):
        (WebKit::WebPageProxy::applyAutocorrection):
        (WebKit::WebPageProxy::executeEditCommand):
        (WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
        (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
        (WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
        (WebKit::WebPageProxy::selectPositionAtPoint):
        (WebKit::WebPageProxy::beginSelectionInDirection):
        (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
        (WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
        (WebKit::WebPageProxy::requestDictationContext):
        (WebKit::WebPageProxy::requestAutocorrectionContext):
        (WebKit::WebPageProxy::getLookupContextAtPoint):
        (WebKit::WebPageProxy::selectWithTwoTouches):
        (WebKit::WebPageProxy::moveSelectionByOffset):
        (WebKit::WebPageProxy::focusNextAssistedNode):
        * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface):
        * UIProcess/ios/forms/WKFileUploadPanel.mm:
        (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
        * UIProcess/mac/LegacySessionStateCoding.cpp:
        (WebKit::HistoryEntryDataEncoder::finishEncoding):
        (WebKit::decodeFormData):
        (WebKit::decodeBackForwardTreeNode):
        (WebKit::decodeSessionHistoryEntries):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
        * UIProcess/mac/ViewGestureController.h:
        (WebKit::ViewGestureController::setCustomSwipeViews):
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshot::create):
        (WebKit::ViewSnapshot::ViewSnapshot):
        (WebKit::ViewSnapshot::setSurface):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
        (WebKit::WebPageProxy::fontAtSelection):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (contextMenuItems):
        (WKBundlePageCopyOriginsWithApplicationCache):
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
        (WKBundlePageOverlayCreate):
        * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:
        (EwkExtension::didCreatePage):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (webkitFrameGetOrCreate):
        (didInitiateLoadForResource):
        (willSendRequestForFrame):
        (didReceiveResponseForResource):
        (didReceiveContentLengthForResource):
        (didFinishLoadForResource):
        (didFailLoadForResource):
        (webkitWebPageDidReceiveMessage):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::addUserScript):
        (WebKit::InjectedBundle::addUserStyleSheet):
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
        (WebKit::InjectedBundleBackForwardListItem::children):
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::willSendRequest):
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
        (WebKit::NPN_PostURL):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::scheduleTimer):
        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::convertStringToKeyCodes):
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::PDFPlugin):
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (-[WKPDFHUDAnimationDelegate initWithAnimationCompletionHandler:]):
        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
        (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):
        * WebProcess/Storage/StorageAreaMap.cpp:
        (WebKit::StorageAreaMap::create):
        (WebKit::StorageAreaMap::StorageAreaMap):
        * WebProcess/Storage/StorageNamespaceImpl.cpp:
        (WebKit::StorageNamespaceImpl::storageArea):
        * WebProcess/UserContent/WebUserContentController.cpp:
        (WebKit::WebUserContentController::addUserContentExtensions):
        * WebProcess/WebCoreSupport/SessionStateConversion.cpp:
        (WebKit::toHTTPBody):
        (WebKit::toFrameState):
        (WebKit::applyFrameState):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
        (WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad):
        * WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp:
        (WebKit::WebPasteboardOverrides::addOverride):
        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
        (WebKit::WebEditorClient::executePendingEditorCommands):
        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::findStringMatches):
        * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
        (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::createSubframe):
        (WebKit::WebFrame::create):
        (WebKit::WebFrame::WebFrame):
        (WebKit::WebFrame::didReceivePolicyDecision):
        (WebKit::WebFrame::childFrames):
        (WebKit::WebFrame::createSelectionSnapshot):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setInjectedBundleContextMenuClient):
        (WebKit::WebPage::setInjectedBundleFormClient):
        (WebKit::WebPage::setInjectedBundleUIClient):
        (WebKit::WebPage::trackedRepaintRects):
        (WebKit::WebPage::createDocumentLoader):
        * WebProcess/WebPage/WebPageGroupProxy.cpp:
        (WebKit::WebPageGroupProxy::addUserContentExtension):
        * WebProcess/WebPage/WebPageOverlay.cpp:
        (WebKit::WebPageOverlay::create):
        (WebKit::WebPageOverlay::WebPageOverlay):
        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::computePagesForPrintingAndStartDrawingToPDF):
        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
        (WebKit::PlatformCAAnimationRemote::setTimingFunction):
        (WebKit::PlatformCAAnimationRemote::setValues):
        (WebKit::PlatformCAAnimationRemote::setTimingFunctions):
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::layerWasCreated):
        (WebKit::RemoteLayerTreeContext::buildTransaction):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
        (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
        (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher):
        (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::transformObjectsToHandles):
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):
        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenInterfaceContext::setLayerHostingContext):
        (WebKit::WebVideoFullscreenManager::createModelAndInterface):
        (WebKit::WebVideoFullscreenManager::setSeekableRanges):
        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
        (webkitSoupRequestInputStreamDidFailWithError):

2016-01-01  Simon Fraser  <simon.fraser@apple.com>

        Fix the iOS and EFL builds, after an over-eager commit-queue commit.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::restoreViewState):
        * WebProcess/WebPage/efl/WebPageEfl.cpp:
        (WebKit::WebPage::restorePageState):

2016-01-01  Simon Fraser  <simon.fraser@apple.com>

        Fix naming in HistoryItem to refer to scrollPositions
        https://bugs.webkit.org/show_bug.cgi?id=152646

        Reviewed by Zalan Bujtas.
        
        HistoryItem stores a scrollPosition, so call it that.
        
        No behavior change.

        * Shared/SessionState.cpp:
        (WebKit::FrameState::encode):
        (WebKit::FrameState::decode):
        * Shared/SessionState.h:
        * UIProcess/mac/LegacySessionStateCoding.cpp:
        (WebKit::encodeFrameStateNode):
        (WebKit::decodeBackForwardTreeNode):
        * WebProcess/WebCoreSupport/SessionStateConversion.cpp:
        (WebKit::toFrameState):
        (WebKit::applyFrameState):

2016-01-01  Simon Fraser  <simon.fraser@apple.com>

        Fix reload and programmatic scrolling in RTL documents
        https://bugs.webkit.org/show_bug.cgi?id=152639

        Reviewed by Zalan Bujtas.

        Reloading a left-scrolled RTL document would cause the content to appear
        at an odd offset, and programmatic sideways scrolls in RTL documents also
        jumped to the wrong location.
        
        Fix by resolving offset/position confusion in ScrollableArea::scrollPositionChanged()
        and the scrolling tree.
        
        ScrollableArea::scrollPositionChanged() was erroneously passing a scrollPosition
        to setScrollOffset(). 
        
        ScrollingTreeFrameScrollingNode* were confused about offsets and positions. It
        turns out that the layer position is just -scrollPosition, but minimumScrollPosition()
        and maximumScrollPosition() need fixing to return positions, not offsets.
        
        ScrollingTreeFrameScrollingNode::viewToContentsOffset() was also doing incorrect
        math with scrollOrigin, which was detected by a failing test.
        
        Add more logging to the Scrolling channel.

        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::setScrollOffset):

2016-01-01  Michael Catanzaro  <mcatanzaro@igalia.com>

        [SOUP] REGRESSION(r192761): Broke resource URIs for applications that use g_resource_load in a web extension
        https://bugs.webkit.org/show_bug.cgi?id=152634

        Reviewed by Carlos Garcia Campos.

        Load GResource URIs locally, not in the network process. Applications expect calling
        g_resource_load in a web extension to make it possible to load resource URIs, but that
        doesn't work now that the network process is in use. Loading them locally solves this.

        * WebProcess/Network/WebLoaderStrategy.cpp:
        (WebKit::WebLoaderStrategy::scheduleLoad):

2016-01-01  Jeff Miller  <jeffm@apple.com>

        Update user-visible copyright strings to include 2016
        https://bugs.webkit.org/show_bug.cgi?id=152531

        Reviewed by Alexey Proskuryakov.

        * 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-OSX.plist:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.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-10.9-10.10.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-OSX.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

2015-12-31  Simon Fraser  <simon.fraser@apple.com>

        Rename documentScrollOffsetRelativeTo* functions
        https://bugs.webkit.org/show_bug.cgi?id=152632

        Reviewed by Zalan Bujtas.

        ScrollView::documentScrollOffsetRelativeTo* functions return scroll positions,
        not offsets, so rename them and fix their return types, and fix callers. Make
        their code more similar.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
        (WebKit::WebPage::plugInIntersectsSearchRect):

2015-12-31  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Fix incorrect scrollPosition handling
        https://bugs.webkit.org/show_bug.cgi?id=152630

        Reviewed by Zalan Bujtas.
        
        WebPage::updateVisibleContentRects() was setting the ScrollView's scroll position
        to a scrollOffset, which was counteracted by ScrollView::unobscuredContentRect()
        adding the scrollOrigin to the scrollPosition, which resulted in the correct
        rects, but an incorrect scrollPosition. Fix.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::updateVisibleContentRects):

2015-12-31  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, fix a log message

        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResponse):

2015-12-31  David Kilzer  <ddkilzer@apple.com>

        Stop using USE(CFNETWORK) path on iOS
        https://bugs.webkit.org/show_bug.cgi?id=142540

        Step 1/2: Do everything but turn off USE(CFNETWORK) internally.

        Original patch by Antti Koivisto <antti@apple.com> on 2015-03-10
        Reviewed by Daniel Bates.

        * NetworkProcess/Downloads/ios/DownloadIOS.mm: This is now the
        USE(CFNETWORK) && !USE(NETWORK_SESSION) code path.
        * NetworkProcess/Downloads/mac/DownloadMac.mm: This is now the
        !USE(CFNETWORK) && !USE(NETWORK_SESSION) code path.  Make use of
        NSURLDownloadSPI.h.  Ignore a deprecated delcaration warning now
        that we're using actual header declarations internally.
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeNetworkProcess): Update for
        iOS to use NSURLConnection loader.

2015-12-31  Andy Estes  <aestes@apple.com>

        Fix warnings uncovered by migrating to WTF_MOVE
        https://bugs.webkit.org/show_bug.cgi?id=152601

        Reviewed by Daniel Bates.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::actionsForElement): Moving a return value passed to the function by value is redundant, since it
        will be implicitly moved in this case.
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::actionsForElement): Ditto.

2015-12-30  Simon Fraser  <simon.fraser@apple.com>

        Add explicit conversions between scrollOffset and scrollPostion, and use them in a few places
        https://bugs.webkit.org/show_bug.cgi?id=152594

        Reviewed by Sam Weinig.

        Add functions to ScrollableArea to convert between scrollPosition and scrollOffset,
        and use them in places where code did the math with scrollOrigin.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):

2015-12-30  Zan Dobersek  <zdobersek@igalia.com>

        [TexMap] Clean up TextureMapperAnimation, TextureMapperAnimations
        https://bugs.webkit.org/show_bug.cgi?id=152112

        Reviewed by Darin Adler.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (IPC::ArgumentCoder<TextureMapperAnimation>::decode):

2015-12-29  Simon Fraser  <simon.fraser@apple.com>

        Remove ScrollView::scrollOffset() in preparation for scrollOffset vs. scrollPosition clarification
        https://bugs.webkit.org/show_bug.cgi?id=152589

        Reviewed by Sam Weinig.

        Current code uses scrollOffset vs. scrollPosition interchangeably, and confusingly.
        Longer term, I plan to make "scrollPosition" be the value that is relative to the 
        contents, i.e. affected by scrollOrigin, and "scrollOffset" be the zero-based value
        that's used to set scrollbar values.
        
        To prepare for this, remove ScrollView::scrollOffset(), which is just the
        scrollPosition as an IntSize.
        
        Add some typedefs in ScrollableArea, which will slowly propagate through the
        code as position vs. offset is clarified.

        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
        (WebKit::InjectedBundleRangeHandle::renderedImage):
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::scrollPosition):
        (WebKit::PDFPlugin::minimumScrollPosition):
        (WebKit::PDFPlugin::maximumScrollPosition):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::scrollOffset):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
        (WebKit::WebPage::updateMainFrameScrollOffsetPinning):

2015-12-25  Andy Estes  <aestes@apple.com>

        Stop moving local objects in return statements
        https://bugs.webkit.org/show_bug.cgi?id=152557

        Reviewed by Brady Eidson.

        Calling std::move() on a local object in a return statement prevents the compiler from applying the return value optimization.

        Clang can warn about these mistakes with -Wpessimizing-move, although only when std::move() is called directly.
        I found these issues by temporarily replacing WTF::move with std::move and recompiling.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::ExceededDatabaseQuotaRecords::createRecord):

2015-12-26  Joonghun Park  <jh718.park@samsung.com>

        [WK2][EFL] Use eina_file_path_join at platformDefaultIconDatabasePath in WebProcessPoolEfl
        https://bugs.webkit.org/show_bug.cgi?id=152565

        Reviewed by Gyuyoung Kim.

        Use eina_file_path_join and EINA_PATH_SEP_S at platformDefaultIconDatabasePath
        instead of operator+ and separator "/" respectively
        to concatenate paths.

        * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:
        * UIProcess/efl/WebProcessPoolEfl.cpp:
        (WebKit::WebProcessPool::platformDefaultIconDatabasePath):

2015-12-25  David Kilzer  <ddkilzer@apple.com>

        ResourceError should store failingURL as URL instead of String to avoid reparsing and to address FIXME comments in ResourceErrorCF.cpp and ResourceErrorMac.mm
        <http://webkit.org/b/146391>

        Reviewed by Antti Koivisto.

        * NetworkProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp:
        (WebKit::platformDownloadNetworkError):
        * NetworkProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp:
        (WebKit::platformDownloadNetworkError):
        * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::didReceiveResponse):
        * NetworkProcess/Downloads/soup/DownloadSoupErrors.h:
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
        (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
        (LoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (LoaderClient::didFailLoadWithErrorForFrame):
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkit_uri_scheme_request_finish_error):
        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
        (WebKit::internalError):
        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
        (WebKit::internalError):
        - Update for type change of 'failingURL' argument to
          ResourceError().

2015-12-23  Simon Fraser  <simon.fraser@apple.com>

        Use "constrainedBetween" in more places
        https://bugs.webkit.org/show_bug.cgi?id=152543

        Reviewed by Zalan Bujtas.

        Replace code that contrains points via shrunkTo/expandedTo() with calls
        to constrainedBetween(), and implement constrainedBetween() on IntPoint,
        FloatPoint and LayoutPoint.

        Convert some functions that return points to more modern syntax.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (constrainContentOffset):

2015-12-22  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] ewk_application_cache_manager test failed after r193812
        https://bugs.webkit.org/show_bug.cgi?id=152498

        Reviewed by Gyuyoung Kim.

        Need to enable the offline_web_application_cache for the ewk_application_cache_manager test.

        * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
        (TEST_F):

2015-12-22  Andy Estes  <aestes@apple.com>

        [CF] Replace CFNetwork-related WebKitSystemInterface calls with SPI
        https://bugs.webkit.org/show_bug.cgi?id=152463

        Reviewed by Alexey Proskuryakov.

        Replaced WebkitSystemInterface calls that wrapped CFNetwork SPI with direct calls to SPI that is now forward
        declared in CFNetworkSPI.h.

        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::initializeNetworkSettings):
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::overrideSystemProxies):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface):

2015-12-22  Brent Fulgham  <bfulgham@apple.com>

        Allow JavaScript to iterate over plugins for local SecurityOrigins
        https://bugs.webkit.org/show_bug.cgi?id=152489

        Reviewed by Alexey Proskuryakov.

        The 'getWebVisiblePluginInfo' is filtering plugins, even when we want to list
        all plugins. To avoid this, we check the Document's SecurityOrigin. If no such
        origin exists, we construct a SecurityOrigin from the URL.
        
        If the relevant SecurityOrigin satsifies 'isLocal', we show all plugins.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::getWebVisiblePluginInfo):

2015-12-21  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] test_ewk2_context failed after r192808
        https://bugs.webkit.org/show_bug.cgi?id=151846

        Reviewed by Gyuyoung Kim.

        As we can make the single WebProcess behavior by setting the miximum number
        of WebProcess to 1 after r192808, I remove the ewk_context_process_model_{set|get}
        apis and add the ewk_context_web_process_count_limit_{set|get} apis and tests.

        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::EwkContext):
        (EwkContext::setProcessCountLimit):
        (EwkContext::processCountLimit):
        (ewk_context_web_process_count_limit_set):
        (ewk_context_web_process_count_limit_get):
        (EwkContext::setProcessModel): Deleted.
        (EwkContext::processModel): Deleted.
        (ewk_context_process_model_set): Deleted.
        (ewk_context_process_model_get): Deleted.
        * UIProcess/API/efl/ewk_context.h:
        * UIProcess/API/efl/ewk_context_private.h:
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
        (TEST_F): Changed the ewk_context_{web|network}_process_model tests to
        ewk_context_{web|network}_process_count_limit tests.

2015-12-21  Joonghun Park  <jh718.park@samsung.com>

        [WK2][EFL] Use cacheDirectoryFileSystemRepresentation and websiteDataDirectoryFileSystemRepresentation
        to refactor APIWebsiteDataStoreEfl
        https://bugs.webkit.org/show_bug.cgi?id=152475

        Reviewed by Gyuyoung Kim.

        Use cacheDirectoryFileSystemRepresentation and websiteDataDirectoryFileSystemRepresentation
        instead of to use efreet_cache_home_get
        and efreet_data_home_get directly.
        And also use EINA_PATH_SEP_S instead of "/" as directory separator,
        and WebCore::pathByAppendingComponent instead of operator+.

        * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:
        (API::WebsiteDataStore::defaultApplicationCacheDirectory):
        (API::WebsiteDataStore::defaultNetworkCacheDirectory):
        (API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
        (API::WebsiteDataStore::defaultLocalStorageDirectory):
        (API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
        (API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
        (API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
        (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

2015-12-21  Antti Koivisto  <antti@apple.com>

        Factor NetworkResourceLoader code for storing a cache entry into a function
        https://bugs.webkit.org/show_bug.cgi?id=152467

        Reviewed by Andreas Kling.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didFinishLoading):

            Having m_cacheEntryForValidation already implies canUseCache() so remove the test from this path.
            Move storing to the end of the function so we don't delay DidFinishResourceLoad message on it.

        (WebKit::NetworkResourceLoader::sendBufferMaybeAborting):
        (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):

            Factor to a function.
            Remove m_response.isHTTP() test as it is covered by NetworkCache::store().
            Remove !isPrivateSession test as it is covered by NetworkResourceLoader::canUseCache().

        (WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
        * NetworkProcess/NetworkResourceLoader.h:

2015-12-21  Antti Koivisto  <antti@apple.com>

        Limit cached redirect chain length
        https://bugs.webkit.org/show_bug.cgi?id=152477

        Reviewed by Andreas Kling.

        Networking layer prevents cycles and limits the redirect chain length so creating cache cycles is difficult.
        For robustness the network cache should still limit the maximum redirect chain length.

        This patch adds a limit of five redirects both when storing and retrieving cache entries.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::canUseCache):
        (WebKit::NetworkResourceLoader::canUseCachedRedirect):
        (WebKit::NetworkResourceLoader::willSendRedirectedRequest):
        (WebKit::NetworkResourceLoader::continueWillSendRequest):
        (WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
        * NetworkProcess/NetworkResourceLoader.h:

2015-12-21  Dan Bernstein  <mitz@apple.com>

        Different and incorrect flags are passed to sendSync when accessibility is enabled, SpinRunLoopWhileWaitingForReply
        https://bugs.webkit.org/show_bug.cgi?id=126021

        Reviewed by Darin Adler.

        Get rid of SpinRunLoopWhileWaitingForReply because it’s not used anymore.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::waitForSyncReply): Removed the SpinRunLoopWhileWaitingForReply branch.

        * Platform/IPC/Connection.h: Removed SpinRunLoopWhileWaitingForReply.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): Don’t check
          WebPage::synchronousMessagesShouldSpinRunLoop() and don’t specify
          SpinRunLoopWhileWaitingForReply.
        (WebKit::WebChromeClient::runJavaScriptAlert): Ditto.
        (WebKit::WebChromeClient::runJavaScriptConfirm): Ditto.
        (WebKit::WebChromeClient::runJavaScriptPrompt): Ditto.
        (WebKit::WebChromeClient::print): Ditto.
        (WebKit::WebChromeClient::exceededDatabaseQuota): Ditto.
        (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): Ditto.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Ditto.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::synchronousMessagesShouldSpinRunLoop): Deleted.
        * WebProcess/WebPage/WebPage.h:

2015-12-20  Joonghun Park  <jh718.park@samsung.com>

        [WK2][EFL] Use WebsiteDataStore instead of WebDatabaseManager which has been deleted in r194295
        https://bugs.webkit.org/show_bug.cgi?id=152460

        Reviewed by Gyuyoung Kim.

        Use WebsiteDataStore to support EFL WebDatabase API and to fix build break.

        * PlatformEfl.cmake:
        * UIProcess/API/APIWebsiteDataStore.cpp:
        * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp.
        (API::WebsiteDataStore::defaultApplicationCacheDirectory):
        (API::WebsiteDataStore::defaultNetworkCacheDirectory):
        (API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
        (API::WebsiteDataStore::defaultLocalStorageDirectory):
        (API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
        (API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
        (API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
        (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
        (API::WebsiteDataStore::defaultDataStoreConfiguration):
        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::EwkContext):
        * UIProcess/API/efl/ewk_database_manager.cpp:
        (EwkDatabaseManager::EwkDatabaseManager):
        (EwkDatabaseManager::getDatabaseOrigins):
        * UIProcess/API/efl/ewk_database_manager_private.h:
        * UIProcess/efl/WebProcessPoolEfl.cpp:
        (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):

2015-12-20  Dan Bernstein  <mitz@apple.com>

        Remove unused setToolbarHeight
        https://bugs.webkit.org/show_bug.cgi?id=152466

        Reviewed by Darin Adler.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.
        * UIProcess/WebInspectorProxy.h:
        (WebKit::WebInspectorProxy::setToolbarHeight): Deleted.
        * UIProcess/WebInspectorProxy.messages.in:
        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::setToolbarHeight): Deleted.
        * WebProcess/WebPage/WebInspectorUI.h:

2015-12-19  Dan Bernstein  <mitz@apple.com>

        [Mac] WebKit contains dead source code for OS X Mavericks and earlier
        https://bugs.webkit.org/show_bug.cgi?id=152462

        Reviewed by Alexey Proskuryakov.

        - Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions
          that became uniform across all OS X versions as a result:

        * Configurations/BaseTarget.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebKit.xcconfig:

        - Removed the definition of BUNDLE_LOCALIZATION_KEY:

        * Configurations/WebContentService.Development.xcconfig:
        * Configurations/WebContentService.xcconfig:

        - Added CFBundleFollowParentLocalization set to true:

        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

        * WebKit2.xcodeproj/project.pbxproj: Removed the “Add CFBundle Localization Info.plist Key”
          script build phases from the Web Content Service targets.

        - Simplified expressions involving __MAC_OS_X_VERSION_MIN_REQUIRED and removed code that was
          never getting compiled:

        * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
        * Platform/IPC/mac/ConnectionMac.mm:
        * Platform/IPC/mac/ImportanceAssertion.h:
        * Platform/mac/MenuUtilities.h:
        * Platform/mac/MenuUtilities.mm:
        * Platform/mac/StringUtilities.h:
        * Platform/mac/StringUtilities.mm:
        * Shared/API/Cocoa/WKFoundation.h:
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        * UIProcess/mac/PageClientImpl.mm:
        * UIProcess/mac/WKImmediateActionController.h:
        * UIProcess/mac/WKImmediateActionController.mm:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        * WebProcess/WebPage/FindController.cpp:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/com.apple.WebProcess.sb.in:
        * config.h:

2015-12-18  Antti Koivisto  <antti@apple.com>

        Cache redirects as separate entries
        https://bugs.webkit.org/show_bug.cgi?id=152424

        Reviewed by Alex Christensen.

        We are currently caching redirect chains. This has correctness issues and can be inefficient in cases
        where multiple URLs redirect to the same destination.

        After this patch we write a cache entry for each redirect individually.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::sharedWillSendRedirectedRequest):
        * NetworkProcess/NetworkLoad.h:
        (WebKit::NetworkLoad::currentRequest):
        (WebKit::NetworkLoad::clearCurrentRequest):
        * NetworkProcess/NetworkLoadClient.h:

            Add original request as a parameter for willSendRedirectedRequest.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::canUseCache):

            Factor to a function.

        (WebKit::NetworkResourceLoader::isSynchronous):
        (WebKit::NetworkResourceLoader::start):
        (WebKit::NetworkResourceLoader::retrieveCacheEntry):

            Factor to a function.
            Call dispatchWillSendRequestForCacheEntry for cached redirects.

        (WebKit::NetworkResourceLoader::startNetworkLoad):

            Make this take request as argument instead of always loading originalRequest().

        (WebKit::NetworkResourceLoader::abort):
        (WebKit::NetworkResourceLoader::didFinishLoading):

            Remove redirect chain code.
            Store cache entry for current request instead of the original request.

        (WebKit::NetworkResourceLoader::didFailLoading):
        (WebKit::NetworkResourceLoader::willSendRedirectedRequest):

            Write cache entry for redirect.

        (WebKit::NetworkResourceLoader::continueWillSendRequest):

            If we are playing back cached redirect continue with another cache lookup.

        (WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

            No need to synthesize fake willSendRequest anymore.

        (WebKit::NetworkResourceLoader::validateCacheEntry):
        (WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):

            Route via web process willSendRequest so cached redirects looks exactly like network ones.

        (WebKit::NetworkResourceLoader::messageSenderConnection):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::makeUseDecision):

            Ignore validation headers for cached redirects.

        (WebKit::NetworkCache::makeRetrieveDecision):
        (WebKit::NetworkCache::makeStoreDecision):
        (WebKit::NetworkCache::Cache::retrieve):
        (WebKit::NetworkCache::Cache::store):

            Rename originalRequest -> request since it is not really the original request anymore in all cases.

        (WebKit::NetworkCache::Cache::storeRedirect):

            Stored redirects include the network layer generated ResourceRequest instead of body data.

        (WebKit::NetworkCache::Cache::update):
        * NetworkProcess/cache/NetworkCache.h:
        * NetworkProcess/cache/NetworkCacheEntry.cpp:
        (WebKit::NetworkCache::Entry::Entry):

            New constructor for making redirect entries.

        (WebKit::NetworkCache::Entry::encodeAsStorageRecord):
        (WebKit::NetworkCache::Entry::decodeStorageRecord):

            Encoding support.

        * NetworkProcess/cache/NetworkCacheEntry.h:
        (WebKit::NetworkCache::Entry::varyingRequestHeaders):
        (WebKit::NetworkCache::Entry::redirectRequest):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
        (WebKit::NetworkCache::SpeculativeLoad::~SpeculativeLoad):
        (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
        * NetworkProcess/cache/NetworkCacheStatistics.cpp:
        (WebKit::NetworkCache::cachedEntryReuseFailureToDiagnosticKey):

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        Avoid triggering clang's -Wundefined-bool-conversion
        https://bugs.webkit.org/show_bug.cgi?id=152408

        Reviewed by Mark Lam.

        Use ASSERT_THIS_GC_OBJECT_INHERITS where needed.

        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
        (WebKit::JSNPObject::callMethod):
        (WebKit::JSNPObject::callObject):
        (WebKit::JSNPObject::callConstructor):
        (WebKit::JSNPObject::deleteProperty):

2015-12-15  Anders Carlsson  <andersca@apple.com>

        Get rid of WebDatabaseManager, it's been replaced by WebsiteDataStore
        https://bugs.webkit.org/show_bug.cgi?id=152318

        Reviewed by Tim Horton.

        Build fixes by Ossy.

        * DerivedSources.make:
        * Shared/API/APIObject.h:
        * Shared/API/c/WKBase.h:
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetDatabaseManager): Deleted.
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKDatabaseManager.cpp: Removed.
        (WKDatabaseManagerGetTypeID): Deleted.
        (WKDatabaseManagerGetOriginKey): Deleted.
        (WKDatabaseManagerGetOriginQuotaKey): Deleted.
        (WKDatabaseManagerGetOriginUsageKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsNameKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey): Deleted.
        (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey): Deleted.
        (WKDatabaseManagerSetClient): Deleted.
        (WKDatabaseManagerGetDatabasesByOrigin): Deleted.
        (WKDatabaseManagerGetDatabaseOrigins): Deleted.
        (WKDatabaseManagerDeleteDatabasesWithNameForOrigin): Deleted.
        (WKDatabaseManagerDeleteDatabasesForOrigin): Deleted.
        (WKDatabaseManagerDeleteAllDatabases): Deleted.
        (WKDatabaseManagerSetQuotaForOrigin): Deleted.
        * UIProcess/API/C/WKDatabaseManager.h: Removed.
        * UIProcess/WebDatabaseManagerProxy.cpp: Removed.
        (WebKit::WebDatabaseManagerProxy::supplementName): Deleted.
        (WebKit::WebDatabaseManagerProxy::originKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::originQuotaKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::originUsageKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey): Deleted.
        (WebKit::WebDatabaseManagerProxy::create): Deleted.
        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy): Deleted.
        (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy): Deleted.
        (WebKit::WebDatabaseManagerProxy::initializeClient): Deleted.
        (WebKit::WebDatabaseManagerProxy::processPoolDestroyed): Deleted.
        (WebKit::WebDatabaseManagerProxy::processDidClose): Deleted.
        (WebKit::WebDatabaseManagerProxy::shouldTerminate): Deleted.
        (WebKit::WebDatabaseManagerProxy::refWebContextSupplement): Deleted.
        (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement): Deleted.
        (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): Deleted.
        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): Deleted.
        (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): Deleted.
        (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxy::didModifyOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxy::didModifyDatabase): Deleted.
        * UIProcess/WebDatabaseManagerProxy.h: Removed.
        * UIProcess/WebDatabaseManagerProxy.messages.in: Removed.
        * UIProcess/WebDatabaseManagerProxyClient.cpp: Removed.
        (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin): Deleted.
        (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase): Deleted.
        * UIProcess/WebDatabaseManagerProxyClient.h: Removed.
        * UIProcess/WebProcessPool.cpp:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Removed.
        (WebKit::WebDatabaseManager::supplementName): Deleted.
        (WebKit::WebDatabaseManager::WebDatabaseManager): Deleted.
        (WebKit::WebDatabaseManager::initialize): Deleted.
        (WebKit::WebDatabaseManager::getDatabasesByOrigin): Deleted.
        (WebKit::WebDatabaseManager::getDatabaseOrigins): Deleted.
        (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): Deleted.
        (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): Deleted.
        (WebKit::WebDatabaseManager::deleteAllDatabases): Deleted.
        (WebKit::WebDatabaseManager::closeAllDatabases): Deleted.
        (WebKit::WebDatabaseManager::setQuotaForOrigin): Deleted.
        (WebKit::WebDatabaseManager::dispatchDidModifyOrigin): Deleted.
        (WebKit::WebDatabaseManager::dispatchDidModifyDatabase): Deleted.
        * WebProcess/WebCoreSupport/WebDatabaseManager.h: Removed.
        * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Removed.
        * WebProcess/WebCoreSupport/ios/WebDatabaseManagerIOS.mm: Removed.
        (WebKit::WebDatabaseManager::dispatchDidAddNewOrigin): Deleted.
        (WebKit::WebDatabaseManager::dispatchDidDeleteDatabase): Deleted.
        (WebKit::WebDatabaseManager::dispatchDidDeleteDatabaseOrigin): Deleted.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::processWillSuspendImminently):
        (WebKit::m_webSQLiteDatabaseTracker): Deleted.

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Unreviewed, fix GtkDoc after r193620

        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:

2015-12-18  Dan Bernstein  <mitz@apple.com>

        WebPage::didCompleteUserMediaPermissionCheck and WebPage::didReceiveUserMediaPermissionDecision are exported
        https://bugs.webkit.org/show_bug.cgi?id=152429

        Reviewed by Tim Horton.

        * WebProcess/WebPage/WebPage.h: Removed WK_EXPORT specifiers from these two declarations.

2015-12-18  Alex Christensen  <achristensen@webkit.org>

        Move networking code from Shared to NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=152421

        Reviewed by Antti Koivisto.

        Since recently removing the non-NetworkProcess configurations, this code is no longer shared with the WebProcess.

        * CMakeLists.txt:
        * DerivedSources.make:
        * NetworkProcess/CustomProtocols: Copied from Source/WebKit2/Shared/Network/CustomProtocols.
        * NetworkProcess/Downloads: Copied from Source/WebKit2/Shared/Downloads.
        * NetworkProcess/Downloads/Download.cpp: Copied from Source/WebKit2/Shared/Downloads/Download.cpp.
        * NetworkProcess/Downloads/Download.h: Copied from Source/WebKit2/Shared/Downloads/Download.h.
        * NetworkProcess/Downloads/DownloadID.h: Copied from Source/WebKit2/Shared/Downloads/DownloadID.h.
        * NetworkProcess/Downloads/DownloadManager.cpp: Copied from Source/WebKit2/Shared/Downloads/DownloadManager.cpp.
        * NetworkProcess/Downloads/DownloadManager.h: Copied from Source/WebKit2/Shared/Downloads/DownloadManager.h.
        * NetworkProcess/NetworkProcessCreationParameters.cpp: Copied from Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp.
        * NetworkProcess/NetworkProcessCreationParameters.h: Copied from Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h.
        * NetworkProcess/NetworkProcessSupplement.h: Copied from Source/WebKit2/Shared/Network/NetworkProcessSupplement.h.
        * NetworkProcess/NetworkResourceLoadParameters.cpp: Copied from Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.cpp.
        * NetworkProcess/NetworkResourceLoadParameters.h: Copied from Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.h.
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * PlatformMac.cmake:
        * Shared/Downloads: Removed.
        * Shared/Downloads/Download.cpp: Removed.
        * Shared/Downloads/Download.h: Removed.
        * Shared/Downloads/DownloadAuthenticationClient.cpp: Removed.
        * Shared/Downloads/DownloadAuthenticationClient.h: Removed.
        * Shared/Downloads/DownloadID.h: Removed.
        * Shared/Downloads/DownloadManager.cpp: Removed.
        * Shared/Downloads/DownloadManager.h: Removed.
        * Shared/Downloads/cocoa: Removed.
        * Shared/Downloads/cocoa/DownloadCocoa.mm: Removed.
        * Shared/Downloads/efl: Removed.
        * Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp: Removed.
        * Shared/Downloads/gtk: Removed.
        * Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Removed.
        * Shared/Downloads/ios: Removed.
        * Shared/Downloads/ios/DownloadIOS.mm: Removed.
        * Shared/Downloads/mac: Removed.
        * Shared/Downloads/mac/DownloadMac.mm: Removed.
        * Shared/Downloads/soup: Removed.
        * Shared/Downloads/soup/DownloadSoup.cpp: Removed.
        * Shared/Downloads/soup/DownloadSoupErrors.h: Removed.
        * Shared/Network: Removed.
        * Shared/Network/CustomProtocols: Removed.
        * Shared/Network/CustomProtocols/Cocoa: Removed.
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Removed.
        * Shared/Network/CustomProtocols/CustomProtocolManager.h: Removed.
        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Removed.
        * Shared/Network/CustomProtocols/soup: Removed.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Removed.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Removed.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Removed.
        * Shared/Network/NetworkProcessCreationParameters.cpp: Removed.
        * Shared/Network/NetworkProcessCreationParameters.h: Removed.
        * Shared/Network/NetworkProcessSupplement.h: Removed.
        * Shared/Network/NetworkResourceLoadParameters.cpp: Removed.
        * Shared/Network/NetworkResourceLoadParameters.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2015-12-18  Michael Catanzaro  <mcatanzaro@igalia.com>

        LayerTreeHostGtk triggers -Wunused-private-field
        https://bugs.webkit.org/show_bug.cgi?id=152410

        Reviewed by Carlos Garcia Campos.

        Remove the unused member variable.

        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

2015-12-18  Alex Christensen  <achristensen@webkit.org>

        Add types for DownloadID and TaskIdentifier
        https://bugs.webkit.org/show_bug.cgi?id=152401

        Reviewed by Brady Eidson.

        DownloadID and TaskIdentifier used to both be just uint64_t's.
        It is confusing to distinguish between them, so now they both have names.
        We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        (WebKit::NetworkConnectionToWebProcess::startDownload):
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
        (WebKit::NetworkProcess::downloadRequest):
        (WebKit::NetworkProcess::resumeDownload):
        (WebKit::NetworkProcess::cancelDownload):
        (WebKit::NetworkProcess::getNetworkProcessStatistics):
        (WebKit::NetworkProcess::logDiagnosticMessage):
        (WebKit::NetworkProcess::logDiagnosticMessageWithResult):
        (WebKit::NetworkProcess::logDiagnosticMessageWithValue):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::createDataTaskWithRequest):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkDataTask::resume):
        (WebKit::NetworkDataTask::taskIdentifier): Deleted.
        * Shared/Downloads/Download.cpp:
        (WebKit::Download::Download):
        (WebKit::Download::messageSenderDestinationID):
        * Shared/Downloads/Download.h:
        (WebKit::Download::downloadID):
        * Shared/Downloads/DownloadID.h: Added.
        (WebKit::DownloadID::DownloadID):
        (WebKit::DownloadID::operator==):
        (WebKit::DownloadID::downloadID):
        (IPC::ArgumentCoder<WebKit::DownloadID>::encode):
        (IPC::ArgumentCoder<WebKit::DownloadID>::decode):
        (WTF::DownloadIDHash::hash):
        (WTF::DownloadIDHash::equal):
        (WTF::HashTraits<WebKit::DownloadID>::emptyValue):
        (WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue):
        (WTF::HashTraits<WebKit::DownloadID>::isDeletedValue):
        * Shared/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::DownloadManager):
        (WebKit::DownloadManager::startDownload):
        (WebKit::DownloadManager::convertHandleToDownload):
        (WebKit::DownloadManager::resumeDownload):
        (WebKit::DownloadManager::cancelDownload):
        * Shared/Downloads/DownloadManager.h:
        (WebKit::DownloadManager::isDownloading):
        * UIProcess/API/C/WKDownload.cpp:
        (WKDownloadGetID):
        (WKDownloadCopyRequest):
        * UIProcess/Downloads/DownloadProxy.h:
        (WebKit::DownloadProxy::downloadID):
        (WebKit::DownloadProxy::request):
        (WebKit::DownloadProxy::resumeData):
        * UIProcess/Downloads/DownloadProxyMap.cpp:
        (WebKit::DownloadProxyMap::createDownloadProxy):
        (WebKit::DownloadProxyMap::downloadFinished):
        (WebKit::DownloadProxyMap::processDidClose):
        * UIProcess/Downloads/DownloadProxyMap.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::receivedPolicyDecision):
        (WebKit::WebPageProxy::frameDidBecomeFrameSet):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::decidePolicyForResponseSync):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::invalidatePolicyListener):
        (WebKit::WebFrame::didReceivePolicyDecision):
        (WebKit::WebFrame::startDownload):
        (WebKit::WebFrame::convertMainResourceLoadToDownload):
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setSessionID):
        (WebKit::WebPage::didReceivePolicyDecision):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-12-17  Dan Bernstein  <mitz@apple.com>

        Fixed a typo from r194022.

        * Configurations/WebKit.xcconfig: Changed PlugInProcessShim.dylib to PluginProcessShim.dylib.

2015-12-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r194250 and r194254.
        https://bugs.webkit.org/show_bug.cgi?id=152414

        broke api tests (Requested by alexchristensen on #webkit).

        Reverted changesets:

        "Add types for DownloadID and TaskIdentifier"
        https://bugs.webkit.org/show_bug.cgi?id=152401
        http://trac.webkit.org/changeset/194250

        "Build fix after r194250"
        http://trac.webkit.org/changeset/194254

2015-12-17  Alex Christensen  <achristensen@webkit.org>

        Build fix after r194250

        * WebKit2.xcodeproj/project.pbxproj:
        Change target membership from all to WebKit.

2015-12-17  Alex Christensen  <achristensen@webkit.org>

        Add types for DownloadID and TaskIdentifier
        https://bugs.webkit.org/show_bug.cgi?id=152401

        Reviewed by Brady Eidson.

        DownloadID and TaskIdentifier used to both be just uint64_t's.
        It is confusing to distinguish between them, so now they both have names.
        We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        (WebKit::NetworkConnectionToWebProcess::startDownload):
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
        (WebKit::NetworkProcess::downloadRequest):
        (WebKit::NetworkProcess::resumeDownload):
        (WebKit::NetworkProcess::cancelDownload):
        (WebKit::NetworkProcess::getNetworkProcessStatistics):
        (WebKit::NetworkProcess::logDiagnosticMessage):
        (WebKit::NetworkProcess::logDiagnosticMessageWithResult):
        (WebKit::NetworkProcess::logDiagnosticMessageWithValue):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::createDataTaskWithRequest):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkDataTask::resume):
        (WebKit::NetworkDataTask::taskIdentifier): Deleted.
        * Shared/Downloads/Download.cpp:
        (WebKit::Download::Download):
        (WebKit::Download::messageSenderDestinationID):
        * Shared/Downloads/Download.h:
        (WebKit::Download::downloadID):
        * Shared/Downloads/DownloadID.h: Added.
        (WebKit::DownloadID::DownloadID):
        (WebKit::DownloadID::operator==):
        (WebKit::DownloadID::downloadID):
        (IPC::ArgumentCoder<WebKit::DownloadID>::encode):
        (IPC::ArgumentCoder<WebKit::DownloadID>::decode):
        (WTF::DownloadIDHash::hash):
        (WTF::DownloadIDHash::equal):
        (WTF::HashTraits<WebKit::DownloadID>::emptyValue):
        (WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue):
        (WTF::HashTraits<WebKit::DownloadID>::isDeletedValue):
        * Shared/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::DownloadManager):
        (WebKit::DownloadManager::startDownload):
        (WebKit::DownloadManager::convertHandleToDownload):
        (WebKit::DownloadManager::resumeDownload):
        (WebKit::DownloadManager::cancelDownload):
        * Shared/Downloads/DownloadManager.h:
        (WebKit::DownloadManager::isDownloading):
        * UIProcess/API/C/WKDownload.cpp:
        (WKDownloadGetID):
        (WKDownloadCopyRequest):
        * UIProcess/Downloads/DownloadProxy.h:
        (WebKit::DownloadProxy::downloadID):
        (WebKit::DownloadProxy::request):
        (WebKit::DownloadProxy::resumeData):
        * UIProcess/Downloads/DownloadProxyMap.cpp:
        (WebKit::DownloadProxyMap::createDownloadProxy):
        (WebKit::DownloadProxyMap::downloadFinished):
        (WebKit::DownloadProxyMap::processDidClose):
        * UIProcess/Downloads/DownloadProxyMap.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::receivedPolicyDecision):
        (WebKit::WebPageProxy::frameDidBecomeFrameSet):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::decidePolicyForResponseSync):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::invalidatePolicyListener):
        (WebKit::WebFrame::didReceivePolicyDecision):
        (WebKit::WebFrame::startDownload):
        (WebKit::WebFrame::convertMainResourceLoadToDownload):
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setSessionID):
        (WebKit::WebPage::didReceivePolicyDecision):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-12-17  Simon Fraser  <simon.fraser@apple.com>

        Disable viewport "shrink to fit" outside of multitasking mode
        https://bugs.webkit.org/show_bug.cgi?id=152403
        rdar://problem/23818102

        Reviewed by Tim Horton.
        
        Plumb through a value that indicates whether the WKWebView is in split screen,
        and use it to conditionally enable shrink-to-fit mode only in split screen.
        
        * Shared/VisibleContentRectUpdateInfo.cpp: Added m_allowShrinkToFit, and sort
        the member variables, and encoding order, to optimize packing, with some initializers.
        (WebKit::VisibleContentRectUpdateInfo::encode):
        (WebKit::VisibleContentRectUpdateInfo::decode):
        * Shared/VisibleContentRectUpdateInfo.h:
        (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
        (WebKit::VisibleContentRectUpdateInfo::allowShrinkToFit):
        (WebKit::operator==):
        * UIProcess/API/Cocoa/WKWebView.mm: Add _allowsViewportShrinkToFit member variable,
        with getter and setter.
        (-[WKWebView _updateVisibleContentRects]): Unwrap the line.
        (-[WKWebView _setAllowsViewportShrinkToFit:]):
        (-[WKWebView _allowsViewportShrinkToFit]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h: _allowsViewportShrinkToFit SPI.
        * UIProcess/WebPageProxy.h: Pass allowShrinkToFit through.
        * UIProcess/ios/WKContentView.mm: Ditto.
        (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::updateVisibleContentRects): Padd allowShrinkToFit to the web process via the VisibleContentRectUpdateInfo.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Store m_ignoreViewportScalingConstraints in a member variable since we can't
        get back to the prefs later.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::updateVisibleContentRects): This is the behavior change: call setCanIgnoreScalingConstraints()
        on the viewport configuration, consulting the pref (via m_ignoreViewportScalingConstraints) and the new
        visibleContentRectUpdateInfo.allowShrinkToFit().

2015-12-16  Simon Fraser  <simon.fraser@apple.com>

        ViewportConfiguration functions should return a bool to say if anything changed
        https://bugs.webkit.org/show_bug.cgi?id=152353

        Reviewed by Tim Horton.

        Rather than callers all checking whether setting ViewportConfiguration values
        changes state, have its functions return a bool if the values change.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mainFrameDidLayout):
        (WebKit::WebPage::didCommitLoad):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::viewportPropertiesDidChange):
        (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):

2015-12-16  Alex Christensen  <achristensen@webkit.org>

        Progress towards implementing downloads with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=152371

        Reviewed by Darin Adler.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::downloadRequest):
        (WebKit::NetworkProcess::resumeDownload):
        (WebKit::NetworkProcess::cancelDownload):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/Downloads/Download.cpp:
        (WebKit::Download::Download):
        (WebKit::Download::didReceiveAuthenticationChallenge):
        * Shared/Downloads/Download.h:
        * Shared/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::startDownload):
        (WebKit::DownloadManager::convertHandleToDownload):
        (WebKit::DownloadManager::resumeDownload):
        (WebKit::DownloadManager::cancelDownload):
        (WebKit::DownloadManager::downloadFinished):
        (WebKit::DownloadManager::didCreateDownload):
        * Shared/Downloads/DownloadManager.h:
        * Shared/Downloads/cocoa: Added.
        * Shared/Downloads/cocoa/DownloadCocoa.mm: Added.
        (WebKit::Download::start):
        (WebKit::Download::resume):
        (WebKit::Download::cancel):
        (WebKit::Download::platformInvalidate):
        * Shared/Downloads/ios/DownloadIOS.mm:
        * Shared/Downloads/mac/DownloadMac.mm:
        (WebKit::Download::start):
        (WebKit::Download::startWithHandle):
        (WebKit::Download::resume):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::resumeDownload):
        * UIProcess/WebProcessPool.h:
        * WebKit2.xcodeproj/project.pbxproj:

2015-12-16  Simon Fraser  <simon.fraser@apple.com>

        ViewportConfiguration functions should return a bool to say if anything changed
        https://bugs.webkit.org/show_bug.cgi?id=152353

        Reviewed by Tim Horton.

        Rather than callers all checking whether setting ViewportConfiguration values
        changes state, have its functions return a bool if the values change.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mainFrameDidLayout):
        (WebKit::WebPage::didCommitLoad):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::viewportPropertiesDidChange):
        (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):

2015-12-16  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r191299): Zoom gestures are enabled even if allowsMagnification=NO
        https://bugs.webkit.org/show_bug.cgi?id=152373
        <rdar://problem/23931998>

        Reviewed by Simon Fraser.

        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
        Don't pass the event on to ViewGestureController if we shouldn't handle it,
        just like we would have done in magnifyWithEvent before.

2015-12-16  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r194125): Crashes in touchesEndedWithEvent on occasion when interacting with the page
        https://bugs.webkit.org/show_bug.cgi?id=152366
        <rdar://problem/23929672>

        Reviewed by Beth Dakin.

        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::touchesEndedWithEvent):
        (WebKit::WebViewImpl::touchesCancelledWithEvent):
        NSTouch identifiers aren't pointer-comparable. We need to use isEqual to
        compare them and find the ones to remove.

2015-12-16  Simon Fraser  <simon.fraser@apple.com>

        Simplify isOverlayScrollbar() logic
        https://bugs.webkit.org/show_bug.cgi?id=152357

        Reviewed by Beth Dakin.

        Replace code that checks for isOverlayScrollbar() explicitly with calls to new
        occupiedWidth()/occupiedHeight() functions on Scrollbar, which do the overlay
        scrollbar check internally.
        
        Add ScrollableArea::scrollbarIntrusion() which returns an IntSize with the occupiedWidth
        and occupiedHeight of any scrollbars, and use it in a few places.

        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::updateScrollbars):
        (WebKit::PDFPlugin::maximumScrollPosition):

2015-12-16  Alex Christensen  <achristensen@webkit.org>

        Build fix when using NETWORK_SESSION after r193972.

        Rubber-stamped by Joseph Pecoraro.

        Renamed NetworkSessionDelegate to WKNetworkSessionDelegate to conform to the 
        newly-enforced style rule in check-for-inappropriate-objc-class-names.

        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (toNSURLSessionAuthChallengeDisposition):
        (-[WKNetworkSessionDelegate initWithNetworkSession:]):
        (WebKit::NetworkSession::NetworkSession):
        (-[NetworkSessionDelegate initWithNetworkSession:]): Deleted.

2015-12-16  Alex Christensen  <achristensen@webkit.org>

        Implement Web Timing when using NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=152285

        Reviewed by Darin Adler.

        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        (WebKit::NetworkSession::NetworkSession):
        Use functions moved to ResourceLoadTiming.h.  setCollectsTimingData is for Mavericks, _timingDataOptions is post-Mavericks.

2015-12-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        [Fetch API] Add fetch API compile time flag
        https://bugs.webkit.org/show_bug.cgi?id=152254

        Reviewed by Darin Adler.

        * Configurations/FeatureDefines.xcconfig:

2015-12-15  Tim Horton  <timothy_horton@apple.com>

        [Mac] Gesture Events should not have negative scale
        https://bugs.webkit.org/show_bug.cgi?id=151065
        <rdar://problem/23474123>

        Reviewed by Anders Carlsson.

        * Shared/NativeWebGestureEvent.h:
        * Shared/mac/NativeWebGestureEventMac.mm:
        (WebKit::distanceForTouches):
        (WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
        Compute the distance between the two oldest touches, and use that as
        the scale (really the gesture diameter) on the event, instead of
        passing through AppKit's magnification (which is computed differently).
        This matches the documented behavior of the existing gesture events on iOS.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView touchesBeganWithEvent:]):
        (-[WKWebView touchesMovedWithEvent:]):
        (-[WKWebView touchesEndedWithEvent:]):
        (-[WKWebView touchesCancelledWithEvent:]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView touchesBeganWithEvent:]):
        (-[WKView touchesMovedWithEvent:]):
        (-[WKView touchesEndedWithEvent:]):
        (-[WKView touchesCancelledWithEvent:]):
        Plumb touch events through to WebViewImpl.

        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::magnifyWithEvent):
        (WebKit::WebViewImpl::touchesOrderedByAge):
        (WebKit::WebViewImpl::touchesBeganWithEvent):
        (WebKit::WebViewImpl::touchesMovedWithEvent):
        (WebKit::WebViewImpl::touchesEndedWithEvent):
        (WebKit::WebViewImpl::touchesCancelledWithEvent):
        (WebKit::WebViewImpl::rotateWithEvent):
        Keep track of the most recent incoming touches, by identifier, in age order.
        Pass them through to NativeWebGestureEvent so it can determine the gesture diameter.

2015-12-15  Anders Carlsson  <andersca@apple.com>

        Call DatabaseManager directly from WKBundle.cpp
        https://bugs.webkit.org/show_bug.cgi?id=152317

        Reviewed by Tim Horton.

        This is in preparation for getting rid of some old database manager code.

        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleClearAllDatabases):
        (WKBundleSetDatabaseQuota):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::clearAllDatabases): Deleted.
        (WebKit::InjectedBundle::setDatabaseQuota): Deleted.
        * WebProcess/InjectedBundle/InjectedBundle.h:

2015-12-15  Daniel Bates  <dabates@apple.com>

        Guard code that uses class LayerTreeHost with USE(COORDINATED_GRAPHICS) or USE(TEXTURE_MAPPER)
        https://bugs.webkit.org/show_bug.cgi?id=152265

        Reviewed by Tim Horton.

        We neither make use of LayerTreeHost on Mac nor on iOS. We should guard code that makes
        use of this class as applicable. This also fixes the iOS Simulator build when using
        Apple Internal software.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Guard code that used LayerTreeHost.
        * WebProcess/WebPage/LayerTreeHost.cpp: Guard contents of file with USE(COORDINATED_GRAPHICS) || USE(TEXTURE_MAPPER).
        * WebProcess/WebPage/LayerTreeHost.h: Ditto.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scalePage): Ditto.
        (WebKit::WebPage::setDeviceScaleFactor): Ditto.
        * WebProcess/WebPage/WebPage.h: Substitute header LayerTreeContext.h for LayerTreeHost.h since we make use
        of the enum class LayerHostingMode.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::updateVisibleContentRects): Remove unnecessary code; DrawingArea::layerTreeHost() always
        returns nullptr on iOS.

2015-12-15  Zan Dobersek  <zdobersek@igalia.com>

        [TexMap] Operate with a reference to the TextureMapper wherever possible
        https://bugs.webkit.org/show_bug.cgi?id=152118

        Reviewed by Martin Robinson.

        Replace pointers to the TextureMapper object with references.

        * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
        (WebKit::CoordinatedBackingStoreTile::swapBuffers):
        (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
        (WebKit::CoordinatedBackingStore::paintToTextureMapper):
        (WebKit::CoordinatedBackingStore::drawBorder):
        (WebKit::CoordinatedBackingStore::drawRepaintCounter):
        (WebKit::CoordinatedBackingStore::commitTileOperations):
        * Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
        (WebKit::CoordinatedGraphicsScene::paintToGraphicsContext):
        (WebKit::CoordinatedGraphicsScene::commitPendingBackingStoreOperations):

2015-12-14  YongGeol Jung  <yg48.jung@samsung.com>

        [Coordinated Graphics] CSS transition effect is not shown when transformed with "%" unit.
        https://bugs.webkit.org/show_bug.cgi?id=152278

        Reviewed by Darin Adler.

        boxSize is encoded as FloatSize type but decoded as IntSize type.
        So boxSize gets invalid value after decoding.
        Due to this layer goes to out of screen during animation.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (IPC::ArgumentCoder<TextureMapperAnimation>::decode):

2015-12-14  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/23886216> REGRESSION (r194022): Production builds of PluginProcess crash on launch when not installed in /System
        https://bugs.webkit.org/show_bug.cgi?id=152291

        Reviewed by Darin Adler.

        * Configurations/PluginProcess.xcconfig: Added a FIXME.
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::addDYLDEnvironmentAdditions): Set DYLD_LIBRARY_PATH to point to where the shims
        are. This is needed because starting in El Capitan, the processes’ main executables link
        directly against the shims, so the dynamic linker needs to be able to find them in the
        non-/System location. Also added a FIXME about not having to set DYLD_INSERT_LIBRARIES when
        the main executables link the them directly.

2015-12-14  Simon Fraser  <simon.fraser@apple.com>

        Dump some more data in the RemoteLayerTreeTransaction
        https://bugs.webkit.org/show_bug.cgi?id=152283

        Reviewed by Dean Jackson.
        
        Dump some scale factors, viewport meta tag width and render tree size.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::description):

2015-12-14  Tim Horton  <timothy_horton@apple.com>

        Frequent crash under -[WKPDFView web_setMinimumSize:]_block_invoke
        https://bugs.webkit.org/show_bug.cgi?id=152266
        <rdar://problem/22092676>

        Reviewed by Simon Fraser.

        * UIProcess/ios/WKPDFView.mm:
        (-[WKPDFView web_setMinimumSize:]):
        We weren't retaining the UIScrollView, but depending on it surviving
        into this block's invocation.

        We don't need to do this asynchronously anymore because the referenced
        bug is fixed, so make it happen synchronously. This also fixes the crash
        because there's no opportunity for the scroll view to be released.

2015-12-14  Tim Horton  <timothy_horton@apple.com>

        TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate() sets fence port on context twice
        https://bugs.webkit.org/show_bug.cgi?id=152239
        <rdar://problem/22893289>

        Reviewed by Darin Adler.

        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate):
        No need to setFencePort; createFencePort also installs it on the creating context.

2015-12-12  Alex Christensen  <achristensen@webkit.org>

        Use existing code for redirects when using NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=152207
        rdar://problem/23860624

        Reviewed by Darin Adler.
        
        This fixes http/tests/cookies/set-cookie-on-redirect.html when using NETWORK_SESSION.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::continueWillSendRequest):
        (WebKit::NetworkLoad::convertTaskToDownload):
        (WebKit::NetworkLoad::willPerformHTTPRedirection):
        (WebKit::NetworkLoad::didReceiveChallenge):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:

2015-12-13  Tim Horton  <timothy_horton@apple.com>

        Adopt CGIOSurfaceContextCreateImageReference to avoid unnecessary readback
        https://bugs.webkit.org/show_bug.cgi?id=150988
        <rdar://problem/18993594>

        Reviewed by Darin Adler.

        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::createSelectionSnapshot):
        Adopt sinkIntoImage and drawConsumingImageBuffer in a few places.

2015-12-13  Dan Bernstein  <mitz@apple.com>

        Another fix after r194018.

        * Configurations/BaseTarget.xcconfig:
        * Configurations/BaseXPCService.xcconfig:

2015-12-13  Dan Bernstein  <mitz@apple.com>

        [Mac] Shims used by XPC services are installed inside legacy process bundles
        https://bugs.webkit.org/show_bug.cgi?id=152233

        Reviewed by Sam Weinig.

        Have the shim dylibs installed in the framework’s Frameworks directory instead.

        * Configurations/BaseLegacyProcess.xcconfig: Simplified now that EXCLUDED_SHIM_FILE_NAME is
          no longer defined, because shims aren’t copied into legacy processes.

        * Configurations/NetworkProcess.xcconfig: Removed definition of EXCLUDED_SHIM_FILE_NAME.
        * Configurations/PluginProcess.xcconfig: Ditto.
        * Configurations/WebContentProcess.xcconfig: Ditto.

        * Configurations/Shim.xcconfig: Install the shims when building for OS X. Added definitions
          of INSTALL_PATH and DYLIB_INSTALL_NAME_BASE which are now common to all shims.

        * Configurations/PluginProcessShim.xcconfig: Removed definitions of INSTALL_PATH and
          DYLIB_INSTALL_NAME_BASE from here, now that they are defined for all shims in
          Shim.xcconfig.
        * Configurations/SecItemShim.xcconfig: Ditto.
        * Configurations/WebProcessShim.xcconfig:

        * Configurations/WebKit.xcconfig: Added the shims to EXCLUDED_SOURCE_FILE_NAMES for iOS.

        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Changed
          the value of DYLD_INSERT_LIBRARIES to point to the shim’s new location.
        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Ditto.

        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::computeProcessShimPath): Changed to return the new paths, which are all inside the
          framework’s Frameworks directory.

        * WebKit2.xcodeproj/project.pbxproj:
        - Removed references to WRAPPER_NAME from the “Copy XPC services for engineering builds”
          build phase in the All target, becase WRAPPER_NAME is empty in an aggregate target.
        - Removed the PlugInProcess target’s dependency on the PluginProcessShim target and its
          Copy Plug-in Process Shim build phase.
        - Removed the NetworkProcess target’s dependency on the SecItemShim target and its Copy
          Sec Item Shim build phase.
        - Removed the WebProcess target’s dependency on the WebProcessShim target and its Copy
          WebProcessShim build phase.
        - Made the WebKit target depend on the shim targets, and added to it a Copy Shims build
          phase that copies the shims into the framework’s Frameworks directory.

2015-12-13  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * Configurations/PluginProcess.xcconfig:

2015-12-13  Dan Bernstein  <mitz@apple.com>

        [Mac] Shims aren’t inserted properly on Yosemite when building with the El Capitan SDK
        https://bugs.webkit.org/show_bug.cgi?id=152229

        Reviewed by Darin Adler.

        * Configurations/BaseTarget.xcconfig: Defined WK_LINK_SHIM on OS X to YES or NO based on the
          target version.
        * Configurations/BaseXPCService.xcconfig: Define WK_XPC_SERVICE_INFOPLIST_SUFFIX to
          "-10.9-10.10" when targeting those OS X versions.
        * Configurations/NetworkService.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the
          definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS.
        * Configurations/PluginProcess.xcconfig: Use WK_LINK_SHIM in the definition of
          LDFLAGS_SHIM_Production for OS X.
        * Configurations/PluginService.32.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the
          definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS.
        * Configurations/PluginService.64.xcconfig: Ditto.
        * Configurations/WebContentService.xcconfig: Ditto.

2015-12-12  Katlyn Graff  <kgraff@apple.com>

        Safari background tabs should be fully suspended where possible.
        https://bugs.webkit.org/show_bug.cgi?id=150515

        Reviewed by Ryosuke Niwa.

        Added a runtime flag enabling tab suspension, default off.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::registerUserDefaultsIfNeeded):
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2015-12-11  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Add a setting to allow the mock media capture devices to be enabled and disabled
        https://bugs.webkit.org/show_bug.cgi?id=152197

        Reviewed by Dean Jackson.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetMockCaptureDevicesEnabled):
        (WKPreferencesGetMockCaptureDevicesEnabled):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _mockCaptureDevicesEnabled]):
        (-[WKPreferences _setMockCaptureDevicesEnabled:]):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-12-11  Joseph Pecoraro  <pecoraro@apple.com>

        check-for-inappropriate-objc-class-names should check all class names, not just externally visible ones
        https://bugs.webkit.org/show_bug.cgi?id=152156

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
        Rename internal classes with "_WK" prefix.

2015-12-10  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Expose media capture devices persistent permissions to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=152087

        Reviewed by Chris Dumez.

        * CMakeLists.txt: Add UserMediaPermissionCheckProxy.cpp and WKUserMediaPermissionCheck.cpp.

        * Shared/API/APIObject.h: Define UserMediaPermissionCheck.

        * Shared/API/c/WKBase.h: Add WKUserMediaPermissionCheckRef typedef.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::checkUserMediaPermissionForOrigin): New.

        * UIProcess/API/C/WKAPICast.h: Add WKUserMediaPermissionCheckRef/UserMediaPermissionCheckProxy mapping.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient): Implement checkUserMediaPermissionForOrigin.

        * UIProcess/API/C/WKPageUIClient.h: Add WKCheckUserMediaPermissionCallback typedef and add
          checkUserMediaPermissionForOrigin to WKPageUIClientV6.

        * UIProcess/API/C/WKUserMediaPermissionCheck.cpp: Added.
        (WKUserMediaPermissionCheckGetTypeID):
        (WKUserMediaPermissionCheckSetHasPermission):

        * UIProcess/API/C/WKUserMediaPermissionCheck.h: Added.

        * UIProcess/UserMediaPermissionCheckProxy.cpp: Added.
        (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy):
        (WebKit::UserMediaPermissionCheckProxy::setHasPermission):
        (WebKit::UserMediaPermissionCheckProxy::invalidate):
        * UIProcess/UserMediaPermissionCheckProxy.h: Added.
        (WebKit::UserMediaPermissionCheckProxy::create):
        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
        (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests):
        (WebKit::UserMediaPermissionRequestManagerProxy::createRequest):
        (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision):
        (WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck):
        (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck):
        * UIProcess/UserMediaPermissionRequestManagerProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
        (WebKit::WebPageProxy::checkUserMediaPermissionForFrame):
        (WebKit::WebPageProxy::requestNotificationPermission):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:

        * WebKit2.xcodeproj/project.pbxproj: Add UserMediaPermissionCheckProxy.*, and WKUserMediaPermissionCheck.*.

        * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
        (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): Renamed from startRequest.
        (WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Renamed from cancelRequest.
        (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): m_requestToIDMap ->
          m_userMediaRequestToIDMap.remove.
        (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): New, start the request.
        (WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): New, cancel
          the request.
        (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): New, 
          all the request completion method.
        (WebKit::UserMediaPermissionRequestManager::startRequest): Deleted.
        (WebKit::UserMediaPermissionRequestManager::cancelRequest): Deleted.
        * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:

        * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
        (WebKit::WebUserMediaClient::requestUserMediaAccess): startRequest -> startUserMediaRequest.
        (WebKit::WebUserMediaClient::cancelUserMediaAccessRequest): cancelRequest -> cancelUserMediaRequest.
        (WebKit::WebUserMediaClient::checkUserMediaPermission): New.
        (WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): New.
        * WebProcess/WebCoreSupport/WebUserMediaClient.h:

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didCompleteUserMediaPermissionCheck): New.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in: Add DidCompleteUserMediaPermissionCheck.

2015-12-10  Joseph Pecoraro  <pecoraro@apple.com>

        Remote Inspector: Verify the identity of the other side of XPC connections
        https://bugs.webkit.org/show_bug.cgi?id=152153

        Reviewed by Brian Burg.

        * Shared/mac/SandboxUtilities.mm:
        * UIProcess/ApplicationStateTracker.mm:
        Use new header.

2015-12-10  Alex Christensen  <achristensen@webkit.org>

        REGRESSION (r192796) WKBundlePageResourceLoadClient should be able to setHTTPBody in willSendRequestForFrame
        https://bugs.webkit.org/show_bug.cgi?id=152022
        rdar://problem/23763584

        Reviewed by Darin Adler.

        * Shared/API/c/WKURLRequest.cpp:
        (WKURLRequestCopyHTTPMethod):
        (WKURLRequestCopyWithHTTPBody):
        (WKURLRequestSetDefaultTimeoutInterval):
        * Shared/API/c/WKURLRequest.h:
        Make WKURLRequestCopyWithHTTPBody SPI for testing.
        * Shared/API/c/mac/WKURLRequestNS.mm:
        (WKURLRequestCreateWithNSURLRequest):
        Crash if someone tries to use an NSURLRequest with HTTPBodyStream, which will not work with the network process.
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
        Use an HTTP body if the client's willSendRequestForFrame returned one.
        This is the functional change of this patch.

2015-12-10  Zan Dobersek  <zdobersek@igalia.com>

        [CoordinatedGraphics] Reserve capacity for the children vector in CoordinatedGraphicsScene::setLayerChildrenIfNeeded()
        https://bugs.webkit.org/show_bug.cgi?id=152117

        Reviewed by Martin Robinson.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::setLayerChildrenIfNeeded): Reserve the capacity
        for the new Vector that will contain the same number of items as the Vector
        on the CoordinatedGraphicsLayerState object.

2015-12-09  Daniel Bates  <dabates@apple.com>

        [iOS] Bail out if the page proxy is invalid when WebPageProxy::processWillBecome{Foreground, Suspended}() are called
        https://bugs.webkit.org/show_bug.cgi?id=151877

        Reviewed by Darin Adler.

        We cannot assume that a WebPageProxy is in a valid state when WebPageProxy::processWillBecome{Foreground, Suspended}()
        are called because these callbacks may occur after the web process crashed and before a
        WebPageProxy attaches to a new web process (and hence is considered in a valid state).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::processWillBecomeSuspended): Early return if the page proxy is invalid.
        (WebKit::WebPageProxy::processWillBecomeForeground): Ditto.

2015-12-09  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r193864.
        https://bugs.webkit.org/show_bug.cgi?id=152100

        caused all inspector tests to assert in WK2 Debug (Requested
        by brrian on #webkit).

        Reverted changeset:

        "Web Inspector: reproducible debug ASSERT when inspecting the
        inspector (WK2)"
        https://bugs.webkit.org/show_bug.cgi?id=152080
        http://trac.webkit.org/changeset/193864

2015-12-09  Brian Burg  <bburg@apple.com>

        Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2)
        https://bugs.webkit.org/show_bug.cgi?id=152080

        Reviewed by Timothy Hatcher.

        We hit an assert underneath ChildProcessProxy::addMessageReceiver because
        we tried to connect the inspector page and inspected page more than once.
        This relationship is already set up in the constructor of WebProcessProxy.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):

2015-12-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Need to change expectation result in ewk_settings_offline_web_application_cache_enabled API test
        https://bugs.webkit.org/show_bug.cgi?id=152063

        Reviewed by Csaba Osztrogonác.

        Expect false initial value of ewk_settings_offline_web_application_cache_enabled_get()
        because r193812 didn't enable it by default.

        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
        (TEST_F):

2015-12-09  Gwang Yoon Hwang  <yoon@igalia.com>

        [ThreadedCompositor] Add support for HiDPI
        https://bugs.webkit.org/show_bug.cgi?id=152071

        Reviewed by Carlos Garcia Campos.

        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::ThreadedCompositor::setDeviceScaleFactor): Added to receive the
        device scale factor from the layer tree host.
        (WebKit::ThreadedCompositor::renderLayerTree):
        Apply device scale factor before rendering the page.
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
        * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
        (WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
        Send a updated device scale factor to the compositing thread.

2015-12-09  Ryuan Choi  <ryuan.choi@navercorp.com>

        [CoordinatedGraphics] Remove unnecessary guards in CoordinatedDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=152068

        Reviewed by Gyuyoung Kim.

        CoordinatedDrawingArea is only for UI side compositor of CoordinatedGraphics.
        So, COORDINATED_GRAPHICS_MULTIPROCESS guards are not necessary.
        This patch also removes COORDINATED_GRAPHICS_MULTIPROCESS guards from DrawingAreaImpl
        because of same reason.

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): Deleted.
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
        (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea): Deleted.
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        * WebProcess/WebPage/DrawingAreaImpl.h:

2015-12-09  Mario Sanchez Prada  <mario@endlessm.com>

        [GTK] Crash in WebProcess when loading large content with custom URI schemes
        https://bugs.webkit.org/show_bug.cgi?id=144262

        Reviewed by Carlos Garcia Campos.

        Properly handle scenarios where errors happen after reading the first
        chunk of data coming from the GInputStream provided by the application.

        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextIsLoadingCustomProtocol): New, checks whether a load
        is still in progress, after the startLoading method has been called.
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkitURISchemeRequestReadCallback): Early return if the stream has been
        cancelled on finish_error, so that we make sure we don't keep on reading
        the GInputStream after that point.
        (webkit_uri_scheme_request_finish_error): Don't send a didFailWithError
        message to the Network process if the load is not longer in progress.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
        (WebKit::CustomProtocolManagerImpl::didFailWithError): Handle the case where
        an error is notified from the UI process after the first chunk has been read.
        (WebKit::CustomProtocolManagerImpl::didReceiveResponse): Handle the case where
        data might no longer be available if an error happened even before this point.
        * WebProcess/soup/WebKitSoupRequestInputStream.h:
        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
        (webkitSoupRequestInputStreamDidFailWithError): Notify the custom GInputStream
        that we no longer want to keep reading data in chunks due to a specific error.
        (webkitSoupRequestInputStreamReadAsync): Early finish the GTask with a specific
        error whenever webkitSoupRequestInputStreamDidFailWithError() has been called.

2015-12-09  Ryuan Choi  <ryuan.choi@navercorp.com>

        [CoordinatedGraphics][EFL] Fix unhandled web process message when launching MiniBrowser
        https://bugs.webkit.org/show_bug.cgi?id=152048

        Reviewed by Gyuyoung Kim.

        WebPage should be initialized before updating preferences.

        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
        (WKViewInitialize): Deleted.
        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::EwkView):
        Calls WKViewSetIsActive instead of WKViewInitialize not to change the behavior
        of EFL port.
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):
        Initialize just before creating WebPage because there is not use case to separate
        initializing WebPage from creating in CoordinatedGraphics.
        (WebKit::WebView::initialize): Deleted.
        * UIProcess/CoordinatedGraphics/WebView.h:

2015-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to handle beforeunload events
        https://bugs.webkit.org/show_bug.cgi?id=139090

        Reviewed by Gustavo Noronha Silva.

        beforeunload is fired when a page is about to be closed, to ask
        the user for confirmation. This happens when reloading a page,
        when navigating to another page or when the page is closed by a
        user action (a tab or window closed). In the first two cases, the
        event is automatically fired by WebCore, but in the case of a user
        action we need additional API to ensure the event is fired before
        the page is closed. A new script dialog type has been added to
        handle beforeunload events and webkit_web_view_try_close() to
        allow applications to try to close the page.

        * UIProcess/API/gtk/WebKitScriptDialog.cpp:
        (webkit_script_dialog_confirm_set_confirmed): BeforeUnloadConfirm
        dialogs can also be confirmed.
        * UIProcess/API/gtk/WebKitScriptDialog.h: Add
        WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM script dialog type.
        * UIProcess/API/gtk/WebKitUIClient.cpp: Implement
        canRunBeforeUnloadConfirmPanel() and runBeforeUnloadConfirmPanel().
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewCreateJavaScriptDialog): Add secondaryText optional
        parameter for BeforeUnloadConfirm dialogs. Do not set the default
        response if the dialog was created without buttons.
        (webkitWebViewScriptDialog): Handle
        WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM script dialog type to
        create a message dialog for beforeunlos events.
        (webkit_web_view_class_init): Update documentation of
        WebKitWebView::close and WebKitWebView::script-dialog.
        (webkitWebViewRunJavaScriptBeforeUnloadConfirm): Emit WebKitWebView::script-dialog.
        (webkit_web_view_try_close): Try to close the page.
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

2015-12-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Missing to set ignoreTLSError to NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=152047

        Reviewed by Csaba Osztrogonác.

        NetworkProcess has been enabled for all ports since r192796 though, EFL port
        didn't send the ignoreTLSError value to NetworkProcess. This has caused failure of EFL API tests
        related with ssl feature.

        * UIProcess/efl/WebProcessPoolEfl.cpp:
        (WebKit::WebProcessPool::setIgnoreTLSErrors):

2015-12-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] REGRESSION(r193616): WKPreferences test has been failed since r193616
        https://bugs.webkit.org/show_bug.cgi?id=151942

        Reviewed by Darin Adler.

        As wkpreference settings were moved from EwkView to WKPreferenceEfl, the offline-web-application-cache feature
        is enabled by default when running API test. It seems this option should be enabled by MiniBrowser.

        * UIProcess/efl/WebPreferencesEfl.cpp:
        (WebKit::WebPreferences::platformInitializeStore): Remove to enable web application cache feature here.

2015-12-09  Ryuan Choi  <ryuan.choi@navercorp.com>

        [CoordinatedGraphics] layerTreeHost always exist in CoordinatedDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=151987

        Reviewed by Darin Adler.

        CoordinatedGraphics using UI side compositor always forces accelerated compositing.
        This patch cleans up dead code for layerTreeHost which always exists.

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::paint): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::setBackingStoreIsDiscardable): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::update): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::discardBackingStoreSoon): Deleted.
        (WebKit::CoordinatedDrawingAreaProxy::discardBackingStore): Deleted.
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
        (WebKit::CoordinatedDrawingAreaProxy::setBackingStoreIsDiscardable):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
        (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea): Deleted.
        (WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers): Deleted.
        (WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush): Deleted.
        (WebKit::CoordinatedDrawingArea::didUpdate): Deleted.
        (WebKit::CoordinatedDrawingArea::enterAcceleratedCompositingMode): Deleted.
        (WebKit::CoordinatedDrawingArea::scheduleDisplay): Deleted.
        (WebKit::CoordinatedDrawingArea::displayTimerFired): Deleted.
        (WebKit::CoordinatedDrawingArea::display): Deleted.
        (WebKit::shouldPaintBoundsRect): Deleted.
        (WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer): Deleted.
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:

2015-12-08  Alex Christensen  <achristensen@webkit.org>

        Progress towards implementing downloads with NetworkSession
        https://bugs.webkit.org/show_bug.cgi?id=151883

        Reviewed by Brady Eidson.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::~NetworkLoad):
        (WebKit::NetworkLoad::continueDidReceiveResponse):
        (WebKit::NetworkLoad::convertTaskToDownload):
        (WebKit::NetworkLoad::willPerformHTTPRedirection):
        (WebKit::NetworkLoad::didReceiveChallenge):
        (WebKit::NetworkLoad::didReceiveResponse):
        (WebKit::NetworkLoad::didReceiveData):
        (WebKit::NetworkLoad::didCompleteWithError):
        (WebKit::NetworkLoad::didBecomeDownload):
        (WebKit::NetworkLoad::didReceiveResponseAsync):
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkLoadClient.h:
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::cleanup):
        (WebKit::NetworkResourceLoader::didConvertToDownload):
        (WebKit::NetworkResourceLoader::abort):
        (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Deleted.
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
        (WebKit::NetworkSession::~NetworkSession): Deleted.
        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[NetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
        (-[NetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
        (WebKit::NetworkSession::NetworkSession):
        (WebKit::NetworkSession::~NetworkSession):
        (WebKit::NetworkSession::createDataTaskWithRequest):
        * Shared/Downloads/Download.h:
        * Shared/Downloads/DownloadManager.h:
        (WebKit::DownloadManager::isDownloading):
        (WebKit::DownloadManager::activeDownloadCount):

2015-12-08  Joseph Pecoraro  <pecoraro@apple.com>

        Create a Sandbox SPI header
        https://bugs.webkit.org/show_bug.cgi?id=151981

        Reviewed by Andy Estes.

        * PluginProcess/mac/PluginProcessShim.mm:
        * Shared/ios/ChildProcessIOS.mm:
        * Shared/mac/ChildProcessMac.mm:
        * Shared/mac/SandboxUtilities.mm:

2015-12-08  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Rename UserMediaClient and UserMediaController methods
        https://bugs.webkit.org/show_bug.cgi?id=152001

        Reviewed by Brady Eidson.

        * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
        (WebKit::WebUserMediaClient::pageDestroyed):
        (WebKit::WebUserMediaClient::requestUserMediaAccess):
        (WebKit::WebUserMediaClient::cancelUserMediaAccessRequest):
        (WebKit::WebUserMediaClient::requestPermission): Deleted.
        (WebKit::WebUserMediaClient::cancelRequest): Deleted.
        * WebProcess/WebCoreSupport/WebUserMediaClient.h:

2015-12-08  Tomas Popela  <tpopela@redhat.com>

        [GTK] Remove an unused variable from WebKitWebContext
        https://bugs.webkit.org/show_bug.cgi?id=151999

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitWebContext.cpp:

2015-12-08  Chris Dumez  <cdumez@apple.com>

        Add diagnostic logging to measure speculative revalidation accuracy
        https://bugs.webkit.org/show_bug.cgi?id=151953
        <rdar://problem/23092196>

        Reviewed by Darin Adler.

        We track the following:
        1. Resources we knew about AND did not get requested
           A. We did not speculate (Good)
           B. We speculated but did not go to network (Bad)
           C. We speculated and went to network (Very bad)
        2. Resources we did not know about (Neutral)
        3. Resources we knew about AND got requested
           A. We did not speculate (Bad)
           B. We speculated but did not go to network (Good)
           C. We speculated and went to network (Very good)

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::retrieve):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
        (WebKit::NetworkCache::allSpeculativeLoadingDiagnosticMessages):
        (WebKit::NetworkCache::printSpeculativeLoadingDiagnosticMessageCounts):
        (WebKit::NetworkCache::logSpeculativeLoadingDiagnosticMessage):
        (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::wasRevalidated):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markLoadAsCompleted):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieve):
        (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
        (WebKit::NetworkCache::makeSubresourcesKey): Deleted.
        (WebKit::NetworkCache::constructRevalidationRequest): Deleted.
        (WebKit::NetworkCache::responseNeedsRevalidation): Deleted.
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady): Deleted.
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage): Deleted.
        (WebKit::NetworkCache::SpeculativeLoadManager::satisfyPendingRequests): Deleted.
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:

2015-12-08  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL] REGRESSION(r173394): MiniBrowser stucked in an infinite loop if NETWORK_CACHE is disabled
        https://bugs.webkit.org/show_bug.cgi?id=137692

        Reviewed by Darin Adler.

        * WebProcess/Network/WebLoaderStrategy.cpp:
        (WebKit::maximumBufferingTime): Disable caching if NETWORK_CACHE is disabled.

2015-12-08  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Add API to provide preferences before creating ewk_view
        https://bugs.webkit.org/show_bug.cgi?id=151587

        Reviewed by Gyuyoung Kim.

        This patch adds ewk_view_configuration_settings_get to provide preferences
        before createing ewk_view.

        * PlatformEfl.cmake:
        * UIProcess/API/efl/ewk_view_configuration.cpp:
        (EwkViewConfiguration::EwkViewConfiguration):
        (ewk_view_configuration_settings_get):
        * UIProcess/API/efl/ewk_view_configuration.h:
        * UIProcess/API/efl/ewk_view_configuration_private.h:
        (EwkViewConfiguration::pageGroup):
        * UIProcess/API/efl/tests/test_ewk2_view_configuration.cpp:
        (TEST_F): Added test case for ewk_view_configuration_settings_get().

2015-12-07  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Notify WebCore when notification is clicked
        https://bugs.webkit.org/show_bug.cgi?id=151951

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitNotification.cpp:
        (webkit_notification_class_init): new clicked signal.
        (webkit_notification_clicked): method to emit the clicked signal.
        * UIProcess/API/gtk/WebKitNotification.h:
        * UIProcess/API/gtk/WebKitNotificationProvider.cpp:
        (WebKitNotificationProvider::notificationClickedCallback): handle the clicked signal and tell WebProcess about the click.
        (WebKitNotificationProvider::show): connect to the clicked signal in addition to closed.
        * UIProcess/API/gtk/WebKitNotificationProvider.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (notifyNotificationClicked): handle the click on our libnotify notification.
        (webkitWebViewShowNotification): add the "default" action to our libnotify notification to be notified of the click.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

2015-12-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r193655.
        https://bugs.webkit.org/show_bug.cgi?id=151970

        This change broke existing LayoutTests on mac-wk2 (Requested
        by ryanhaddad on #webkit).

        Reverted changeset:

        "UIProcess should determine AppNap state for WebPage"
        https://bugs.webkit.org/show_bug.cgi?id=151964
        http://trac.webkit.org/changeset/193655

2015-12-05  Gavin Barraclough  <barraclough@apple.com>

        UIProcess should determine AppNap state for WebPage
        https://bugs.webkit.org/show_bug.cgi?id=151964

        Reviewed by Anders Carlson.

        Step 1 in unifying this with the iOS process suppression mechanism is to move the decision out of the WebContent process.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::dispatchViewStateChange):
        (WebKit::WebPageProxy::setPageActivityState):
        (WebKit::WebPageProxy::updateActivityToken):
        (WebKit::WebPageProxy::preferencesDidChange):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::isInWindow):
        (WebKit::WebPageProxy::didUpdateViewState):
        * UIProcess/WebPageProxy.messages.in:
            - WebPage now propagates PageActivityState to the WebPageProxy, for use
              determining the supression state of the WebProcess.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::m_shouldDispatchFakeMouseMoveEvents):
        (WebKit::WebPage::setPageActivityState):
        (WebKit::WebPage::setUserActivityStarted):
        (WebKit::WebPage::setViewState):
        (WebKit::WebPage::updatePreferences):
        (WebKit::WebPage::updateUserActivity): Deleted.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
            - WebPage no longer determines when to update it's own UserActivity - instead,
              let the UI process do so. As such, no longer need to track whether process
              supression is enabled. Instead, add message to

2015-12-07  Chris Dumez  <cdumez@apple.com>

        [WK2] Regression(r187691): If a page is showing an auth pane in one tab, any new tabs with same page hang until credentials are entered in first tab
        https://bugs.webkit.org/show_bug.cgi?id=151960
        <rdar://problem/23618112>

        Reviewed by Alex Christensen.

        After r187691, if a page is showing an auth pane in one tab, any new
        tabs with same page hang until credentials are entered in first tab.
        This is because we coalescing all authentication challenges from the
        same domain, no matter what tab they are for. This can be confusing
        so we now only coalesce authentication challenges within each tab,
        by leveraging the pageID (in addition to the domain).

        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::shouldCoalesceChallenge):
        (WebKit::AuthenticationManager::coalesceChallengesMatching):
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        * Shared/Authentication/AuthenticationManager.h:

2015-12-07  Beth Dakin  <bdakin@apple.com>

        Hook up request and show for typing candidates in WK1
        https://bugs.webkit.org/show_bug.cgi?id=151831
        -and corresponding-
        <rdar://problem/23751214>

        Reviewed by Enrica Casucci.

        Empty client for now.
        * WebProcess/WebCoreSupport/WebEditorClient.h:

2015-12-07  Philippe Normand  <pnormand@igalia.com>

        [GTK][Mac] socketpair assertion failure
        https://bugs.webkit.org/show_bug.cgi?id=151293

        Reviewed by Carlos Garcia Campos.

        * Platform/IPC/unix/ConnectionUnix.cpp: Don't use SEQPACKET sockets on Darwin.

2015-12-07  Gwang Yoon Hwang  <yoon@igalia.com>

        [ThreadedCompositor] Add support for PlatformLayer.
        https://bugs.webkit.org/show_bug.cgi?id=143299

        Reviewed by Žan Doberšek.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
        Swap pending buffers of TextureMapperPlatformLayerProxies before painting contents.
        (WebKit::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
        In threaded compositor, CoordinatedGraphicsScence only cares about creation and deletion
        of platform layers.

        (WebKit::CoordinatedGraphicsScene::onNewBufferAvailable):
        Whenever new buffer comes via TextureMapperPlatformLayerProxy, CoordinatedGraphicsScene will
        update the scene if it is needed.

2015-12-07  Mario Sanchez Prada  <mario@endlessm.com>

        [GTK] Allow applications to force Accelerated Compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=150558

        Reviewed by Carlos Garcia Campos.

        Enable forcing Accelerated Compositing mode to be always on if
        a WEBKIT_FORCE_COMPOSITING_MODE environment variable is set.

        This can be useful for controlled environments where we know that
        AC always on works well enough, to get smoother animations.

        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore): Set forceCompositingMode
        setting to true if the environment variable is found.

2015-12-07  Jon Forsberg  <jon.orebro@gmail.com>

        [GTK] Add webkit_uri_request_get_http_method
        https://bugs.webkit.org/show_bug.cgi?id=151601

        Reviewed by Martin Robinson.

        Add a method to get the HTTP method of a WebKitURIRequest.

        * UIProcess/API/gtk/WebKitURIRequest.cpp:
        (webkit_uri_request_get_http_method):
        * UIProcess/API/gtk/WebKitURIRequest.h:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

2015-12-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add WebKitWebPage::console-message-sent signal to Web Extensions API
        https://bugs.webkit.org/show_bug.cgi?id=79918

        Reviewed by Gustavo Noronha Silva.

        Add WebKitConsoleMessage boxed type that is passed to the
        WebKitWebPage::console-message-sent signal with all the details
        about the message.

        * PlatformGTK.cmake: Add new files to compilation.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_console_message_get_type.
        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section to the docs.
        * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
        (API::InjectedBundle::PageUIClient::willAddMessageToConsole): Add
        paramaters for all console message details.
        * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp: Added.
        (webkit_console_message_copy):
        (webkit_console_message_free):
        (webkit_console_message_get_source):
        (webkit_console_message_get_level):
        (webkit_console_message_get_text):
        (webkit_console_message_get_line):
        (webkit_console_message_get_source_id):
        * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.h: Added.
        * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessagePrivate.h: Added.
        (_WebKitConsoleMessage::_WebKitConsoleMessage):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (webkitWebPageDidSendConsoleMessage): Emit the
        WebKitWebPage::console-message-sent signal.
        (didReceiveResponseForResource): Generate a console message in
        case of HTTP failure >= 400 for consistency with the inspector.
        (didFailLoadForResource): Generate a console message in case of
        resource load failure for consistency with the inspector.
        (webkit_web_page_class_init): Add WebKitWebPage::console-message-sent signal.
        (webkitWebPageCreate): Set custom UI client.
        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
        (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::addMessageToConsole): Pass all the
        console message details to the ui client.

2015-12-07  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] MiniBrowser doesn't exit when called ewk_view_try_close()
        https://bugs.webkit.org/show_bug.cgi?id=151934

        Reviewed by Csaba Osztrogonác.

        * UIProcess/API/efl/ewk_view.cpp:
        (ewk_view_try_close):
        Called window_close callback immediately when WKPageTryClose returns true.
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (TEST_F): Improved test cases for try_close to test when content does not contain
        onbeforeunload callback.

2015-12-07  Jaehun Lim  <ljaehun.lim@samsung.com>

        [EFL] Moving preference settings from EwkView to WebPreferencesEfl
        https://bugs.webkit.org/show_bug.cgi?id=151928

        Reviewed by Gyuyoung Kim.

        It implements WebPreferences::platformInitializeStore() in WebPreferencesEfl.cpp.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::EwkView):
        * UIProcess/efl/WebPreferencesEfl.cpp:
        (WebKit::WebPreferences::platformInitializeStore):

2015-12-04  Anders Carlsson  <andersca@apple.com>

        Crash when secondary clicking on a link on yahoo.com
        https://bugs.webkit.org/show_bug.cgi?id=151900
        rdar://problem/23765149

        Reviewed by Beth Dakin.

        Don't use +[NSURL URLWithString:] since it doesn't handle invalid URLs as well as WebCore::URL.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::createShareMenuItem):

2015-12-04  Beth Dakin  <bdakin@apple.com>

        Crash in clients using userData in 
        _immediateActionAnimationControllerForHitTestResult
        https://bugs.webkit.org/show_bug.cgi?id=151887

        Rubber-stamped by Anders Carlsson.

        Follow-up fix to handle null userData.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):

2015-12-04  Beth Dakin  <bdakin@apple.com>

        Crash in clients using userData in 
        _immediateActionAnimationControllerForHitTestResult
        https://bugs.webkit.org/show_bug.cgi?id=151887

        Reviewed by Sam Weinig.

        Cast this correctly.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):

2015-12-04  Gavin Barraclough  <barraclough@apple.com>

        Background state not being tracked correctly for PDFs on iOS
        https://bugs.webkit.org/show_bug.cgi?id=151886

        Reviewed by Anders Carlson.

        The problem here is that when viewing a PDF we don't have an ApplicationStateTracker.
        (While we do have a content view - which normally holds the ApplicationStateTracker -
        the content view is not in a window, and only has an ApplicationStateTracker while in a
        window). For now, let's give the WKPDFView an ApplicationStateTracker of its very own.
        In the future we may want to refactor ownership of the ApplicationStateTracker up to
        the WKWebView.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _isBackground]):
            - Added, checks background state of content/PDF view.
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
            - expose _isBackground to PageClientImplIOS.
        * UIProcess/ApplicationStateTracker.h:
        (WebKit::ApplicationStateTracker::isInBackground):
        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::isBackgroundState):
        (WebKit::ApplicationStateTracker::ApplicationStateTracker):
            - generalize WKContentView -> UIView, so this may now also be a WKPDFView.
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::isViewVisible):
            - check background state via the WKWebView.
        * UIProcess/ios/WKPDFView.h:
        * UIProcess/ios/WKPDFView.mm:
        (-[WKPDFView willMoveToWindow:]):
        (-[WKPDFView didMoveToWindow]):
        (-[WKPDFView isBackground]):
        (-[WKPDFView _applicationDidEnterBackground]):
        (-[WKPDFView _applicationWillEnterForeground]):
            - added methods to initialize ApplicationStateTracker, access background state, & callbacks to the page proxy.

2015-12-04  Antti Koivisto  <antti@apple.com>

        Rename WebResourceLoadScheduler to WebLoaderStrategy
        https://bugs.webkit.org/show_bug.cgi?id=151854

        Reviewed by Anders Carlsson.

        It implements WebCore::LoaderStrategy and doesn't do any scheduling.

        * CMakeLists.txt:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Network/NetworkProcessConnection.cpp:
        (WebKit::NetworkProcessConnection::didReceiveMessage):
        * WebProcess/Network/WebLoaderStrategy.cpp: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp.
        (WebKit::WebLoaderStrategy::WebLoaderStrategy):
        (WebKit::WebLoaderStrategy::~WebLoaderStrategy):
        (WebKit::WebLoaderStrategy::loadResource):
        (WebKit::WebLoaderStrategy::schedulePluginStreamLoad):
        (WebKit::maximumBufferingTime):
        (WebKit::WebLoaderStrategy::scheduleLoad):
        (WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
        (WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired):
        (WebKit::WebLoaderStrategy::startLocalLoad):
        (WebKit::WebLoaderStrategy::remove):
        (WebKit::WebLoaderStrategy::setDefersLoading):
        (WebKit::WebLoaderStrategy::crossOriginRedirectReceived):
        (WebKit::WebLoaderStrategy::servePendingRequests):
        (WebKit::WebLoaderStrategy::suspendPendingRequests):
        (WebKit::WebLoaderStrategy::resumePendingRequests):
        (WebKit::WebLoaderStrategy::networkProcessCrashed):
        (WebKit::WebLoaderStrategy::loadResourceSynchronously):
        (WebKit::WebLoaderStrategy::createPingHandle):
        (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler): Deleted.
        (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler): Deleted.
        (WebKit::WebResourceLoadScheduler::loadResource): Deleted.
        (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad): Deleted.
        (WebKit::WebResourceLoadScheduler::scheduleLoad): Deleted.
        (WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad): Deleted.
        (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired): Deleted.
        (WebKit::WebResourceLoadScheduler::startLocalLoad): Deleted.
        (WebKit::WebResourceLoadScheduler::remove): Deleted.
        (WebKit::WebResourceLoadScheduler::setDefersLoading): Deleted.
        (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Deleted.
        (WebKit::WebResourceLoadScheduler::servePendingRequests): Deleted.
        (WebKit::WebResourceLoadScheduler::suspendPendingRequests): Deleted.
        (WebKit::WebResourceLoadScheduler::resumePendingRequests): Deleted.
        (WebKit::WebResourceLoadScheduler::networkProcessCrashed): Deleted.
        (WebKit::WebResourceLoadScheduler::loadResourceSynchronously): Deleted.
        (WebKit::WebResourceLoadScheduler::createPingHandle): Deleted.
        * WebProcess/Network/WebLoaderStrategy.h: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h.
        (WebKit::WebLoaderStrategy::webResourceLoaderForIdentifier):
        (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier): Deleted.
        * WebProcess/Network/WebResourceLoadScheduler.cpp: Removed.
        * WebProcess/Network/WebResourceLoadScheduler.h: Removed.
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::Stream::start):
        (WebKit::PluginView::Stream::cancel):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createLoaderStrategy):
        (WebKit::WebPlatformStrategies::createPasteboardStrategy):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess):
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::networkProcessConnectionClosed):
        (WebKit::WebProcess::webLoaderStrategy):
        (WebKit::WebProcess::webResourceLoadScheduler): Deleted.
        * WebProcess/WebProcess.h:

2015-12-03  Simon Fraser  <simon.fraser@apple.com>

        Have layer memory use consult the backing store format
        https://bugs.webkit.org/show_bug.cgi?id=151827
        rdar://problem/23746497

        Reviewed by Dean Jackson.

        When computing the backing store memory size, take the pixel format into account,
        rather than assuming 4 bytes per pixel.

        * Shared/mac/RemoteLayerBackingStore.h:
        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::bytesPerPixel):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (WebKit::PlatformCALayerRemote::backingStoreBytesPerPixel):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

2015-12-03  Jer Noble  <jer.noble@apple.com>

        Expose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=151830

        Reviewed by Anders Carlsson.

        Add a new, private WKWebViewConfiguration property _invisibleAutoplayNotPermitted.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]):
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration _invisibleAutoplayNotPermitted]):
        (-[WKWebViewConfiguration _setInvisibleAutoplayNotPermitted:]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-12-03  Sam Weinig  <sam@webkit.org>

        It should be possible to use version 6 of the WKPageUIClient without adopting the new createNewPage
        https://bugs.webkit.org/show_bug.cgi?id=151826

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        Pick which variant of createNewPage to use based on which function pointer is available,
        not the version number.

2015-12-03  Anders Carlsson  <andersca@apple.com>

        Remove Objective-C GC support
        https://bugs.webkit.org/show_bug.cgi?id=151819
        rdar://problem/23746991

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:
        * Configurations/BaseLegacyProcess.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Deleted.

2015-12-03  Jer Noble  <jer.noble@apple.com>

        Unreviewed build-fix; fix !HAVE(AVKIT) build after r193340.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive):

2015-12-03  Sam Weinig  <sam@webkit.org>

        Need completionHandler-based WebKit C SPI for alert, confirm, and prompt
        <rdar://problem/23320863>
        https://bugs.webkit.org/show_bug.cgi?id=151708

        (Add missing function definitions)

        * UIProcess/API/C/WKPage.cpp:
        (WKPageRunJavaScriptAlertResultListenerGetTypeID):
        (WKPageRunJavaScriptAlertResultListenerCall):
        (WKPageRunJavaScriptConfirmResultListenerGetTypeID):
        (WKPageRunJavaScriptConfirmResultListenerCall):
        (WKPageRunJavaScriptPromptResultListenerGetTypeID):
        (WKPageRunJavaScriptPromptResultListenerCall):

2015-12-03  Jer Noble  <jer.noble@apple.com>

        [iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
        https://bugs.webkit.org/show_bug.cgi?id=150906

        Reviewed by Simon Fraser.

        Add methods to pass isVisible(), applicationDidBecomeActive(), and requestFullscreenMode()
        to and from models and interfaces.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::applicationDidBecomeActive): Notify the fullscreen manager, if preset.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenModelContext::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum.
        (WebKit::WebVideoFullscreenModelContext::isVisible): Added.
        (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive): Pass to all existing interfaces.
        (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Do not re-create the view if it already exists.
        (WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum.
        (WebKit::WebVideoFullscreenManagerProxy::isVisible): Added. Query Page::isVisible() and Page::isInWindow(), the latter because
                PiP will cause Page::isVisible() to be TRUE even when the containing tab is backgrounded.
        (WebKit::WebVideoFullscreenModelContext::requestExitFullscreen): Deleted.
        (WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen): Deleted.
        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Only resize the view if we are not already in one of
                the fullscreen modes.
        (WebKit::WebVideoFullscreenManager::requestFullscreenMode): Renamed from requestExitFullscreen().
        (WebKit::WebVideoFullscreenManager::requestExitFullscreen): Deleted.

2015-12-02  Antti Koivisto  <antti@apple.com>

        Move ResourceLoadScheduler to WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=151743

        Reviewed by Alex Christensen.

        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
        (WebKit::NetworkProcessPlatformStrategies::createCookiesStrategy):
        (WebKit::NetworkProcessPlatformStrategies::createLoaderStrategy):
        (WebKit::NetworkProcessPlatformStrategies::createPasteboardStrategy):
        (WebKit::NetworkProcessPlatformStrategies::createPluginStrategy):
        (WebKit::NetworkProcessPlatformStrategies::createBlobRegistry):
        (WebKit::NetworkProcessPlatformStrategies::resourceLoadScheduler): Deleted.
        (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously): Deleted.
        * NetworkProcess/NetworkProcessPlatformStrategies.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
        (WebKit::WebResourceLoadScheduler::loadResource):
        (WebKit::WebResourceLoadScheduler::resumePendingRequests):
        (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
        (WebKit::WebResourceLoadScheduler::loadResourceSynchronously):
        (WebKit::WebResourceLoadScheduler::createPingHandle):
        (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad): Deleted.
        (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled): Deleted.
        * WebProcess/Network/WebResourceLoadScheduler.h:
        (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::Stream::start):
        (WebKit::PluginView::Stream::cancel):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createLoaderStrategy):
        (WebKit::WebPlatformStrategies::createPasteboardStrategy):
        (WebKit::WebPlatformStrategies::createPluginStrategy):
        (WebKit::WebPlatformStrategies::createBlobRegistry):
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::deleteCookie):
        (WebKit::WebPlatformStrategies::refreshPlugins):
        (WebKit::WebPlatformStrategies::resourceLoadScheduler): Deleted.
        (WebKit::WebPlatformStrategies::loadResourceSynchronously): Deleted.
        (WebKit::WebPlatformStrategies::createPingHandle): Deleted.
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:

2015-12-02  Alex Christensen  <achristensen@webkit.org>

        Fix authentication requests with NetworkSession and canHandleHTTPSServerTrustEvaluation true
        https://bugs.webkit.org/show_bug.cgi?id=151775
        rdar://problem/23586265

        Reviewed by Chris Dumez.

        In https://bugs.webkit.org/show_bug.cgi?id=150968 I copied functionality from 
        NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync into NetworkLoad::didReceiveChallenge
        but I overlooked the call to m_client.canAuthenticateAgainstProtectionSpaceAsync which is needed
        if canHandleHTTPSServerTrustEvaluation is true.  This adds that call and moves what should happen
        after that to NetworkLoad::continueCanAuthenticateAgainstProtectionSpace.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::didReceiveChallenge):
        (WebKit::NetworkLoad::didReceiveResponse):
        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkSession.h:
        * Shared/Authentication/AuthenticationManager.h:

2015-12-01  Hunseop Jeong  <hs85.jeong@samsung.com>

        Unreviewed, fix build after r192931.

        * CMakeLists.txt: Remove the WKOriginDataManager in CMakeLists.txt.

2015-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
        https://bugs.webkit.org/show_bug.cgi?id=150792

        Reviewed by Saam Barati.

        * Configurations/FeatureDefines.xcconfig:

2015-12-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r192914.
        https://bugs.webkit.org/show_bug.cgi?id=151734

        JSC tests for this change are failing on 32 and 64-bit bots
        (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "[ES6] Implement LLInt/Baseline Support for ES6 Generators and
        enable this feature"
        https://bugs.webkit.org/show_bug.cgi?id=150792
        http://trac.webkit.org/changeset/192914

2015-12-01  Anders Carlsson  <andersca@apple.com>

        Remove WKOriginDataManager
        https://bugs.webkit.org/show_bug.cgi?id=151723

        Reviewed by Andy Estes.

        * UIProcess/API/C/WKOriginDataManager.cpp: Removed.
        (WKOriginDataManagerGetTypeID): Deleted.
        (WKOriginDataManagerGetOrigins): Deleted.
        (WKOriginDataManagerDeleteEntriesForOrigin): Deleted.
        (WKOriginDataManagerDeleteEntriesModifiedBetweenDates): Deleted.
        (WKOriginDataManagerDeleteAllEntries): Deleted.
        * UIProcess/API/C/WKOriginDataManager.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2015-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
        https://bugs.webkit.org/show_bug.cgi?id=150792

        Reviewed by Saam Barati.

        * Configurations/FeatureDefines.xcconfig:

2015-12-01  Sam Weinig  <sam@webkit.org>

        Need completionHandler-based WebKit C SPI for alert, confirm, and prompt
        <rdar://problem/23320863>
        https://bugs.webkit.org/show_bug.cgi?id=151708

        Reviewed by Anders Carlsson.

        Add listener based versions of alert, confirm and prompt.

        * Shared/API/APIObject.h:
        * Shared/API/c/WKBase.h:
        * UIProcess/API/C/WKPage.cpp:
        (WebKit::RunJavaScriptAlertResultListener::create):
        (WebKit::RunJavaScriptAlertResultListener::~RunJavaScriptAlertResultListener):
        (WebKit::RunJavaScriptAlertResultListener::call):
        (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
        (WebKit::RunJavaScriptConfirmResultListener::create):
        (WebKit::RunJavaScriptConfirmResultListener::~RunJavaScriptConfirmResultListener):
        (WebKit::RunJavaScriptConfirmResultListener::call):
        (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
        (WebKit::RunJavaScriptPromptResultListener::create):
        (WebKit::RunJavaScriptPromptResultListener::~RunJavaScriptPromptResultListener):
        (WebKit::RunJavaScriptPromptResultListener::call):
        (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
        (WKPageSetPageUIClient):
        * UIProcess/API/C/WKPageUIClient.h:

2015-12-01  Anders Carlsson  <andersca@apple.com>

        Remove WebKit2.framework
        https://bugs.webkit.org/show_bug.cgi?id=151715

        Reviewed by Dan Bernstein.

        * Configurations/WebKit2.xcconfig: Removed.
        * UIProcess/API/Cocoa/WebKit2.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:
        * mac/Info-WebKit2.plist: Removed.
        * mac/MigrateHeadersToWebKit2.make: Removed.
        * mac/WebKit2.m: Removed.

2015-12-01  Alex Christensen  <achristensen@webkit.org>

        Use Optional for matrix inverses
        https://bugs.webkit.org/show_bug.cgi?id=151575

        Reviewed by Myles C. Maxfield.

        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::convertFromRootView):
        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::NetscapePlugin::convertPoint):
        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::convertFromPDFViewToRootView):
        (WebKit::PDFPlugin::convertFromPDFViewToScreen):
        (WebKit::PDFPlugin::boundsOnScreen):
        (WebKit::PDFPlugin::geometryDidChange):
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::geometryDidChange):

2015-12-01  Tim Horton  <timothy_horton@apple.com>

        Remove swipe snapshot before main document load if scroll position is already restored
        https://bugs.webkit.org/show_bug.cgi?id=151224

        Reviewed by Darin Adler.

        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::didRestoreScrollPosition):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didRestoreScrollPosition):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didRestoreScrollPosition):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::didRestoreScrollPosition):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didRestoreScrollPosition):
        * WebProcess/WebPage/WebPage.h:
        Plumb didRestoreScrollPosition through to ViewGestureController (yikes!).

        * UIProcess/ViewGestureController.cpp:
        (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
        Cancel waiting for any more loads if we get to firstVisuallyNonEmptyLayout.

        (WebKit::ViewGestureController::didReachMainFrameLoadTerminalState):
        Cancel waiting for scroll position restoration if we make it to main frame load,
        because there is a chance we won't be able to restore the old scroll position, and
        by main frame load time we've tried as hard as we're going to to restore it.

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::endSwipeGesture):
        Make some legacy-style-only code clearer that it's legacy-style-only.
        Wait for scroll position restoration.

2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r192834): [GTK] Test /webkit2/WebKitWebView/editor-state/typing-attributes times out after r192834
        https://bugs.webkit.org/show_bug.cgi?id=151699

        Reviewed by Tim Horton.

        In r192834 the code to send EditorStateChanged message to the UI
        process from WebPage::didChangeSelection was removed for non-mac
        ports.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didChangeSelection): Send EditorStateChanged
        message to the UI process also for non-mac ports, as before r192834.

2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix timeouts in several HTTP layout tests in GTK+ after r192796.

        In r192796, the initialization of m_ignoreTLSErrors in
        WebProcessPool was removed by mistake, making all HTTP tests that use
        HTTPS fail due to invalid certificate errors.

        * UIProcess/WebProcessPool.h: Bring back m_ignoreTLSErrors initialization.

2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r192247): [GTK] ASSERTION FAILED: type == WebCore::ActionType || type == WebCore::CheckableActionType || type == WebCore::SeparatorType
        https://bugs.webkit.org/show_bug.cgi?id=151513

        Reviewed by Martin Robinson.

        This happens because we are using our own WebContextMenuItemGtk
        derived from WebContextMenuItemData, but using our own submenu
        items handling. We are using the non-submenu
        WebContextMenuItemData constructor to create our submenu items
        too, because WebContextMenuItemData always expect the submenu
        items to be passed to the constructor, but we have a set_submenu
        method in the public API. So we consider that a
        WebContextMenuItemGtk is SubmenuType if it has submenu items, but
        we use the action type internally. When converting a
        WebContextMenuItemGtk to a generic WebContextMenuItemData, we
        correctly set the type and pass the submenu items to the
        approriate constructor.

        * Shared/gtk/WebContextMenuItemGtk.cpp:
        (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk): When
        constructing from a WebContextMenuItemData, set the type as
        ActionType when it's a submenu type.
        * Shared/gtk/WebContextMenuItemGtk.h:
        (WebKit::WebContextMenuItemGtk::type): Return SubmenuType if
        submenu items vector is not empty, otherwise use the parent method.
        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        (webkit_context_menu_item_new_with_submenu): Create the
        WebContextMenuItemGtk as ActionType.

2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Add missing inspector files to the GTK+ build.

        * PlatformGTK.cmake: Add also Debug css files.

2015-11-30  Alexey Proskuryakov  <ap@apple.com>

        Build fix for some compiler versions.

        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Disable deprecation warnings while
        processing SOFT_LINK_CLASS too.

2015-11-30  Jiewen Tan  <jiewen_tan@apple.com>

        Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html
        https://bugs.webkit.org/show_bug.cgi?id=149309
        <rdar://problem/22748363>

        Reviewed by Brent Fulgham.

        Callback of bundle clients could kill the documentloader. Therefore, make a copy
        of the navigationID before invoking the callback.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):

2015-11-30  Tim Horton  <timothy_horton@apple.com>

        Get rid of the !USE(ASYNC_NSTEXTINPUTCLIENT) codepath
        https://bugs.webkit.org/show_bug.cgi?id=151673

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::resignFirstResponder): Deleted.
        (WebKit::WebViewImpl::interpretKeyEvent): Deleted.
        (WebKit::WebViewImpl::executeSavedKeypressCommands): Deleted.
        (WebKit::WebViewImpl::doCommandBySelector): Deleted.
        (WebKit::WebViewImpl::insertText): Deleted.
        (WebKit::WebViewImpl::inputContext): Deleted.
        (WebKit::WebViewImpl::selectedRange): Deleted.
        (WebKit::WebViewImpl::hasMarkedText): Deleted.
        (WebKit::WebViewImpl::unmarkText): Deleted.
        (WebKit::WebViewImpl::setMarkedText): Deleted.
        (WebKit::WebViewImpl::markedRange): Deleted.
        (WebKit::WebViewImpl::attributedSubstringForProposedRange): Deleted.
        (WebKit::WebViewImpl::characterIndexForPoint): Deleted.
        (WebKit::WebViewImpl::firstRectForCharacterRange): Deleted.
        (WebKit::WebViewImpl::performKeyEquivalent): Deleted.
        (WebKit::WebViewImpl::keyUp): Deleted.
        (WebKit::WebViewImpl::keyDown): Deleted.
        (WebKit::WebViewImpl::flagsChanged): Deleted.
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy): Deleted.
        (WebKit::WebPageProxy::resetStateAfterProcessExited): Deleted.
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::notifyApplicationAboutInputContextChange): Deleted.
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::setComposition): Deleted.
        (WebKit::WebPageProxy::confirmComposition): Deleted.
        (WebKit::WebPageProxy::insertText): Deleted.
        (WebKit::WebPageProxy::insertDictatedText): Deleted.
        (WebKit::WebPageProxy::getMarkedRange): Deleted.
        (WebKit::WebPageProxy::getSelectedRange): Deleted.
        (WebKit::WebPageProxy::getAttributedSubstringFromRange): Deleted.
        (WebKit::WebPageProxy::characterIndexForPoint): Deleted.
        (WebKit::WebPageProxy::firstRectForCharacterRange): Deleted.
        (WebKit::WebPageProxy::executeKeypressCommands): Deleted.
        (WebKit::WebPageProxy::cancelComposition): Deleted.
        (WebKit::WebPageProxy::editorStateChanged): Deleted.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didChangeSelection):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::setComposition): Deleted.
        (WebKit::WebPage::confirmComposition): Deleted.
        (WebKit::WebPage::insertText): Deleted.
        (WebKit::WebPage::insertDictatedText): Deleted.
        (WebKit::WebPage::getMarkedRange): Deleted.
        (WebKit::WebPage::getSelectedRange): Deleted.
        (WebKit::WebPage::getAttributedSubstringFromRange): Deleted.
        (WebKit::WebPage::characterIndexForPoint): Deleted.
        (WebKit::WebPage::firstRectForCharacterRange): Deleted.
        (WebKit::WebPage::executeKeypressCommands): Deleted.
        (WebKit::WebPage::cancelComposition): Deleted.

2015-11-30  Tim Horton  <timothy_horton@apple.com>

        Remove some unused synchronous drawing SPI
        https://bugs.webkit.org/show_bug.cgi?id=151672

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView forceAsyncDrawingAreaSizeUpdate:]): Deleted.
        (-[WKView waitForAsyncDrawingAreaSizeUpdate]): Deleted.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate): Deleted.
        (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate): Deleted.

2015-11-30  Tim Horton  <timothy_horton@apple.com>

        Get rid of the legacy swipe shadow style
        https://bugs.webkit.org/show_bug.cgi?id=151671

        Reviewed by Anders Carlsson.

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture): Deleted.
        (WebKit::ViewGestureController::handleSwipeGesture): Deleted.
        (WebKit::ViewGestureController::removeSwipeSnapshot): Deleted.
        It is no longer needed.

2015-11-30  Tim Horton  <timothy_horton@apple.com>

        [iOS] Option-up and Option-down should scroll a little less than a full page
        https://bugs.webkit.org/show_bug.cgi?id=151538
        <rdar://problem/23642675>

        Reviewed by Simon Fraser.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _scrollOffsetForEvent:]):
        (-[WKContentView _interpretKeyEvent:isCharEvent:]):
        Clean up the code a little, and adjust so that we *always* use pageStep
        instead of just scrolling by the unobscured rect when scrolling by a page.
        Previously, we did for the spacebar, but not for option-up and option-down.

2015-11-30  Brian Burg  <bburg@apple.com>

        Web Inspector: using "Reload Web Inspector" when docked breaks dock-specific styles
        https://bugs.webkit.org/show_bug.cgi?id=151642

        Reviewed by Timothy Hatcher.

        After a frontend loads, explicitly tell it about the current dock
        state. This is necessary for force-reloading the inspector, since
        the dock state isn't sent from UIProcess in this case.

        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::frontendLoaded):
        (WebKit::WebInspectorUI::setDockingUnavailable):
        * WebProcess/WebPage/WebInspectorUI.h:

2015-11-30  Alex Christensen  <achristensen@webkit.org>

        Make ProcessModel always MultipleSecondaryProcesses
        https://bugs.webkit.org/show_bug.cgi?id=151662

        Reviewed by Antti Koivisto.

        Single WebProcess behavior can still be achieved by setting the maximum number of WebProcesses to 1.

        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKContextSetUsesNetworkProcess):
        (WKContextSetProcessModel):
        (WKContextGetProcessModel):
        (WKGraphicsContextGetCGContext):
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::createWithLegacyOptions):
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toAPI):
        (WebKit::toFontSmoothingLevel):
        (WebKit::toProcessModel): Deleted.
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetCacheModel):
        (WKContextSetMaximumNumberOfProcesses):
        (WKContextSetProcessModel): Deleted.
        (WKContextGetProcessModel): Deleted.
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        * UIProcess/API/Cocoa/WKProcessPool.mm:
        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::cacheModel):
        (EwkContext::setProcessModel):
        (EwkContext::processModel):
        (EwkContext::clearResourceCache):
        (EwkContext::jsGlobalContext):
        (ewk_context_message_from_extensions_callback_set):
        (ewk_context_process_model_set):
        (ewk_context_process_model_get):
        (ewk_context_tls_error_policy_get):
        (toWKProcessModel): Deleted.
        (toEwkProcessModel): Deleted.
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        * UIProcess/ProcessModel.h: Removed.
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::shouldTerminate):
        (WebKit::WebCookieManagerProxy::refWebContextSupplement):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::inspectorProcessPool):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::reattachToWebProcess):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::create):
        (WebKit::WebProcessPool::setDownloadClient):
        (WebKit::WebProcessPool::setMaximumNumberOfProcesses):
        (WebKit::WebProcessPool::processDidCachePage):
        (WebKit::WebProcessPool::createNewWebProcess):
        (WebKit::WebProcessPool::disconnectProcess):
        (WebKit::WebProcessPool::createWebPage):
        (WebKit::WebProcessPool::postMessageToInjectedBundle):
        (WebKit::WebProcessPool::requestWebContentStatistics):
        (WebKit::WebProcessPool::requestNetworkingStatistics):
        (WebKit::WebProcessPool::setProcessModel): Deleted.
        (WebKit::WebProcessPool::ensureSharedWebProcess): Deleted.
        * UIProcess/WebProcessPool.h:
        (WebKit::WebProcessPool::sendToAllProcessesRelaunchingThemIfNecessary):
        (WebKit::WebProcessPool::sendToOneProcess):
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-30  Chris Dumez  <cdumez@apple.com>

        [WK2][Cache] We should not speculatively revalidate transient resources
        https://bugs.webkit.org/show_bug.cgi?id=151402
        <rdar://problem/23092196>

        Reviewed by Antti Koivisto.

        We should not speculatively revalidate transient resources. This patch
        adds a simple and conservative algorithm to detect that a subresource is
        transient and then ignores those when doing the speculative revalidation.

        The algorithm is question marks as transient all subresources that are
        not common to the 2 last loads of a main resource.

        This is not perfect as I see the number of non-speculative revalidations
        going up to 11-12 from 9 in the context of the warm PLT. However, it is
        best to be conservative at first and we can improve this later.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::retrieve):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::~PendingFrameLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresource):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markLoadAsCompleted):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::setExistingSubresourcesEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady):
        (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieve): Deleted.
        (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): Deleted.
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
        * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
        (WebKit::NetworkCache::SubresourcesEntry::encodeAsStorageRecord):
        (WebKit::NetworkCache::SubresourcesEntry::decodeStorageRecord):
        (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
        (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceKeys):
        * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
        (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::encode):
        (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::decode):
        (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::SubresourceInfo):
        (WebKit::NetworkCache::SubresourcesEntry::subresources):

2015-11-30  Brent Fulgham  <bfulgham@apple.com>

        [Mac] Add font service permission to the sandbox profile
        https://bugs.webkit.org/show_bug.cgi?id=151509
        <rdar://problem/23508753>

        Reviewed by Anders Carlsson.

        Update the sandbox profile for Mac WebKit to allow access to the
        "com.apple.fonts" service.

        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
        * WebProcess/com.apple.WebProcess.sb.in:

2015-11-30  Alex Christensen  <achristensen@webkit.org>

        Make usesNetworkProcess always true
        https://bugs.webkit.org/show_bug.cgi?id=151580

        Reviewed by Darin Adler.

        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKInspectorToggleJavaScriptProfiling):
        (WKContextSetUsesNetworkProcess):
        (WKGraphicsContextGetCGContext):
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::initializeConnection):
        (WebKit::CustomProtocolManager::initialize):
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
        (WebKit::CustomProtocolManager::initialize):
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::createWithLegacyOptions):
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetJavaScriptGarbageCollectorTimerEnabled):
        (WKContextUseTestingNetworkSession):
        (WKContextSetUsesNetworkProcess): Deleted.
        * UIProcess/API/C/WKContextPrivate.h:
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::setProcessModel):
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::updateProcessSuppressionState):
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::DownloadProxy::cancel):
        (WebKit::DownloadProxy::invalidate):
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::WebProcessPool):
        (WebKit::m_processSuppressionDisabledForPageCounter):
        (WebKit::WebProcessPool::networkingProcessConnection):
        (WebKit::WebProcessPool::languageChanged):
        (WebKit::WebProcessPool::textCheckerStateChanged):
        (WebKit::WebProcessPool::ensureNetworkProcess):
        (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        (WebKit::WebProcessPool::createNewWebProcess):
        (WebKit::WebProcessPool::download):
        (WebKit::WebProcessPool::resumeDownload):
        (WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
        (WebKit::WebProcessPool::setCacheModel):
        (WebKit::WebProcessPool::createDownloadProxy):
        (WebKit::WebProcessPool::addMessageReceiver):
        (WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
        (WebKit::WebProcessPool::setHTTPPipeliningEnabled):
        (WebKit::WebProcessPool::requestNetworkingStatistics):
        (WebKit::WebProcessPool::setUsesNetworkProcess): Deleted.
        (WebKit::WebProcessPool::usesNetworkProcess): Deleted.
        * UIProcess/WebProcessPool.h:
        (WebKit::WebProcessPool::sendToNetworkingProcess):
        (WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::shutDown):
        (WebKit::WebProcessProxy::removeWebPage):
        (WebKit::WebProcessProxy::canTerminateChildProcess):
        (WebKit::WebProcessProxy::updateTextCheckerState):
        (WebKit::WebProcessProxy::didSaveToPageCache):
        (WebKit::WebProcessProxy::didSetAssertionState):
        (WebKit::WebProcessProxy::createDownloadProxy): Deleted.
        * UIProcess/WebProcessProxy.h:
        * UIProcess/efl/WebProcessPoolEfl.cpp:
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        (WebKit::WebProcessPool::setIgnoreTLSErrors):
        * WebProcess/FileAPI/BlobRegistryProxy.cpp:
        (WebKit::BlobRegistryProxy::registerFileBlobURL):
        (WebKit::BlobRegistryProxy::registerBlobURL):
        (WebKit::BlobRegistryProxy::unregisterBlobURL):
        (WebKit::BlobRegistryProxy::registerBlobURLForSlice):
        (WebKit::BlobRegistryProxy::blobSize):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        (WebKit::WebPlatformStrategies::resourceLoadScheduler):
        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
        (WebKit::WebPlatformStrategies::createPingHandle):
        (WebKit::WebPlatformStrategies::createBlobRegistry):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::startDownload):
        (WebKit::WebFrame::convertMainResourceLoadToDownload):
        (WebKit::WebFrame::source):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess):
        (WebKit::m_webSQLiteDatabaseTracker):
        (WebKit::WebProcess::initializeConnection):
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensureNetworkProcessConnection):
        (WebKit::WebProcess::destroyPrivateBrowsingSession):
        (WebKit::WebProcess::pluginProcessConnectionManager):
        (WebKit::WebProcess::shouldTerminate):
        (WebKit::WebProcess::setInjectedBundleParameters):
        (WebKit::WebProcess::networkConnection):
        (WebKit::WebProcess::setEnhancedAccessibility):
        (WebKit::WebProcess::prefetchDNS):
        (WebKit::WebProcess::didCreateDownload): Deleted.
        (WebKit::WebProcess::didDestroyDownload): Deleted.
        (WebKit::WebProcess::downloadProxyConnection): Deleted.
        (WebKit::WebProcess::downloadsAuthenticationManager): Deleted.
        (WebKit::WebProcess::downloadManager): Deleted.
        (WebKit::WebProcess::usesNetworkProcess): Deleted.
        (WebKit::WebProcess::downloadRequest): Deleted.
        (WebKit::WebProcess::resumeDownload): Deleted.
        (WebKit::WebProcess::cancelDownload): Deleted.
        * WebProcess/WebProcess.h:
        (WebKit::WebProcess::textCheckerState):
        (WebKit::WebProcess::eventDispatcher):
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformSetCacheModel):
        (WebKit::WebProcess::platformClearResourceCaches):
        (WebKit::WebProcess::platformInitializeWebProcess):
        (WebKit::WebProcess::platformTerminate):
        (WebKit::getCacheDiskFreeSize): Deleted.
        (WebKit::setSoupSessionAcceptLanguage): Deleted.
        (WebKit::languageChanged): Deleted.
        (WebKit::WebProcess::setIgnoreTLSErrors): Deleted.
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Deleted.

2015-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] UI process crash when the screensaver DBus proxy is being created while the web view is destroyed
        https://bugs.webkit.org/show_bug.cgi?id=151653

        Reviewed by Martin Robinson.

        We correctly cancel the proxy creation, but when the async ready
        callback is called, the view could be destroyed already. In that
        case g_dbus_proxy_new_for_bus_finish() will return nullptr and
        fail with cancelled error, but we are using the passed web view
        without checking first if the creation failed or not.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (screenSaverProxyCreatedCallback):

2015-11-28  Tim Horton  <timothy_horton@apple.com>

        Stop unnecessarily copying WKWebViewConfiguration in a few places
        https://bugs.webkit.org/show_bug.cgi?id=151639

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView dealloc]):
        (-[WKWebView _contentProviderRegistry]):
        (-[WKWebView _selectionGranularity]):
        (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::mimeTypesWithCustomContentProviders):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):
        (-[WKContentView _stopAssistingKeyboard]):
        Looking at allocation traces I noticed that we were making way more
        WKWebViewConfigurations than made sense; looking at backtraces I found
        a few internal callers of -[WKWebView configuration], which copies the
        configuration. There's no reason for these internal callers to make 
        such a copy, though.

        I'm not exactly sure what the usual approach is here, but I added
        getters so WKContentViewInteraction and PageClientImplIOS can get to
        the values they're looking for without using the configuration property.

2015-11-27  Brady Eidson  <beidson@apple.com>

        Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong.
        https://bugs.webkit.org/show_bug.cgi?id=151627

        Reviewed by Alexey Proskuryakov.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
        
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBGetResult>::encode):
        (IPC::ArgumentCoder<IDBGetResult>::decode):
        * Shared/WebCoreArgumentCoders.h:
        
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

2015-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Remove the remaining uses of GMainLoopSource
        https://bugs.webkit.org/show_bug.cgi?id=151632

        Reviewed by Žan Doberšek.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
        (_WebKitWebViewBasePrivate::clearRedirectedWindowSoonTimerFired):
        (webkitWebViewBaseClearRedirectedWindowSoon):
        (webkitWebViewBaseEnterAcceleratedCompositingMode):

2015-11-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use the network process unconditionally
        https://bugs.webkit.org/show_bug.cgi?id=151541

        Reviewed by Alex Christensen.

        Make the shared secondary process model become multiple secondary
        process model with a limit of 1 web process. Use the same options
        when creating a context with legacy configuration (unit tests and
        inspector proxy).

        * NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::createWithLegacyOptions):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextConstructed):
        (webkit_web_context_set_process_model):
        (webkit_web_context_get_process_model):
        (webkit_web_context_set_web_process_count_limit):
        (webkit_web_context_get_web_process_count_limit):
        (toWebKitProcessModel): Deleted.
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        * UIProcess/gtk/WebProcessPoolGtk.cpp:
        (WebKit::WebProcessPool::setIgnoreTLSErrors):
        (WebKit::WebProcessPool::platformInitializeWebProcess):

2015-11-23  Brian Burg  <bburg@apple.com>

        Web Inspector: inspector settings should not be shared between different inspection levels
        https://bugs.webkit.org/show_bug.cgi?id=151151

        Reviewed by Timothy Hatcher.

        In WebKit2, we already track the inspection level of WebPages in order to give inspectors
        different page groups. Send the inspection level to WebInspectorUI WebProcess when
        establishing a connection from the UIProcess. Use this number in the FrontendClient.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::inspectionLevel): Renamed from inspectorLevel to be consistent.
        (WebKit::WebInspectorProxy::inspectorPageGroupIdentifier):
        (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
        (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
        (WebKit::WebInspectorProxy::createInspectorPage):
        (WebKit::WebInspectorProxy::inspectorLevel): Deleted.
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::updateInspectorWindowTitle):
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::establishConnection):
        * WebProcess/WebPage/WebInspectorUI.h:
        * WebProcess/WebPage/WebInspectorUI.messages.in:

2015-11-23  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        REGRESSION(r188206): [EFL] Missing to adjust scrollbar size to ewk_view_contents_size_get API test
        https://bugs.webkit.org/show_bug.cgi?id=148735

        Reviewed by Csaba Osztrogonác.

        r189256 missed to adjust scrollbar size to other tests in ewk_view_contents_size_get() API test.
        In this case we need to apply scrollbar size to both width and height unlike previous fix. Because
        horizontal scrollbar is also shown since device pixel ratio(= 2.0) is adjusted.

        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (TEST_F):

2015-11-23  Alex Christensen  <achristensen@webkit.org>

        Fix crash in ~WebProcessPool when using Geolocation with useNetworkProcess=true
        https://bugs.webkit.org/show_bug.cgi?id=151532

        Reviewed by Benjamin Poulain.

        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::processPoolDestroyed):
        (WebKit::WebGeolocationManagerProxy::processDidClose):
        When a WebProcessPool is destroyed, only call stopUpdating if m_updateRequesters.clear()
        stopped the updating, like we do in WebGeolocationManagerProxy::removeRequester.
        Otherwise, call setEnableHighAccuracy if needed, also like we do in WebGeolocationManagerProxy::removeRequester.

2015-11-23  Brian Burg  <bburg@apple.com>

        Web Inspector: when inspecting the inspector, add the inspection level to the title bar
        https://bugs.webkit.org/show_bug.cgi?id=151555

        Reviewed by Timothy Hatcher.

        If the inspection level says we are inspecting an inspector, include the level
        in the title bar to easily disambiguate it from the base level inspector.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::updateInspectorWindowTitle):

2015-11-23  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed speculative buildfix after r192701.

        * PlatformMac.cmake:

2015-11-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.2 release.

        * gtk/NEWS: Add release notes for 2.11.2.

2015-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Add missing inspector file to GTK+ compilation.

        * PlatformGTK.cmake:

== Rolled over to ChangeLog-2015-11-21 ==
