ChangeLog 138 KB
Newer Older
ap@apple.com's avatar
ap@apple.com committed
1 2 3 4 5 6 7 8 9
2013-10-31  Alexey Proskuryakov  <ap@apple.com>

        Enable WebCrypto on Mac
        https://bugs.webkit.org/show_bug.cgi?id=123587

        Reviewed by Anders Carlsson.

        * Configurations/FeatureDefines.xcconfig: Do it.

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
2013-10-31  Sergio Correia  <sergio.correia@openbossa.org>

        [WK2] Convert SeccompFilters to using unique_ptr instead of OwnPtr/PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=122883

        Reviewed by Darin Adler.

        * Shared/linux/SeccompFilters/OpenSyscall.cpp:
        (WebKit::OpenSyscall::createFromOpenatContext):
        (WebKit::OpenSyscall::createFromCreatContext):
        (WebKit::OpenSyscall::execute):
        * Shared/linux/SeccompFilters/OpenSyscall.h:
        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SIGSYSHandler):
        (WebKit::SeccompBrokerClient::dispatch):
        (WebKit::SeccompBroker::runLoop):
        * Shared/linux/SeccompFilters/SigactionSyscall.cpp:
        (WebKit::SigactionSyscall::createFromContext):
        * Shared/linux/SeccompFilters/SigactionSyscall.h:
        * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp:
        (WebKit::SigprocmaskSyscall::createFromContext):
        * Shared/linux/SeccompFilters/SigprocmaskSyscall.h:
        * Shared/linux/SeccompFilters/Syscall.cpp:
        (WebKit::Syscall::createFromContext):
        (WebKit::Syscall::createFromDecoder):
        (WebKit::SyscallResult::createFromDecoder):
        * Shared/linux/SeccompFilters/Syscall.h:
        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
2013-10-31  Gavin Barraclough  <barraclough@apple.com>

        Change WebPage, WebPageProxy, WebPageCreationParameters to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=123379

        Reviewed by Darin Adler.

        Visibility state of the Page should be stored and communicated consistently.

        Remove individual visibility flags from WebPageProxy, WebPageCreationParameters,
        and replace them with a ViewState, and add a ViewState member to WebPage.
        Merge together all messages that convey and individual aspect of the ViewState.

        Restructure WebPageProxy::viewStateDidChange to break the operation down into
        three steps: 1) update m_viewState, 2) send the new ViewState to the WebProcess,
        and 3) perform any further work necessary in the UIProcess.

        This patch fixes a problem that if the web process crashes m_isVisible &
        m_isInWindow in WebPageProxy were not updated, and could have held stale values
        on reattach.

        In WebPage, add a new message to update the entire ViewState - diff the prior
        value against the new one to detect changes, call existing methods accordingly.

        * Shared/ViewState.h:
            - Add constants 'Reset', 'AllFlags'
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
            - Removed boolean visibility flags, added viewState.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            - Constructor calls updateViewState to initialize m_viewState.
        (WebKit::WebPageProxy::reattachToWebProcess):
            - ViewStaet is not updated while detatched; recalculate.
        (WebKit::WebPageProxy::initializeWebPage):
            - m_isVisible -> isViewVisible()
        (WebKit::WebPageProxy::updateViewState):
            - Added, update m_viewState by querying the page client.
        (WebKit::WebPageProxy::viewStateDidChange):
            - Restructured to use m_viewState, reordered to combine messages.
        (WebKit::WebPageProxy::creationParameters):
            - Removed boolean visibility flags, added viewState.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::isInWindow):
        (WebKit::WebPageProxy::isViewVisible):
            - Removed boolean visibility flags, added viewState.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - initial state now passed as a ViewState.
        (WebKit::WebPage::setIsInWindow):
            - Remove code to send reply (this is handled by setViewState).
        (WebKit::WebPage::setViewState):
            - Set m_viewState - diff from prior & call methods to update.
        * WebProcess/WebPage/WebPage.h:
            - Added setViewState, m_viewState.
        * WebProcess/WebPage/WebPage.messages.in:
            - Add SetViewState, remove individual messages.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
            - initial state now passed as a ViewState.

102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
2013-10-30  Gavin Barraclough  <barraclough@apple.com>

        WebPageCreationParameters should be consistent in Window.open
        https://bugs.webkit.org/show_bug.cgi?id=123557

        Reviewed by Sam Weinig.

        When Window.open in called in WebKit2 the WebProcess sends a synchronous request to open
        a page (WebPageProxy::createNewPage). The UIProcess creates a WebpageProxy, and responds
        with instructions to the WebProcess to create the WebPage. The initial creation state of
        the WebPage is communicated to the WebProcess via two routes (firstly an asynchronous
        WebProcess::CreateWebPage message, and secondly in the synchronous response from
        WebPageProxy::createNewPage). Unfortunately these responses are inconsistent with each
        other. The creationParameters() for the page are calculated twice, and since the WKView
        will be added to a window between the async message being sent and the synchronous reply
        being returned the visibility state of the page can change.

        To fix the inconsistency we can set the creation parameters at the point that the
        WebPageProxy is instantiated. This will result in a functional change that is web
        visible, since the page will initially be opened in a hidden/blurred state, and may
        later become visible/focussed. This change is consistent with the direction we want to
        evolve in. Whilst we will still probably require a synchronous message from the
        WebProcess to the UIProcess on Window.open, we'll probably make this return much earlier
        – having just created the WebPageProxy, but avoiding blocking the WebProcess over the
        client delegate callback that opens the new window.

        This fix results in a layout test result change, due to the change in behavior (page is
        created blurred, and becomes focussed, resulting in a focus event being fired – rather
        than the window opening directly into a focussed state). This is reported as a
        progression (test is broken in WebKit1, fixed in WebKit2 after this change). In reality
        the test is actually slightly broken in DRT/test-runner – the test runs differently than
        in browser, since there is is no visible main window. In-browser this patch results in
        no change in behavior on dom/Window/mozilla-focus-blur.html (the affected test).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
            - call initializeCreationParameters
        (WebKit::WebPageProxy::initializeCreationParameters):
            - calculate m_creationParameters
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::creationParameters):
            - Added m_creationParameters, initializeCreationParameters,
              creationParameters returns m_creationParameters

146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
2013-10-31  Philippe Normand  <pnormand@igalia.com>

        [WK2][GTK] enable-media-stream Setting
        https://bugs.webkit.org/show_bug.cgi?id=123145

        Reviewed by Anders Carlsson.

        * Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
        * UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and
        setter functions.
        (WKPreferencesSetMediaStreamEnabled):
        (WKPreferencesGetMediaStreamEnabled):
        * UIProcess/API/C/WKPreferences.h:
        * UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream
        property to the GTK WebKitSettings class. It will act as a facade
        to the MediaStreamEnabled preference.
        (webKitSettingsSetProperty):
        (webKitSettingsGetProperty):
        (webkit_settings_class_init):
        (webkit_settings_get_enable_media_stream):
        (webkit_settings_set_enable_media_stream):
        * UIProcess/API/gtk/WebKitSettings.h:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
        (testWebKitSettings): Test enable-media-stream websetting.
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
        Allow WKTR to override the MediaStreamEnabled preference.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
        along with the other settings.

178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
2013-10-30  Brady Eidson  <beidson@apple.com>

        IDB Database versions are uint64_t, not int64_t
        https://bugs.webkit.org/show_bug.cgi?id=123556

        Reviewed by Alexey Proskuryakov.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::openConnection):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

193 194 195 196 197 198 199 200 201 202 203
2013-10-30  Dan Bernstein  <mitz@apple.com>

        Fixed a potential race condition around the initializtion of WKObject’s target.

        Reviewed by Mark Rowe.

        * Shared/Cocoa/WKObject.mm:
        (initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
        out, when stores are reordered relative to other stores, it is possible for the early return
        to occur while the object _target is pointing to is not yet valid.

rniwa@webkit.org's avatar
rniwa@webkit.org committed
204 205 206 207 208 209 210 211 212 213 214 215 216
2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>

        Remove code for Mac Lion
        https://bugs.webkit.org/show_bug.cgi?id=123542

        Reviewed by Anders Carlsson.


        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewWillMoveToWindow:]):
        * WebProcess/com.apple.WebProcess.sb.in:

217 218 219 220 221 222
2013-10-30  Dan Bernstein  <mitz@apple.com>

        Try to fix the !WK_API_ENABLED Mac build.

        * Shared/Cocoa/APIObject.mm:

223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
2013-10-30  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Make all API objects have Cocoa wrappers, and delegate refcounting to those wrappers
        https://bugs.webkit.org/show_bug.cgi?id=123394

        Reviewed by Darin Adler.

        All wrappers conform to a new WKObject protocol and contain the wrapped object inline.
        APIObject-derived classes override operator new to call newObject, which allocates the
        wrapper and returns a pointer to the inline API object.

        There are three kinds of wrapper classes: (a) classes that inherit directly from NSObject
        and implement their API by calling the wrapped object (example: WKBackForwardList),
        (b) internal classes that inherit from a class cluster, and implement the primitive methods
        of the class cluster by calling the wrapped object (example: WKNSArray), and (c) internal
        classes that inerit from the new WKObject class, and proxy to an object of some public type,
        which is created from the wrapped object (example: WKNSURL).

        * Shared/APIObject.h:
        (WebKit::APIObject::wrapper): Added this getter.
        (WebKit::TypedAPIObject::operator new): Added override that calls newObject.
        * Shared/Cocoa/APIObject.mm: Added.
        (WebKit::APIObject::ref): Retains the wrapper.
        (WebKit::APIObject::deref): Releases the wrapper. When the wrapper is deallocated, it calls
        the API object destructor.
        (WebKit::APIObject::newObject): Allocates the wrapper and returns a pointer to the API
        object inside the wrapper.

        * Shared/Cocoa/WKNSArray.h:
        (WebKit::wrapper): Added. Returns an ImmutableArray’s wrapper as an NSArray.
        Replaced the RefPtr<ImmutableArray> ivar with space for an ImmutableArray to live inside
        the wrapper.
        (-[WKNSArray dealloc]): Calls the ImmutableArray destructor.
        (-[WKNSArray count]): Updated for ivar change.
        (-[WKNSArray objectAtIndex:]): Ditto.
        (-[WKNSArray _apiObject]): Returns the wrapped ImmutableArray.

        * Shared/Cocoa/WKNSObjectExtras.h: Removed.
        * Shared/Cocoa/WKNSObjectExtras.mm: Removed.

        * Shared/Cocoa/WKNSString.h: Added.
        * Shared/Cocoa/WKNSString.mm: Added.
        (-[WKNSString _web_createTarget]): Override this WKObject method to create an NSString from
        the WebString.
        (-[WKNSString copyWithZone:]): Retains self.

        * Shared/Cocoa/WKNSURL.h: Added.
        * Shared/Cocoa/WKNSURL.mm: Added.
        (-[WKNSURL _web_createTarget]): Override this WKObject method to create an NSURL from
        the WebURL.
        (-[WKNSURL copyWithZone:]): Retains self.

        * Shared/Cocoa/WKObject.h: Added.
        * Shared/Cocoa/WKObject.mm: Added.
        (-[WKObject dealloc]): Calls the destructor of the wrapped object and releases the target
        object.
        (initializeTargetIfNeeded): Helper function. Tries to create the target exactly once.
        (-[WKObject isEqual:]): NSObject override that creates and compares to the target
        object if necessary.
        (-[WKObject hash]): NSObject override that creates and hashes the target object if
        there is one.
        (-[WKObject isKindOfClass:]): NSObject override that delegates to the target object.
        (-[WKObject isMemberOfClass:]): Ditto.
        (-[WKObject respondsToSelector:]): NSObject override that creates the target object if
        necessary and returns whether it or self responds to the selector.
        (-[WKObject conformsToProtocol:]): Similarly for protocols.
        (-[WKObject forwardingTargetForSelector:]): NSObject override that creates the target object
        if necessary and returns it as the target.
        (-[WKObject description]): NSObject override that creates the target object if necessary and
        forwards to it.
        (-[WKObject _web_createTarget]): Added. The base implementation returns nil.
        (-[WKObject _apiObject]): Returns the wrapped object.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController backForwardList]): Changed to return the existing wrapper.
        (didChangeBackForwardList): Changed to use existing wrappers.

        Replaced the RefPtr<WebBackForwardList> ivar with space for a WebBackForwardList to live
        inside the wrapper.
        (-[WKBackForwardList dealloc]): Call the WebBackForwardList destructor.
        (toWKBackForwardListItem): Changed to us the existing wrapper.
        (-[WKBackForwardList currentItem]): Updated for ivar change.
        (-[WKBackForwardList backItem]): Ditto.
        (-[WKBackForwardList forwardItem]): Ditto.
        (-[WKBackForwardList itemAtIndex:]): Ditto.
        (-[WKBackForwardList backListCount]): Ditto.
        (-[WKBackForwardList forwardListCount]): Ditto,
        (-[WKBackForwardList backListWithLimit:]): Ditto, and also changed to use the
        ImmutableArray’s existing wrapper.
        (-[WKBackForwardList forwardListWithLimit:]): Ditto.
        (-[WKBackForwardList _apiObject]): Returns the WebBackForwardListItem.
        * UIProcess/Cocoa/WKBackForwardListInternal.h:
        (WebKit::wrapper): Added. Returns a WebBackForwardList’s wrapper as a WKBackForwardList.

        * UIProcess/Cocoa/WKBackForwardListItem.mm:
        Replaced the RefPtr<WebBackForwardListItem> ivar with space for a WebBackForwardListItem to
        live inside the wrapper.
        (-[WKBackForwardListItem dealloc]): Call the WebBackForwardListItem destructor.
        (-[WKBackForwardListItem URL]): Updated for ivar change, and changed to make an NSURL
        directly instead of going through a wrapper.
        (-[WKBackForwardListItem title]): Updated for ivar change, and changed to use
        String’s operator NSString*.
        (-[WKBackForwardListItem originalURL]): Updated for ivar change, and changed to make an
        NSURL directly instead of going through a wrapper.
        (-[WKBackForwardListItem _apiObject]): Returns the WebBackForwardListItem.
        (-[WKBackForwardListItem _item]): Ditto.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h:
        (WebKit::wrapper): Added. Returns a WebBackForwardListItem’s wrapper as a
        WKBackForwardListItem.

        * UIProcess/WebColorPickerResultListenerProxy.h: Changed into a TypedAPIObject.

        * UIProcess/WebFormSubmissionListenerProxy.h:
        (WebKit::WebFormSubmissionListenerProxy::operator new): Override to call newObject.

        * UIProcess/WebFramePolicyListenerProxy.h:
        (WebKit::WebFramePolicyListenerProxy::operator new): Ditto.

        * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removals.

343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370
2013-10-30  Anders Carlsson  <andersca@apple.com>

        Begin fleshing out an API test for WKRemoteObjectRegistry
        https://bugs.webkit.org/show_bug.cgi?id=123531

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectInterface.h:
        Add WK_API_CLASS annotation.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.h:
        Add WK_API_CLASS annotation.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        Add a WebConnection ivar.

        (-[WKRemoteObjectRegistry _initWithConnectionRef:]):
        Add SPI to create an WKRemoteObjectRegistry object with an existing WKConnectionRef.

        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
        Add SPI that will be used to process incoming messages from an existing WKConnectionRef.

        * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Added.
        Add SPI header.

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

371 372 373 374 375 376 377 378 379 380 381 382
2013-10-30  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Lots of ASSERT(m_children.isEmpty()); on Poster Circle
        https://bugs.webkit.org/show_bug.cgi?id=123517

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setSublayers):
        When setting our list of sublayers, remove all of the new layers from
        their parents first.

383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
2013-10-30  Antti Koivisto  <antti@apple.com>

        Add debug settings for simple line layout
        https://bugs.webkit.org/show_bug.cgi?id=123514

        Reviewed by Andreas Kling.
        
        Expose debug settings.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetSimpleLineLayoutEnabled):
        (WKPreferencesGetSimpleLineLayoutEnabled):
        (WKPreferencesSetSimpleLineLayoutDebugBordersEnabled):
        (WKPreferencesGetSimpleLineLayoutDebugBordersEnabled):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421
2013-10-30  Anders Carlsson  <andersca@apple.com>

        Add stubbed out WKRemoteObjectRegistry class
        https://bugs.webkit.org/show_bug.cgi?id=123512

        Reviewed by Andreas Kling.

        Also add a WKRemoteObjectInterface class that represents a remote object interface.

        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added.
        * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Added.
        (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
        (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
        * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Added.
        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Added.
        (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
        (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
        (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
        * WebKit2.xcodeproj/project.pbxproj:

422 423 424 425 426 427 428 429 430
2013-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] webkit_web_context_allow_tls_certificate_for_host doc is missing Since tag
        https://bugs.webkit.org/show_bug.cgi?id=123499

        Reviewed by Philippe Normand.

        * UIProcess/API/gtk/WebKitWebContext.cpp: Add Since: 2.4.

431 432 433 434 435 436 437 438 439 440 441 442
2013-10-29  Alexey Proskuryakov  <ap@apple.com>

        Result of focus-option-control-on-page.html depends on system preferences
        https://bugs.webkit.org/show_bug.cgi?id=123304

        Reviewed by Simon Fraser.

        * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
        (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
        Read the preference from its correct domain. This doesn't affect behavior in practice
        and isn't part of the fix, but it's a good opportunity to correct this code.

443 444 445 446 447 448 449 450 451 452 453 454 455 456 457
2013-10-29  Brady Eidson  <beidson@apple.com>

        Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
        https://bugs.webkit.org/show_bug.cgi?id=123483

        Reviewed by Andreas Kling.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::createCursorBackend): Stubbed out.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::factoryBackend): Stubbed out.
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

458 459 460 461 462 463 464 465 466 467 468
2013-10-29  Jer Noble  <jer.noble@apple.com>

        [MSE] [Mac] Enable MediaSource on the Mac
        https://bugs.webkit.org/show_bug.cgi?id=122484

        Reviewed by Darin Adler.

        Enable ENABLE_MEDIA_SOURCE.

        * Configurations/FeatureDefines.xcconfig:

469 470 471 472 473 474 475 476 477
2013-10-29  Tim Horton  <timothy_horton@apple.com>

        More correct build fix after 158223.

        Only fails in release because it's inline.
        Include the relevant header to get the function.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565
2013-10-29  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Support tiled drawing and use it for the main frame
        https://bugs.webkit.org/show_bug.cgi?id=123422

        Reviewed by Simon Fraser.

        Add a PlatformCALayerRemote subclass that behaves similarly to
        WebTiledBackingLayer, forwarding relevant things (setNeedsDisplay, etc.)
        to the TileController which it owns.

        Teach the remote layer tree code enough to proxy these layers across,
        and paint them in a manner similar to WebSimpleLayer (just calling
        straight back to the TileController to paint).

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpChangedLayers):
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setEdgeAntialiasingMask):
        Add support for adjusting/encoding/decoding/dumping/applying edgeAntialiasingMask.

        (WebKit::RemoteLayerTreeTransaction::dump):
        Drive-by fix dumping of created layers to have one layer per line.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::createLayer):
        Create CALayers for Simple, TiledBacking, PageTiledBacking, and TiledBackingTile layers.

        * WebKit2.xcodeproj/project.pbxproj:
        Add PlatformCALayerRemoteTiledBacking.{h, cpp}.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::create):
        Create a PlatformCALayerRemoteTiledBacking for TiledBacking and PageTiledBacking layers.

        (PlatformCALayerRemote::removeAllSublayers):
        Fix removeAllSublayers to make a copy of the PlatformCALayerList before
        mutating it, to avoid crashes when iterating a mutated list.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Definalize PlatformCALayerRemote so we can have PlatformCALayerRemoteTiledBacking.
        Note that we will use a tiled backing layer in some cases.
        Make the constructor protected, not private, so our subclass can use it.

        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: Added.
        (PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
        (PlatformCALayerRemoteTiledBacking::~PlatformCALayerRemoteTiledBacking):
        (PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
        (PlatformCALayerRemoteTiledBacking::customSublayers):
        (PlatformCALayerRemoteTiledBacking::setBounds):
        (PlatformCALayerRemoteTiledBacking::isOpaque):
        (PlatformCALayerRemoteTiledBacking::setOpaque):
        (PlatformCALayerRemoteTiledBacking::acceleratesDrawing):
        (PlatformCALayerRemoteTiledBacking::setAcceleratesDrawing):
        (PlatformCALayerRemoteTiledBacking::setContentsScale):
        (PlatformCALayerRemoteTiledBacking::setBorderWidth):
        (PlatformCALayerRemoteTiledBacking::setBorderColor):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Added.
        Add a subclass of PlatformCALayerRemote which forwards operations
        to TileController, very similar to what WebTiledBackingLayer does.
        It also owns the TileController, and overrides customSublayers() and
        tiledBacking() to return the right thing.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::display):
        Teach RemoteLayerBackingStore about how to paint different kinds of layers.
        Simple layers and Tile layers will call paintContents directly,
        WebLayers will do what WebLayer does and use drawLayerContents.
        Other kinds of layers won't paint at all right now.
        I would like to centralize this behavior (and get rid of our CALayer
        subclasses entirely, moving all that behavior to be shared between Mac,
        Windows, and the remote layer tree), but that is a patch for another day.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView):
        Force accelerated compositing on always when using the remote layer tree.
        Use a TiledBacking for the main frame.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        Drive-by OVERRIDE.

566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587
2013-10-29  Brady Eidson  <beidson@apple.com>

        Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
        https://bugs.webkit.org/show_bug.cgi?id=123451

        Reviewed by Andreas Kling.

        Stub out more pure virtual methods.

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::backingStore):
        (WebKit::WebProcessIDBDatabaseBackend::id):
        (WebKit::WebProcessIDBDatabaseBackend::addObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::removeObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::addIndex):
        (WebKit::WebProcessIDBDatabaseBackend::removeIndex):
        (WebKit::WebProcessIDBDatabaseBackend::metadata):
        (WebKit::WebProcessIDBDatabaseBackend::setCurrentVersion):
        (WebKit::WebProcessIDBDatabaseBackend::hasPendingSecondHalfOpen):
        (WebKit::WebProcessIDBDatabaseBackend::setPendingSecondHalfOpen):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613
2013-10-29  Gavin Barraclough  <barraclough@apple.com>

        SessionState.h should not include WebBackForwardList.h
        https://bugs.webkit.org/show_bug.cgi?id=123454

        Reviewed by Geoff Garen.

        WebBackForwardList is a UIProcess type, SessionState is in shared code.
        Also, WebBackForwardListItemVector should be in WebBackForwardListItem.h, not WebBackForwardList.h
        (the vector type is used in the WebProcess, the item header is shared but the list type is in the UIProcess).

        * Shared/SessionState.cpp:
            - fixed includes
        * Shared/SessionState.h:
            - WebBackForwardList.h -> WebBackForwardListItem.h
        * Shared/WebBackForwardListItem.h:
            - Moved WebBackForwardListVector from WebBackForwardList.h
        * Shared/WebPageCreationParameters.h:
            - fixed includes
        * UIProcess/WebBackForwardList.h:
            - Moved WebBackForwardListVector to WebBackForwardListItem.h
        * WebProcess/WebPage/DrawingArea.cpp:
            - fixed includes
        * WebProcess/WebPage/WebPage.cpp:
            - fixed includes

614 615 616
2013-10-29  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed Mac debug build fix after r158183.
617 618
        Remove the duplicated << overloaded operator from RemoteLayerTreeTextStream for printing out
        a given FloatSize object. The RemoteLayerTreeTextStream inherits from TextStream, which already
619 620 621 622 623 624
        provides that overloaded operator. Format of the output is a bit different so hopefully nothing
        breaks further.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):

625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653
2013-10-28  Brady Eidson  <beidson@apple.com>

        Refactor IDB factory creation.
        https://bugs.webkit.org/show_bug.cgi?id=123347

        Reviewed by Andreas Kling.

        - Rework how database directory location is passed around.
        - Make (some) SecurityOrigin arguments be references instead of pointers.
        - Add two SecurityOrigin arguments to opening databases for future use.

        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
        (WebKit::uniqueDatabaseIdentifier):
        * Shared/Databases/IndexedDB/IDBUtilities.h:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
        (WebKit::WebIDBFactoryBackend::open):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
        (WebKit::WebIDBFactoryBackend::create):

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createIDBFactoryBackend):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:

654 655 656 657 658 659 660 661 662 663 664 665
2013-10-28  Tim Horton  <timothy_horton@apple.com>

        Make TileController create the appropriate PlatformCALayer subclasses
        https://bugs.webkit.org/show_bug.cgi?id=123418

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::createCompatibleLayer):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Add createCompatibleLayer and implement it in the subclasses.

666 667 668 669 670 671 672 673 674 675
2013-10-28  Benjamin Poulain  <benjamin@webkit.org>

        Rename applyPageScaleFactorInCompositor to delegatesPageScaling
        https://bugs.webkit.org/show_bug.cgi?id=123417

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setUseFixedLayout):

676 677 678 679 680 681 682 683 684 685 686
2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Parsing support for -webkit-text-decoration-skip: ink
        https://bugs.webkit.org/show_bug.cgi?id=123358

        Reviewed by Dean Jackson.

        Adding ENABLE(CSS3_TEXT_DECORATION)

        * Configurations/FeatureDefines.xcconfig:

687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711
2013-10-28  Tim Horton  <timothy_horton@apple.com>

        Make TileController manipulate PlatformCALayers instead of CALayers
        https://bugs.webkit.org/show_bug.cgi?id=123279

        Reviewed by Simon Fraser.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::dump):
        Support the new LayerTypes.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setEdgeAntialiasingMask):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Add an empty implementation of setEdgeAntialiasingMask.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::display):
        Removed a parameter from drawLayerContents.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
        TiledCoreAnimationDrawingArea still operates in terms of CALayers, so
        grab the PlatformLayer out from TileController's indicator.

712 713 714 715 716 717 718 719 720 721
2013-10-28  Bastien Nocera <hadess@hadess.net>

        Name all the GLib timeout sources
        https://bugs.webkit.org/show_bug.cgi?id=123229

        Reviewed by Anders Carlsson.

        Give a name to GLib timeout sources, this is helpful when
        profiling WebKitGTK applications.

722 723 724 725 726 727 728 729 730 731 732
2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.am: Add messages.in files in
        UIProcess/Network/CustomProtocols/ to EXTRA_DIST.
        * GNUmakefile.list.am: Remove
        WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp from
        compilation because it depends on code generated only when
        database process is enabled.

733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749
2013-10-28  Alberto Garcia  <berto@igalia.com>

        [WK2] [GTK] Allow running the web process with an arbitrary prefix command
        https://bugs.webkit.org/show_bug.cgi?id=123201

        Reviewed by Carlos Garcia Campos.

        Launch the web process using WEB_PROCESS_CMD_PREFIX as a
        prefix. Useful for debugging the web process with gdb, valgrind,
        etc.

        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/gtk/WebProcessProxyGtk.cpp:
        (WebKit::WebProcessProxy::platformGetLaunchOptions):

750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
2013-10-27  Brady Eidson  <beidson@apple.com>

        WebIconDatabase can miss private browsing state changes.
        <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375

        Reviewed by Alexey Proskuryakov.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(true) on each context.
        (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(false) on each context.
        (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes about private browsing
          sessions, notify the context’s WebIconDatabase about the change in value.
        * UIProcess/WebContext.h:

        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::setDatabasePath): Prime the IconDatabase with an initial private browsing value.
        (WebKit::WebIconDatabase::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        * UIProcess/WebIconDatabase.h:

769 770 771 772 773 774 775 776 777 778 779
2013-10-26  Tim Horton  <timothy_horton@apple.com>

        [mac] Remove WebTiledLayer
        https://bugs.webkit.org/show_bug.cgi?id=123395

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Remove synchronouslyDisplayTilesInRect.

780 781 782 783 784 785 786 787 788 789
2013-10-26  Dan Bernstein  <mitz@apple.com>

        [Cocoa] -[WKBackForwardList forwardItem] returns the back item
        https://bugs.webkit.org/show_bug.cgi?id=123391

        Reviewed by Mark Rowe.

        * UIProcess/Cocoa/WKBackForwardList.mm:
        (-[WKBackForwardList forwardItem]): Changed back to forward.

790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805
2013-10-26  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r158075.
        http://trac.webkit.org/changeset/158075
        https://bugs.webkit.org/show_bug.cgi?id=123389

        Broke WebKit2.PrivateBrowsingPushStateNoHistoryCallback API
        test (Requested by ap on #webkit).

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::willStartUsingPrivateBrowsing):
        (WebKit::WebContext::willStopUsingPrivateBrowsing):
        * UIProcess/WebContext.h:
        * UIProcess/WebIconDatabase.cpp:
        * UIProcess/WebIconDatabase.h:

806 807 808 809 810 811 812 813 814 815 816 817
2013-10-26  Jae Hyun Park  <jae.park@company100.net>

        Remove Coordinated Graphics bits from DrawingAreaProxyImpl
        https://bugs.webkit.org/show_bug.cgi?id=123382

        Reviewed by Anders Carlsson.

        As of r156861, Coordinated Graphics does not use DrawingAreaProxyImpl.
        So, Coordinated Graphics bits should be removed from DrawingAreaProxyImpl.

        * UIProcess/DrawingAreaProxyImpl.h:

818 819 820 821 822 823 824 825 826
2013-10-26  Dan Bernstein  <mitz@apple.com>

        [Cocoa] clang static analyzer warns about object being autoreleased too many times in +[WKNSArray web_arrayWithImmutableArray:]
        https://bugs.webkit.org/show_bug.cgi?id=123384

        Reviewed by Mark Rowe.

        * Shared/Cocoa/WKNSArray.h: Annotated -web_initWithImmutableArray: as an init method.

827 828 829 830 831 832 833 834 835 836
2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the ENABLE(CSS_FILTERS) && USE(COORDINATED_GRAPHICS) build after r157803
        https://bugs.webkit.org/show_bug.cgi?id=123330

        Reviewed by Darin Adler.

        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:

837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853
2013-10-25  Brady Eidson  <beidson@apple.com>

        WebIconDatabase can miss private browsing state changes.
        <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375

        Reviewed by Beth Dakin.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(true) on each context.
        (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(false) on each context.
        (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes, notify WebIconDatabase.
        * UIProcess/WebContext.h:

        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::setPrivateBrowsingEnabled):
        * UIProcess/WebIconDatabase.h:

854 855 856 857 858 859 860 861 862
2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>

        Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
        https://bugs.webkit.org/show_bug.cgi?id=123111

        Reviewed by Timothy Hatcher.

        * Configurations/FeatureDefines.xcconfig:

863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879
2013-10-25  Gavin Barraclough  <barraclough@apple.com>

        Merge viewInWindowStateDidChange into viewStateDidChange
        https://bugs.webkit.org/show_bug.cgi?id=123351

        Reviewed by Tim Horton.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView endDeferringViewInWindowChanges]):
        (-[WKView endDeferringViewInWindowChangesSync]):
            - viewInWindowStateDidChange -> viewStateDidChange
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
        * UIProcess/WebPageProxy.h:
            - removed viewInWindowStateDidChange, named parameter to viewStateDidChange

880 881
2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>

882 883 884 885 886 887 888 889 890
        One more URTBF for GTK after r158028.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseMap):
        (webkitWebViewBaseUnmap):

2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF for non-Mac platforms after r158028.
891 892 893 894 895 896 897 898 899 900 901 902 903

        * GNUmakefile.list.am:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (toplevelWindowFocusInEvent):
        (toplevelWindowFocusOutEvent):
        (toplevelWindowVisibilityEvent):
        (webkitWebViewBaseSetToplevelOnScreenWindow):
        (webkitWebViewBaseSetFocus):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::setActive):
        (WebKit::WebView::setFocused):
        (WebKit::WebView::setVisible):

904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938
2013-10-25  Gavin Barraclough  <barraclough@apple.com>

        Move ViewStateFlags out of WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=123323

        Reviewed by Sam Weinig.

        WebPageProxy contains an enum and typedef that provide a bitfield
        of flags describing the visibility of the view containing the page.
        We're going to want to use this bitfield in a message to the
        WebProcess, so moving out from the UIProcess to shared code.
        Creating struct 'ViewState' to scope the enum and typedef.
        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
        'View' from enum entries.

        * Shared/ViewState.h: Added.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView becomeFirstResponder]):
        (-[WKView resignFirstResponder]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidBecomeKey:]):
        (-[WKView _windowDidResignKey:]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
        (-[WKView _windowDidChangeOcclusionState:]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970
2013-10-25  Gavin Barraclough  <barraclough@apple.com>

        Move ViewStateFlags out of WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=123323

        Unreviewed

        Rolling out 158026 - landed extra chnages!

        * Shared/ViewState.h: Removed.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView becomeFirstResponder]):
        (-[WKView resignFirstResponder]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidBecomeKey:]):
        (-[WKView _windowDidResignKey:]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
        (-[WKView _windowDidChangeOcclusionState:]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        (-[WKView endDeferringViewInWindowChanges]):
        (-[WKView endDeferringViewInWindowChangesSync]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewInWindowStateDidChange):
        (WebKit::WebPageProxy::viewStateDidChange):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005
2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Move ViewStateFlags out of WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=123323

        Reviewed by Sam Weinig.

        WebPageProxy contains an enum and typedef that provide a bitfield
        of flags describing the visibility of the view containing the page.
        We're going to want to use this bitfield in a message to the
        WebProcess, so moving out from the UIProcess to shared code.
        Creating struct 'ViewState' to scope the enum and typedef.
        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
        'View' from enum entries.

        * Shared/ViewState.h: Added.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView becomeFirstResponder]):
        (-[WKView resignFirstResponder]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidBecomeKey:]):
        (-[WKView _windowDidResignKey:]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
        (-[WKView _windowDidChangeOcclusionState:]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037
2013-10-25  Sergio Villar Senin  <svillar@igalia.com>

        [GTK][WK2] Build break after r157967 and r157972
        https://bugs.webkit.org/show_bug.cgi?id=123325

        Reviewed by Carlos Garcia Campos.

        DrawingArea::visibilityDidChange was removed in favour of a new
        message called SetIsVisible which is sent to the WebPage. This
        means that {suspend|resume}Paiting are now implemented in a
        cross-platform way in WebPage and do not require specific code
        from the DrawingArea implementations.

        This means that we have to track the toplevel window visibility
        and notify the WebPage appropriately about its changes.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::isWindowVisible):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (toplevelWindowVisibilityEvent):
        (webkitWebViewBaseSetToplevelOnScreenWindow):
        (webkitWebViewBaseIsWindowVisible):
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/DrawingAreaProxyImpl.cpp:
        * UIProcess/DrawingAreaProxyImpl.h:
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::suspendPainting):
        (WebKit::DrawingAreaImpl::resumePainting):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::windowAndWebPageAreFocused):

1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050
2013-10-25  Anton Obzhirov  <a.obzhirov@samsung.com>

        [GTK] [WebKit2] CanHandleRequest API test fails
        https://bugs.webkit.org/show_bug.cgi?id=88453

        Reviewed by Martin Robinson.

        Make WebPage::platformCanHandleRequest return false by default 
        for unknown schemes.

        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::platformCanHandleRequest):

1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077
2013-10-25  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Build break after r157967 and r157972
        https://bugs.webkit.org/show_bug.cgi?id=123324

        Reviewed by Tim Horton.

        Since r157967 and r157972, visibilityDidChange was removed from DrawingAreaProxy.

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
        Removed common logic which r157967 moved to WebProcess.
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
        Make visibilityDidChange to public method.
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::setVisible):
        (WebKit::WebView::isWindowVisible): Added.
        * UIProcess/CoordinatedGraphics/WebView.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setWindowIsVisible):
        * WebProcess/WebPage/WebPage.h:
        Moved m_windowIsVisible to use at all WK2 based port.
        (WebKit::WebPage::windowIsVisible):
        * WebProcess/WebPage/WebPage.messages.in:
        Moved SetWindowIsVisible message to use at all WK2 based port.

1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092
2013-10-24  Mark Rowe  <mrowe@apple.com>

        Remove references to OS X 10.7 from Xcode configuration settings.

        Now that we're not building for OS X 10.7 they're no longer needed.

        Reviewed by Anders Carlsson.

        * Configurations/Base.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebContentProcess.xcconfig:

1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108
2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Coalesce calls to viewStateDidChange
        https://bugs.webkit.org/show_bug.cgi?id=123307

        Reviewed by Tim Horton.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
            - coalesce calls to viewStateDidChange
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - handle changes to view visibility & active state in correct order.

1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121
2013-10-24  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/15312643> Prepare for the mysterious future.

        Reviewed by David Kilzer.

        * Configurations/Base.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebContentProcess.xcconfig:

1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Fold updateWindowIsVisible into viewStateDidChange
        https://bugs.webkit.org/show_bug.cgi?id=123305

        Reviewed by Simon Fraser.

        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isWindowVisible):
            - Added accessor to check if window is visible
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
            - _updateWindowVisibility -> viewStateDidChange
        * UIProcess/PageClient.h:
            - Added accessor to check if winow is visible
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - handle WindowIsVisible
        * UIProcess/WebPageProxy.h:
            - added WindowIsVisible
        * UIProcess/mac/WebPageProxyMac.mm:
            - removed updateWindowIsVisible

1150 1151 1152 1153 1154 1155 1156 1157 1158 1159
2013-10-24  Anders Carlsson  <andersca@apple.com>

        Stop bringing in the std namespace
        https://bugs.webkit.org/show_bug.cgi?id=123273

        Reviewed by Andreas Kling.

        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformSetCacheModel):

1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Simplify window occlusion detection code
        https://bugs.webkit.org/show_bug.cgi?id=123300

        Reviewed by Tim Horton.

        Currently the WKView tries to maintain a copy of the window's occluded state,
        but forced to NO when occlusion detection is disabled (and capable of handling
        dectection being dynamically toggled). Simpler to just rely on the actual value
        from the window, && the enabled setting. Cleaning this up revealed that we're
        not sending a viewStateDidChange to the WebPageProxy when the occlusion state
        changes, which we probably should be.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewVisible):
            - check the real value of occlusion state from the window.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
            - don't update cached value.
        (-[WKView _windowDidChangeOcclusionState:]):
            - don't update cached value, but do send viewStateDidChange to the WebPageProxy.
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
            - removed _isWindowOccluded.
        (-[WKView windowOcclusionDetectionEnabled]):
        (-[WKView setWindowOcclusionDetectionEnabled:]):
            - Just toggle the flag - no cached state to update any more.
        * UIProcess/API/mac/WKViewInternal.h:
            - removed _isWindowOccluded.

1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223
2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        SetIsVisible message should be sent to WebPage
        https://bugs.webkit.org/show_bug.cgi?id=123296

        Reviewed by Tim Horton.

        * UIProcess/DrawingAreaProxy.h:
            - remove visibilityDidChange - WebPageProxy now mesages WebPage.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - Send view visibility updates to the WebPage, not the drawing area.
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
            - remove visibilityDidChange - WebPageProxy now mesages WebPage.
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::suspendPainting):
        (WebKit::DrawingArea::resumePainting):
        * WebProcess/WebPage/DrawingArea.messages.in:
            - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
              make them private to the WebProcess but accessible from WebPage.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setViewIsVisible):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
            - Added SetViewIsVisible message.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
            - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
              make them private to the WebProcess but accessible from WebPage.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
            - Moved animation suspend code out to WebPage.

1224 1225 1226 1227 1228 1229
2013-10-24  Dan Bernstein  <mitz@apple.com>

        Tried to fix the Mountain Lion build.

        * Shared/API/Cocoa/WKFoundation.h:

1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246
2013-10-24  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add -[WKBrowsingContextController goToBackForwardItem:]
        https://bugs.webkit.org/show_bug.cgi?id=123289

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKFoundation.h: Defined WK_API_CLASS.
        * UIProcess/API/mac/WKBrowsingContextController.h: Declared -goToBackForwardListItem:.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController goToBackForwardListItem:]): Added.
        * UIProcess/Cocoa/WKBackForwardList.h: Deployed WK_API_CLASS to make the class exported.
        * UIProcess/Cocoa/WKBackForwardListItem.h: Ditto.
        * UIProcess/Cocoa/WKBackForwardListItem.mm:
        (-[WKBackForwardListItem _item]): Added. Returns the underlying WebBackForwardListItem.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Declared _item.

1247 1248 1249 1250 1251 1252 1253 1254 1255 1256
2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed build fix since r157823.
        FilterOperation::getOperationType() is renamed FilterOperation::type().

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (CoreIPC::::encode):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):

1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270
2013-10-23  Tibor Meszaros  <tmeszaros@inf.u-szeged.hu>

        Web Inspector: Make WebKitEFL port work with chromedevtools
        https://bugs.webkit.org/show_bug.cgi?id=123017

        Reviewed by Gustavo Noronha Silva.

        Added /json path and extended the returned JSON format
        with the required extra informations

        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
        (WebKit::WebInspectorServer::platformResourceForPath):
        (WebKit::WebInspectorServer::buildPageList):

andersca@apple.com's avatar
andersca@apple.com committed
1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314
2013-10-23  Anders Carlsson  <andersca@apple.com>

        Remove HAVE_XPC
        https://bugs.webkit.org/show_bug.cgi?id=123226

        Reviewed by Dan Bernstein.

        HAVE_XPC has been true on Mac since Lion, so remove it.

        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
        (DatabaseServiceInitializer):
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
        (NetworkServiceInitializer):
        * Platform/CoreIPC/Connection.h:
        (CoreIPC::Connection::Identifier::Identifier):
        * Platform/CoreIPC/mac/ConnectionMac.cpp:
        (CoreIPC::Connection::platformInvalidate):
        (CoreIPC::Connection::platformInitialize):
        * Platform/WorkQueue.h:
        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
        (PluginServiceInitializer):
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::setUpTerminationNotificationHandler):
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::WebProcessProxy::platformGetLaunchOptions):
        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
        (WebContentServiceInitializer):

1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326
2013-10-23  Tim Horton  <timothy_horton@apple.com>

        Remove the ifdef to exclude remote layer tree transaction logging
        on Lion and before.

        Rubber-stamped by Anders Carlsson.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):

1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337
2013-10-23  Brady Eidson  <beidson@apple.com>

        Make IDBDatabaseBackendLevelDB.cpp be cross platform
        https://bugs.webkit.org/show_bug.cgi?id=123027

        Attentively reviewed by Dean Jackson.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

mitz@apple.com's avatar
mitz@apple.com committed
1338 1339 1340 1341 1342 1343 1344 1345
2013-10-23  Dan Bernstein  <mitz@apple.com>

        Fixed a typo.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (didChangeBackForwardList):
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:

1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357
2013-10-23  Anton Obzhirov  <a.obzhirov@samsung.com>

        [GTK] Enable respect image orientation by default
        https://bugs.webkit.org/show_bug.cgi?id=122120

        Reviewed by Gustavo Noronha Silva.

        Add enable respect image orientation by default in GTK port.

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webKitSettingsConstructed):

1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374
2013-10-23  Brian Holt  <brian.holt@samsung.com>

        [GTK] Add WebKit2 API for TLS errors
        https://bugs.webkit.org/show_bug.cgi?id=120160

        Reviewed by Mario Sanchez Prada.

        Revert back to using PlatformCertificateInfo following the rollout
        of https://bugs.webkit.org/show_bug.cgi?id=118520.

        * Shared/soup/PlatformCertificateInfo.cpp:
        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
        * Shared/soup/PlatformCertificateInfo.h:
        * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
        (webkitCertificateInfoGetCertificateInfo):
        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:

1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432
2013-10-23  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Implement superlayer, removeFromSuperlayer, replaceSublayer, and adoptSublayers
        https://bugs.webkit.org/show_bug.cgi?id=123130

        Reviewed by Anders Carlsson.

        Implement the remaining layer-hierarchy-manipulation methods.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        (PlatformCALayerRemote::~PlatformCALayerRemote):
        Null out the superlayer back-pointer on our sublayers.

        (PlatformCALayerRemote::recursiveBuildTransaction):
        Ensure that our children all have us as their superlayer.

        (PlatformCALayerRemote::superlayer):
        Return the stored superlayer pointer.

        (PlatformCALayerRemote::removeFromSuperlayer):
        Call removeSublayer on our superlayer, if we have one.

        (PlatformCALayerRemote::removeSublayer):
        Remove the given layer if it's in our list of sublayers, clear its
        reference to us, and note that we'll need to commit hierarchy changes.

        (PlatformCALayerRemote::setSublayers):
        removeAllSublayers() before setting the new list, to clear superlayer
        back-pointers. Children will be protected by the PlatformCALayerList.
        Update the new layers' superlayers.

        (PlatformCALayerRemote::removeAllSublayers):
        Remove each sublayer from its superlayer, then clear our list of children.

        (PlatformCALayerRemote::appendSublayer):
        (PlatformCALayerRemote::insertSublayer):
        Protect the layer from deletion, so that we can remove it from its prior
        superlayer before appending or inserting it.

        (PlatformCALayerRemote::replaceSublayer):
        Find the reference sublayer, if it exists, and replace it with the new one.

        (PlatformCALayerRemote::adoptSublayers):
        adoptSublayers is really just "set sublayers to this other layer's sublayers".
        Since setSublayers already removes layers from the existing superlayer,
        we can just go ahead and call it.

        (PlatformCALayerRemote::addAnimationForKey):
        (PlatformCALayerRemote::removeAnimationForKey):
        (PlatformCALayerRemote::animationForKey):
        Add some ASSERT_NOT_REACHEDs in animation code.
        We ought not get here because we've disabled hardware animations
        in GraphicsLayerCARemote.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Add m_superlayer and removeSublayer().

1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445
2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on Soup based port after r157842.

        WebCore::CertificateInfo was reverted to WebKit::PlatformCertificateInfo.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):

1446 1447 1448 1449 1450 1451
2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on EFL port after r157842.

        * Shared/soup/PlatformCertificateInfo.h: Removed message of merge confliction.

1452 1453 1454 1455 1456 1457 1458
2013-10-22  Mark Rowe  <mrowe@apple.com>

        Fix build failures after r157842.

        * WebProcess/WebProcess.h: Don't try to #include a file that was deleted.
        It won't work.

1459 1460 1461 1462 1463 1464 1465 1466 1467
2013-10-22  Brady Eidson  <beidson@apple.com>

        Get rid of IDBObjectStoreBackendLevelDB
        https://bugs.webkit.org/show_bug.cgi?id=123174

        Reviewed by Tim Horton.

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486
2013-10-22  Dean Jackson  <dino@apple.com>

        [WebGL] Implement a software rendering option on Mac
        https://bugs.webkit.org/show_bug.cgi?id=123177

        Reviewed by Tim Horton.

        Implement a way to force software OpenGL rendering
        for WebGL, via a Setting/Preference.

        * Shared/WebPreferencesStore.h: New ForceSoftwareWebGLRendering entry.
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetForceSoftwareWebGLRendering):
        (WKPreferencesGetForceSoftwareWebGLRendering):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):
        * mac/WebKit2.order:

1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562
2013-10-22  Anders Carlsson  <andersca@apple.com>

        Revert r157445 since it broke certificates on Mac.
        <rdar://problem/15246926&15254017&15269117>

        * GNUmakefile.list.am:
        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
        (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/API/c/mac/WKCertificateInfoMac.mm:
        (WKCertificateInfoCreateWithCertficateChain):
        (WKCertificateInfoGetCertificateChain):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
        (WebKit::AuthenticationManager::useCredentialForChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/Authentication/AuthenticationManager.messages.in:
        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebCertificateInfo.h:
        (WebKit::WebCertificateInfo::create):
        (WebKit::WebCertificateInfo::platformCertificateInfo):
        (WebKit::WebCertificateInfo::WebCertificateInfo):
        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:
        * Shared/mac/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp.
        (WebKit::PlatformCertificateInfo::certificateChain):
        * Shared/mac/PlatformCertificateInfo.mm: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm.
        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
        (WebKit::PlatformCertificateInfo::encode):
        (WebKit::PlatformCertificateInfo::decode):
        (WebKit::PlatformCertificateInfo::dump):
        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):
        * Shared/soup/PlatformCertificateInfo.cpp: Added.
        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
        (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
        (WebKit::PlatformCertificateInfo::encode):
        (WebKit::PlatformCertificateInfo::decode):
        * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/CertificateInfo.h.
        (WebKit::PlatformCertificateInfo::certificate):
        (WebKit::PlatformCertificateInfo::tlsErrors):
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_tls_info):
        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
        (WebKit::AuthenticationChallengeProxy::useCredential):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad):
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578
2013-10-22  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Disable threaded scrolling for RemoteLayerTreeDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=123187

        Reviewed by Dean Jackson.

        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::supportsThreadedScrolling):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        Threaded scrolling doesn't work with remote layer trees yet.
        Let the DrawingArea subclass tell WebPage if it supports threaded
        scrolling, and make TiledCoreAnimationDrawingArea say that it does.

1579 1580 1581 1582 1583 1584 1585
2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on EFL port after r157823

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (CoreIPC::::encode): renamed getOperationType() to type().

1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598
2013-10-22  Tim Horton  <timothy_horton@apple.com>

        {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
        https://bugs.webkit.org/show_bug.cgi?id=123172

        Reviewed by Simon Fraser.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::encodeFilterOperation):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):
        Adopt the new name.

1599 1600 1601 1602 1603 1604 1605 1606
2013-10-22  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r157803 for !ENABLE(CSS_FILTERS) platforms.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
        * Shared/WebCoreArgumentCoders.cpp:

1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656
2013-10-22  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Support hardware accelerated filters
        https://bugs.webkit.org/show_bug.cgi?id=123139

        Reviewed by Anders Carlsson.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::ArgumentCoder<Length>::encode):
        (CoreIPC::ArgumentCoder<Length>::decode):
        Add simple coders for Length.

        (CoreIPC::encodeFilterOperation):
        (CoreIPC::decodeFilterOperation):
        Serialize and deserialize FilterOperations, except for CUSTOM and VALIDATED_CUSTOM.

        (CoreIPC::ArgumentCoder<Length>::encode):
        (CoreIPC::ArgumentCoder<Length>::decode):
        Add coders for FilterOperations that delegate to {en,de}codeFilterOperation
        for each operation in the list.

        * Shared/WebCoreArgumentCoders.h:
        Drive-by fix indentation.
        Expose the Length and FilterOperations coders.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        Add FiltersChanged and LayerProperties::filters.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        Encode and decode our FilterOperations.

        (WebKit::dumpChangedLayers):
        Dump information about the layers' filters.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        Use PlatformCAFilters code to apply a FilterOperations object to our CALayer.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setFilters):
        Replace existing filters with our new set, and note that they've changed.

        (PlatformCALayerRemote::copyFiltersFrom):
        Not yet implemented. Not critical for this feature, either.

        (PlatformCALayerRemote::filtersCanBeComposited):
        For now, this is the same as the Mac version.

1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708
2013-10-22  Brian Holt  <brian.holt@samsung.com>

        [GTK] Add WebKit2 API for TLS errors
        https://bugs.webkit.org/show_bug.cgi?id=120160

        Reviewed by Carlos Garcia Campos.

        Add a new signal load-failed-with-tls-errors that is emitted with
        a WebKitCertificateInfo boxed type to allow users to deal with TLS
        errors. A new API is exposed in WebKitWebContext to allow
        exceptions for TLS errors on a given host.

        * GNUmakefile.list.am:
        * PlatformGTK.cmake:
        * UIProcess/API/gtk/WebKitCertificateInfo.cpp: Added.
        (webkitCertificateInfoGetCertificateInfo):
        (webkit_certificate_info_copy):
        (webkit_certificate_info_free):
        (webkit_certificate_info_get_tls_certificate):
        (webkit_certificate_info_get_tls_errors):
        * UIProcess/API/gtk/WebKitCertificateInfo.h: Added.
        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: Added.
        (_WebKitCertificateInfo::_WebKitCertificateInfo):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_allow_tls_certificate_for_host): Support TLS
        exceptions for a given host.
        * UIProcess/API/gtk/WebKitWebContext.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_class_init): Added new signal.
        (webkitWebViewLoadFailedWithTLSErrors): Emit new signal with
        WebKitCertificateInfo and host.
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        * UIProcess/API/gtk/docs/webkit2gtk.types:
        * UIProcess/API/gtk/tests/TestSSL.cpp:
        (testLoadFailedWithTLSErrors):
        (httpsServerCallback):
        (beforeAll): Added new test.
        * UIProcess/API/gtk/webkit2.h:
        * UIProcess/API/gtk/webkit2marshal.list:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): Send
        message to WebProcess to allow a certificate and host pair.
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in: New message to tell
        WebProcess to allow a specific TLS certificate for a given host.
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Allow
        certificate and host pair.

1709 1710 1711 1712 1713 1714
2013-10-22  Dan Bernstein  <mitz@apple.com>

        Try to make the 32-bit Mac build happy.

        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:

1715 1716 1717 1718 1719 1720 1721
2013-10-21  Dan Bernstein  <mitz@apple.com>

        Try to make the 32-bit Mac build happy.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (setUpPageLoaderClient):

1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733
2013-10-21  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add load delegate method for didChangeBackForwardList
        https://bugs.webkit.org/show_bug.cgi?id=123136

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (didChangeBackForwardList): Added. Calls new delegate method.
        (setUpPageLoaderClient):  Hook up new client function.
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method.

1734 1735 1736 1737 1738 1739 1740 1741
2013-10-21  Mark Rowe  <mrowe@apple.com>

        Add a version of WebKitSystemInterface for Mavericks.

        Reviewed by Ryosuke Niwa.

        * Configurations/DebugRelease.xcconfig:

1742 1743 1744 1745 1746 1747 1748
2013-10-21  Dan Bernstein  <mitz@apple.com>

        Try to fix the Mac 32-bit build.

        * UIProcess/API/mac/WKBrowsingContextController.h:
        * UIProcess/API/mac/WKBrowsingContextController.mm:

1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759
2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work.

        This definitely ought to fix the build.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):

1760 1761 1762 1763 1764 1765 1766
2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Maybe a Lion build fix after r157731, part 2.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):

1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842
2013-10-21  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Back/forward list UI process API
        https://bugs.webkit.org/show_bug.cgi?id=123109

        Reviewed by Darin Adler.

        * CMakeLists.txt: Updated for renames.
        * GNUmakefile.list.am: Ditto.

        * Shared/Cocoa: Added.
        * Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by
        a WebKit::ImmutableArray.
        * Shared/Cocoa/WKNSArray.mm: Added.
        (+[WKNSArray web_arrayWithImmutableArray:]): Added.
        (-[WKNSArray web_initWithImmutableArray:]): Added.
        (-[WKNSArray count]): Added.
        (-[WKNSArray objectAtIndex:]): Added.
        (-[WKNSArray copyWithZone:]): Added.

        * Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to
        vend WebKit API objects as Objective-C objects.
        * Shared/Cocoa/WKNSObjectExtras.mm: Added.
        (-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects.
        (-[WKObject isEqual:]): Check for equality of the underlying object.
        (-[WKObject hash]): Return a pointer to the underlying object.
        (-[WKObject description]): Added.
        (+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object
        for the given API object. Currently returns a WKBackForwardListItem for a back/forward list
        item and a generic WKObject for all other types.

        * UIProcess/API/C/WKBackForwardList.cpp: Renamed.
        * UIProcess/API/C/WKBackForwardList.h: Renamed.
        * UIProcess/API/C/WKBackForwardListItem.cpp: Renamed.
        * UIProcess/API/C/WKBackForwardListItem.h: Renamed.
        * UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
        * UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
        * UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
        * UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h.

        * UIProcess/API/C/WebKit2_C.h: Updated for header renames.

        * UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename.
        * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto.

        * UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController backForwardList]): Added this accessor.

        * UIProcess/Cocoa: Added.
        * UIProcess/Cocoa/WKBackForwardList.h: Added.
        * UIProcess/Cocoa/WKBackForwardList.mm: Added.
        (toWKBackForwardListItem): Added this helper.
        (-[WKBackForwardList currentItem]): Added.
        (-[WKBackForwardList backItem]): Added.
        (-[WKBackForwardList forwardItem]): Added.
        (-[WKBackForwardList itemAtIndex:]): Added.
        (-[WKBackForwardList backListCount]): Added.
        (-[WKBackForwardList forwardListCount]): Added.
        (-[WKBackForwardList backListWithLimit:]): Added.
        (-[WKBackForwardList forwardListWithLimit:]): Added.
        (-[WKBackForwardList _initWithList:]): Added.
        * UIProcess/Cocoa/WKBackForwardListInternal.h: Added.

        * UIProcess/Cocoa/WKBackForwardListItem.h: Added.
        * UIProcess/Cocoa/WKBackForwardListItem.mm: Added.
        (-[WKBackForwardListItem URL]): Added.
        (-[WKBackForwardListItem title]): Added.
        (-[WKBackForwardListItem originalURL]): Added.
        (-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object.
        (-[WKBackForwardListItem hash]): Return a pointer to the underlying object
        (-[WKBackForwardListItem _initWithItem:]): Added.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added.

        * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.

1843 1844 1845 1846 1847 1848 1849
2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Maybe a Lion build fix after r157731.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):

1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873
2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Clean up transaction logging
        https://bugs.webkit.org/show_bug.cgi?id=123116

        Reviewed by Anders Carlsson.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream):
        (WebKit::RemoteLayerTreeTextStream::increaseIndent):
        (WebKit::RemoteLayerTreeTextStream::decreaseIndent):
        (WebKit::RemoteLayerTreeTextStream::writeIndent):
        (WebKit::RemoteLayerTreeTextStream::operator<<):
        Add some stream operator overrides for various types we need to dump.
        Add a notion of current indent to our TextStream subclass to make it
        easy to keep track of where we are.

        (WebKit::dumpProperty):
        Added, hand any arbitrary type to RemoteLayerTreeTransaction.

        (WebKit::dumpChangedLayers):
        (WebKit::RemoteLayerTreeTransaction::dump):
        Make use of TextStream.

1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885
2013-10-21  Brady Eidson  <beidson@apple.com>

        Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
        https://bugs.webkit.org/show_bug.cgi?id=123105

        Reviewed by Anders Carlsson.

        Stub out a new pure virtual method:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::createTransactionBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914
2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Backing store should take contentsScale into account
        https://bugs.webkit.org/show_bug.cgi?id=123106

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::ensureBackingStore):
        (PlatformCALayerRemote::setNeedsDisplay):
        (PlatformCALayerRemote::setContentsScale):
        Inform the backing store of the contentsScale, and when it changes.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::scale): Added.
        (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        (RemoteLayerBackingStore::mapToContentCoordinates):
        Factor out flipping so we can use it for repaints in multiple places.

        (RemoteLayerBackingStore::setNeedsDisplay):
        (RemoteLayerBackingStore::display):
        Create a buffer scaled up by contentsScale, take the scale into account
        when copying clean bits from the front buffer, and apply the scale before
        painting into the back buffer.

1915 1916 1917 1918 1919 1920 1921 1922 1923
2013-10-21  Gergo Balogh  <geryxyz@inf.u-szeged.hu>

        Remove qt from generate-forwarding-headers.pl
        https://bugs.webkit.org/show_bug.cgi?id=123090

        Reviewed by Andreas Kling.

        * Scripts/generate-forwarding-headers.pl:

1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934
2013-10-21  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] g-ir-scanner should use the configured C compiler
        https://bugs.webkit.org/show_bug.cgi?id=123088

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
        via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
        the Clang-specific CFLAGS.

mitz@apple.com's avatar
mitz@apple.com committed
1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953
2013-10-20  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Loading progress API
        https://bugs.webkit.org/show_bug.cgi?id=123069

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController estimatedProgress]): Added.
        (didStartProgress): Added. Calls new delegate method
        -browsingContextControllerDidStartProgress:.
        (didChangeProgress): Added. Calls new delegate method
        -browsingContextController:estimatedProgressChangedTo:.
        (didFinishProgress): Added. Calls new delegate method
        -browsingContextControllerDidFinishProgress:.
        (setUpPageLoaderClient): Hook up new client functions.
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods.

1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991
2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Removing "unused parameter" compiling warnings from WebKit2 and WebCore
        https://bugs.webkit.org/show_bug.cgi?id=123075

        Reviewed by Andreas Kling.

        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
        (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetPluginSiteDataManager):
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetInspectorUsesWebKitUserInterface):
        (WKPreferencesGetInspectorUsesWebKitUserInterface):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getPlugins):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageSetFullScreenClient):
        (WKBundlePageWillEnterFullScreen):
        (WKBundlePageDidEnterFullScreen):
        (WKBundlePageWillExitFullScreen):
        (WKBundlePageDidExitFullScreen):
        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
        (WebKit::WebMediaCacheManager::clearCacheForHostname):
        * WebProcess/OriginData/WebOriginDataManager.cpp:
        (WebKit::WebOriginDataManager::getOrigins):
        (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
        (WebKit::WebOriginDataManager::deleteAllEntries):
        (WebKit::WebOriginDataManager::startObservingChanges):
        (WebKit::WebOriginDataManager::stopObservingChanges):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createPlugin):
        (WebKit::WebFrameLoaderClient::recreatePlugin):
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::canPluginHandleResponse):

1992 1993 1994 1995 1996 1997
2013-10-19  Jer Noble  <jer.noble@apple.com>

        Unreviewed roll out of r157695; broke Mac builds.

        * Configurations/FeatureDefines.xcconfig:

1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
2013-10-07  Jer Noble  <jer.noble@apple.com>

        [MSE] [Mac] Enable MediaSource on the Mac
        https://bugs.webkit.org/show_bug.cgi?id=122484

        Reviewed by Darin Adler.

        Enable ENABLE_MEDIA_SOURCE.

        * Configurations/FeatureDefines.xcconfig:

2009 2010 2011 2012
2013-10-19  Dan Bernstein  <mitz@apple.com>

        Fix the Mac 32-bit build by reverting r157676, r157678, and r157679.

2013 2014 2015 2016 2017 2018 2019
2013-10-19  Dan Bernstein  <mitz@apple.com>

        Try to fix the Mac 32-bit build.

        * UIProcess/mac/WKFullScreenWindowController.h:
        * UIProcess/mac/WKFullScreenWindowController.mm:

2020 2021 2022 2023 2024 2025 2026 2027 2028
2013-10-19  Dan Bernstein  <mitz@apple.com>

        Try to fix the Mac 32-bit build.

        * UIProcess/API/mac/WKView.h:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/API/mac/WKViewPrivate.h:

2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108
2013-10-19  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
        https://bugs.webkit.org/show_bug.cgi?id=123065

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data
        ivar and WKBrowsingContextControllerData class declaration.
        * UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed
        WKBrowsingContextControllerData class and moved _pageRef ivar directly into
        WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors
        for the loadDelegate property, letting the compiler synthesize them.
        (-[WKBrowsingContextController dealloc]): Removed indirection via _data.
        (-[WKBrowsingContextController _pageRef]): Ditto.
        (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
        Ditto.
        (-[WKBrowsingContextController stopLoading]): Ditto.
        (-[WKBrowsingContextController reload]): Ditto.
        (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
        (-[WKBrowsingContextController goForward]): Ditto.
        (-[WKBrowsingContextController canGoForward]): Ditto.
        (-[WKBrowsingContextController goBack]): Ditto.
        (-[WKBrowsingContextController canGoBack]): Ditto.
        (-[WKBrowsingContextController activeURL]): Ditto.
        (-[WKBrowsingContextController provisionalURL]): Ditto.
        (-[WKBrowsingContextController committedURL]): Ditto.
        (-[WKBrowsingContextController title]): Ditto.
        (-[WKBrowsingContextController textZoom]): Ditto.
        (-[WKBrowsingContextController setTextZoom:]): Ditto.
        (-[WKBrowsingContextController pageZoom]): Ditto.
        (-[WKBrowsingContextController setPageZoom:]): Ditto.
        (-[WKBrowsingContextController setPaginationMode:]): Ditto.
        (-[WKBrowsingContextController paginationMode]): Ditto.
        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
        (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
        (-[WKBrowsingContextController setPageLength:]): Ditto.
        (-[WKBrowsingContextController pageLength]): Ditto.
        (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
        (-[WKBrowsingContextController gapBetweenPages]): Ditto.
        (-[WKBrowsingContextController pageCount]): Ditto.
        (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard.
        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.

        * UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar
        and WKBrowsingContextGroupData class declaration.
        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed
        WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info
        WKBrowsingContextGroup, declaring it in the @implementation.
        (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
        (-[WKBrowsingContextGroup _pageGroupRef]): Ditto.
        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard.

        * UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and
        WKConnectionData class declaration.
        * UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData
        class and moved _connectionRef ivar directly into WKConnection, declaring it in the
        @implementation. Removed ivar and accessors for the delegate property, letting the compiler
        synthesize them.
        (-[WKConnection dealloc]): Removed indirection via _data.
        (-[WKConnection sendMessageWithName:body:]): Ditto.
        (-[WKConnection _initWithConnectionRef:]): Ditto.
        * UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard.

        * UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward
        declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class
        declaration.
        * UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed
        WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring
        it in the @implementation. Removed ivar and accessors for the delegate property, letting the
        compiler synthesize them.
        (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
        (-[WKProcessGroup dealloc]): Ditto.
        (-[WKProcessGroup _contextRef]): Ditto.
        * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard.

2109 2110 2111 2112 2113 2114
2013-10-19  Andreas Kling  <akling@apple.com>

        Attempt to get Lion building.

        * UIProcess/mac/WebColorPickerMac.h:

2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147
2013-10-18  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Double-buffering and minimization of repaints
        https://bugs.webkit.org/show_bug.cgi?id=123043

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::ensureBackingStore):
        Don't worry about isOpaque with RemoteLayerBackingStore; this is a
        optimization that is causing trouble; we can re-add it later.

        (PlatformCALayerRemote::setBounds):
        Make sure that we will repaint if our bounds change.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::bitmap):
        Keep a front and back buffer; return the front buffer when being asked for the bitmap.
        Keep a Region of repaint areas.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        Serialize only the front buffer, since the UI process only needs that.

        (RemoteLayerBackingStore::setNeedsDisplay):
        Store repaint rects instead of always setting the whole layer to be dirty.

        (RemoteLayerBackingStore::display):
        Paint into the back buffer (copying valid parts over from the front buffer),
        then swap it to the front buffer. Use drawLayerContents so we get repaint counters, etc.

2148 2149 2150 2151 2152 2153
2013-10-18  Anders Carlsson  <andersca@apple.com>

        Try to fix the Lion build.

        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165
2013-10-18  Anders Carlsson  <andersca@apple.com>

        Remove spaces between template angle brackets
        https://bugs.webkit.org/show_bug.cgi?id=123040

        Reviewed by Andreas Kling.

        * UIProcess/mac/WebColorPickerMac.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::setProcessSuppressionEnabled):

2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176
2013-10-18  Brady Eidson  <beidson@apple.com>

        Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
        https://bugs.webkit.org/show_bug.cgi?id=123039

        Reviewed by Anders Carlsson.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): Stub out this new interface method.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2177 2178 2179 2180 2181 2182 2183 2184 2185 2186
2013-10-18  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKBrowsingController accessors crash instead of returning nil
        https://bugs.webkit.org/show_bug.cgi?id=123036

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (autoreleased): Return nil if the object is NULL.

2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199
2013-10-18  Anders Carlsson  <andersca@apple.com>

        Remove some Windows specific code from WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=123034

        Reviewed by Beth Dakin.

        * Platform/PlatformProcessIdentifier.h:
        * Shared/API/c/WKDeclarationSpecifiers.h:
        * UIProcess/API/C/WKNativeEvent.h:
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * config.h:

2200 2201 2202 2203 2204 2205 2206 2207
2013-10-18  Dan Bernstein  <mitz@apple.com>

        Removed the __MAC_OS_X_VERSION_MIN_REQUIRED condition from the definition of WK_API_ENABLED.

        Rubber-stamped by Anders Carlsson.

        * Shared/API/Cocoa/WKFoundation.h:

2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259
2013-10-17  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Proxy layer contents to the UI process
        http://bugs.webkit.org/show_bug.cgi?id=123003

        Reviewed by Anders Carlsson.

        Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps
        for now, and are fully repainted on any invalidation. Also, contents do not respect
        any kind of scale or use of contentsRect/etc.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpChangedLayers):
        Store/encode/decode/dump the new RemoteLayerBackingStore.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        Fix a mistake where contentsRect was getting reset when contentsScale changed.
        Set the layer contents when the backing store changes.

        * WebKit2.xcodeproj/project.pbxproj:
        Add RemoteLayerBackingStore.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::recursiveBuildTransaction):
        Paint while building our transaction, and mark the backing store as changed
        if we did any painting.

        (PlatformCALayerRemote::ensureBackingStore):
        Keep the backing store's properties up-to-date with our layer.

        (PlatformCALayerRemote::setNeedsDisplay):
        Inform the backing store that it needs to paint.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added.
        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added.
        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        Encode/decode our ShareableBitmap (via its handle) and size.

        (RemoteLayerBackingStore::setNeedsDisplay):
        For now, repaint the world.

        (RemoteLayerBackingStore::display):
        Create a new bitmap if needed, and paint into it.

2260 2261 2262 2263 2264 2265
2013-10-17  Dan Bernstein  <mitz@apple.com>

        Fixed a typo in the definition of WK_API_ENABLED.

        * Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100.

2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313
2013-10-17  Dan Bernstein  <mitz@apple.com>

        Add and deploy WK_API_ENABLED guards
        https://bugs.webkit.org/show_bug.cgi?id=123008

        Reviewed by Darin Adler.

        * Shared/API/Cocoa: Added.
        * Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the
        Objective-C API should be enabled in the current configuration.
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::typeFromObject): Changed to use WK_API_ENABLED.
        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto.
        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto.
        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto.
        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto.
        * UIProcess/API/mac/WKTypeRefWrapper.h: Ditto.
        * UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto.
        * UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h.
        * WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added
        WKFoundation.h as a public header.
        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):

2314 2315 2316 2317 2318 2319 2320
2013-10-17  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2] Speculative buildfixes for GTK and EFL after r157582.

        * CMakeLists.txt:
        * GNUmakefile.am:

2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391
2013-10-17  Martin Hock  <mhock@apple.com>

        Refactor stored website data APIs
        https://bugs.webkit.org/show_bug.cgi?id=122781

        Reviewed by Brady Eidson.

        Add WebOriginDataManager along with corresponding class
        WebOriginDataManagerProxy and API WKOriginDataManager.

        Currently, the new files are unused.

        WKOriginDataManager should subsume the functionality of:
        WKApplicationCacheManager, WKCookieManager, WKDatabaseManager,
        WKKeyValueStorageManager, WKMediaCacheManager,
        WKPluginSiteDataManager, and WKResourceCacheManager.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Shared/API/c/WKBase.h:
        * Shared/APIObject.h:
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetOriginDataManager):
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKOriginDataManager.cpp: Added.
        (WKOriginDataManagerGetTypeID):
        (WKOriginDataManagerGetOrigins):
        (WKOriginDataManagerDeleteEntriesForOrigin):
        (WKOriginDataManagerDeleteAllEntries):
        (WKOriginDataManagerStartObservingChanges):
        (WKOriginDataManagerStopObservingChanges):
        (WKOriginDataManagerSetChangeClient):
        * UIProcess/API/C/WKOriginDataManager.h: Added.
        * UIProcess/WebOriginDataManagerProxy.cpp: Added.
        (WebKit::WebOriginDataManagerProxy::supplementName):
        (WebKit::WebOriginDataManagerProxy::create):
        (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
        (WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy):
        (WebKit::WebOriginDataManagerProxy::contextDestroyed):
        (WebKit::WebOriginDataManagerProxy::processDidClose):
        (WebKit::WebOriginDataManagerProxy::shouldTerminate):
        (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
        (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
        (WebKit::WebOriginDataManagerProxy::getOrigins):
        (WebKit::WebOriginDataManagerProxy::didGetOrigins):
        (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
        (WebKit::WebOriginDataManagerProxy::deleteAllEntries):
        (WebKit::WebOriginDataManagerProxy::startObservingChanges):
        (WebKit::WebOriginDataManagerProxy::stopObservingChanges):
        (WebKit::WebOriginDataManagerProxy::setChangeClient):
        (WebKit::WebOriginDataManagerProxy::didChange):
        * UIProcess/WebOriginDataManagerProxy.h: Added.
        * UIProcess/WebOriginDataManagerProxy.messages.in: Added.
        * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Added.
        (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
        * UIProcess/WebOriginDataManagerProxyChangeClient.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/OriginData/WebOriginDataManager.cpp: Added.
        (WebKit::WebOriginDataManager::supplementName):
        (WebKit::WebOriginDataManager::WebOriginDataManager):
        (WebKit::WebOriginDataManager::getOrigins):
        (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
        (WebKit::WebOriginDataManager::deleteAllEntries):
        (WebKit::WebOriginDataManager::startObservingChanges):
        (WebKit::WebOriginDataManager::stopObservingChanges):
        * WebProcess/OriginData/WebOriginDataManager.h: Added.
        * WebProcess/OriginData/WebOriginDataManager.messages.in: Added.

2392 2393 2394 2395 2396 2397
2013-10-17  Brady Eidson  <beidson@apple.com>

        Blind attempt at gtk-wk2 build fix.

        * GNUmakefile.am:

2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472
2013-10-17  Brady Eidson  <beidson@apple.com>

        Add scaffolding for IDBDatabaseBackends in Web and Database processes
        https://bugs.webkit.org/show_bug.cgi?id=122971

        Reviewed by Tim Horton.

        This patch:
        - Adds a WebProcessIDBDatabaseBackend
        - Adds a DatabaseProcessIDBDatabaseBackend
        - Establishes the basic messaging between them
        - Actually creates those backends as the result of an indexedDB.open() call from javascript

        * DerivedSources.make:
        * WebKit2.xcodeproj/project.pbxproj:
        * Platform/Logging.h:

        Hook up messaging so (Web/Database)ProcessIDBDatabaseBackends can message each other:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        (WebKit::DatabaseToWebProcessConnection::establishIDBDatabaseBackend):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        (WebKit::DatabaseToWebProcessConnection::connection):
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: Added.

        DatabaseProcess side of an IDBDatabaseBackend:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp:
        (WebKit::DatabaseProcessIDBDatabaseBackend::DatabaseProcessIDBDatabaseBackend):
        (WebKit::DatabaseProcessIDBDatabaseBackend::~DatabaseProcessIDBDatabaseBackend):
        (WebKit::DatabaseProcessIDBDatabaseBackend::openConnection):
        (WebKit::DatabaseProcessIDBDatabaseBackend::messageSenderConnection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: Added.
        (WebKit::DatabaseProcessIDBDatabaseBackend::create):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in: Added.

        WebProcess side of an IDBDatabaseBackend:
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Added.
        (WebKit::generateBackendIdentifier):
        (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
        (WebKit::WebProcessIDBDatabaseBackend::~WebProcessIDBDatabaseBackend):
        (WebKit::WebProcessIDBDatabaseBackend::openConnection):
        (WebKit::WebProcessIDBDatabaseBackend::createObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::deleteObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::createTransaction):
        (WebKit::WebProcessIDBDatabaseBackend::close):
        (WebKit::WebProcessIDBDatabaseBackend::commit):
        (WebKit::WebProcessIDBDatabaseBackend::abort):
        (WebKit::WebProcessIDBDatabaseBackend::createIndex):
        (WebKit::WebProcessIDBDatabaseBackend::deleteIndex):
        (WebKit::WebProcessIDBDatabaseBackend::get):
        (WebKit::WebProcessIDBDatabaseBackend::put):
        (WebKit::WebProcessIDBDatabaseBackend::setIndexKeys):
        (WebKit::WebProcessIDBDatabaseBackend::setIndexesReady):
        (WebKit::WebProcessIDBDatabaseBackend::openCursor):
        (WebKit::WebProcessIDBDatabaseBackend::count):
        (WebKit::WebProcessIDBDatabaseBackend::deleteRange):
        (WebKit::WebProcessIDBDatabaseBackend::clear):
        (WebKit::WebProcessIDBDatabaseBackend::messageSenderConnection):
        (WebKit::WebProcessIDBDatabaseBackend::establishDatabaseProcessBackend):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Added.
        (WebKit::WebProcessIDBDatabaseBackend::create):

        Basic shared utilities that multiple processes will need going forward:
        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
        (WebKit::uniqueDatabaseIdentifier):
        * Shared/Databases/IndexedDB/IDBUtilities.h:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::sharedDatabaseBackendMap):
        (WebKit::WebIDBFactoryBackend::open): Actually establish an IDBDatabaseBackend in the DatabaseProcess
          when indexedDB.open() is called, even if it does nothing for now.

        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:

2473 2474 2475 2476 2477 2478 2479 2480 2481 2482
2013-10-17  Attila Dusnoki  <h047679@stud.u-szeged.hu>

        [WK2] REGRESSION(r156472): scrolling coordinator is always enabled incorrectly.
        https://bugs.webkit.org/show_bug.cgi?id=122958

        Reviewed by Tim Horton.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage): Missing ENABLE(THREADED_SCROLLING) guard added.

2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500
2013-10-17  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/15183901> WebKit2 XPC services load the wrong frameworks when running
        from the staged frameworks location.

        Build the XPC services with DYLD_VERSIONED_FRAMEWORK_PATH when USE_STAGING_INSTALL_PATH
        is set to YES. This is necessary because there's no way to specify environment variables
        to be used when an XPC service is launched.

        Reviewed by Anders Carlsson.

        * Configurations/BaseTarget.xcconfig: Set OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH to contain the
        DYLD_VERSIONED_FRAMEWORK_PATH value when USE_STAGING_INSTALL_PATH is YES.
        * Configurations/BaseXPCService.xcconfig: Include OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH in the
        value of OTHER_LDFLAGS.
        * Configurations/PluginService.32.xcconfig: Ditto.
        * Configurations/PluginService.64.xcconfig: Ditto.

2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544
2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Complete support for simple layer properties
        https://bugs.webkit.org/show_bug.cgi?id=122933

        Reviewed by Anders Carlsson.

        Add remote layer tree support for maskLayer, contentsRect, contentsScale,
        minificationFilter, magnificationFilter, speed, and timeOffset.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpProperty):
        (WebKit::dumpChangedLayers):
        Add the new properties.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::toCAFilterType):
        (WebKit::RemoteLayerTreeHost::commit):
        Apply the new properties.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setSublayers):
        (PlatformCALayerRemote::appendSublayer):
        (PlatformCALayerRemote::insertSublayer):
        Ensure that passed-in sublayers are always also PlatformCALayerRemote instances.
        These are ASSERT_WITH_SECURITY_IMPLICATION as we will later unconditionally static_cast
        them to PlatformCALayerRemote.

        (PlatformCALayerRemote::setMask):
        (PlatformCALayerRemote::setContentsRect):
        (PlatformCALayerRemote::setMinificationFilter):
        (PlatformCALayerRemote::setMagnificationFilter):
        (PlatformCALayerRemote::setSpeed):
        (PlatformCALayerRemote::setTimeOffset):
        (PlatformCALayerRemote::contentsScale):
        (PlatformCALayerRemote::setContentsScale):
        Remove setFrame, store the new properties.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Remove setFrame, add isRemote, fix pointer side on playerLayer.

2545 2546 2547 2548 2549 2550 2551 2552 2553
2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on EFL port after r157520 and r157523

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
        Removed ArgumentCoder<TransformationMatrix> which caused redefinition build error
        in EFL port.

2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565
2013-10-16  Anders Carlsson  <andersca@apple.com>

        Remove Qt sandbox process code
        https://bugs.webkit.org/show_bug.cgi?id=122920

        Reviewed by Geoffrey Garen.

        This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox.

        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed.
        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed.

2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579
2013-10-16  Jochen Eisinger  <jochen@chromium.org>

        A page should exit fullscreen mode if it opens a new popup
        https://bugs.webkit.org/show_bug.cgi?id=122865

        Reviewed by Jer Noble.

        If a fullscreen page opens a popup, the popup would be hidden and
        therefore invisible to the user. To avoid this, exit fullscreen mode
        before opening a new window.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createWindow):

2580 2581 2582 2583 2584 2585
2013-10-16  Brady Eidson  <beidson@apple.com>

        Blind attempt to fix non-DATABASE_PROCESS builds.

        * WebProcess/WebProcess.cpp:

2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596
2013-10-16  Tim Horton  <timothy_horton@apple.com>

        PlatformCALayer constructor should take layer type as an argument
        https://bugs.webkit.org/show_bug.cgi?id=122915

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Use the new LayerType argument.

2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609
2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Use a default instead of an environment variable
        https://bugs.webkit.org/show_bug.cgi?id=122913

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView std::WebKit::]):
        Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of
        the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA'
        to indicate that WKViews should make RemoteLayerTreeDrawingAreas.

2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683
2013-10-15  Brady Eidson  <beidson@apple.com>

        Flesh out the DatabaseProcess (and launch it!)
        https://bugs.webkit.org/show_bug.cgi?id=122884

        Reviewed by Tim Horton.

        This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess.

        It still does very little except exist.

        Project file stuff:
        * WebKit2.xcodeproj/project.pbxproj:
        * DerivedSources.make:

        WebContext owns the DatabaseProcess (much like the NetworkProcess):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::ensureDatabaseProcess):
        (WebKit::WebContext::getDatabaseProcessConnection):
        * UIProcess/WebContext.h:

        Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess:
        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/DatabaseProcess.messages.in: Added.

        Add an object to represent a single connection to a single WebProcess:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::create):
        (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
        (WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection):
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        (WebKit::DatabaseToWebProcessConnection::didClose):
        (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:

        Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess:
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
        (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
        (WebKit::DatabaseProcessProxy::didFinishLaunching):
        * UIProcess/Databases/DatabaseProcessProxy.h:
        * UIProcess/Databases/DatabaseProcessProxy.messages.in: Added.

        Add an object to represent a WebProcess’s connection to a DatabaseProcess:
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
        (WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection):
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
        (WebKit::WebToDatabaseProcessConnection::didClose):
        (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
        (WebKit::WebToDatabaseProcessConnection::create):
        (WebKit::WebToDatabaseProcessConnection::connection):

        Give WebProcess(Proxy) an accessor for a Web -> Database process connection:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
        (WebKit::WebProcess::webToDatabaseProcessConnection):
        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
        * WebProcess/WebProcess.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getDatabaseProcessConnection):
        * UIProcess/WebProcessProxy.h:
        * UIProcess/WebProcessProxy.messages.in:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working.

2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803
2013-10-16  Tim Horton  <timothy_horton@apple.com>

        RemoteLayerTree: Add support for more layer properties and transform layers
        https://bugs.webkit.org/show_bug.cgi?id=122906

        Reviewed by Anders Carlsson.

        Add support for name, border width, border color, opacity, transform, sublayer transform,
        hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties.

        Factor layer creation out from layer changes, so that we can create layers of the correct
        type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::::encode):
        (CoreIPC::::decode):
        * Shared/WebCoreArgumentCoders.h:
        Add coders for TransformationMatrix.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        Add the new LayerChange values.

        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
        LayerProperties::layerChanges should be a LayerChange.

        (WebKit::RemoteLayerTreeTransaction::createdLayers):
        Expose the list of newly created layers (for RemoteLayerTreeHost's consumption).

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
        Add (and support coding) a new LayerCreationProperties struct, which is currently
        just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow.

        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        Encode and decode all of the new layer properties.
        Encode changedProperties as an enum, not an unsigned.

        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        Encode and decode the list of newly created layers.

        (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
        Setter for the list of newly created layers, which comes from the
        RemoteLayerTreeContext at commit time.

        (WebKit::dumpProperty):
        Helper function to dump TransformationMatrix instances.

        (WebKit::dumpChangedLayers):
        Dump all of the new layer properties.

        (WebKit::RemoteLayerTreeTransaction::dump):
        Dump the list of newly created layers.

        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::cgColorFromColor):
        Factor out the code to make a CGColor from a WebCore::Color, as we need it
        for both border and background color.

        (WebKit::RemoteLayerTreeHost::commit):
        Create layers before applying changes, using the new list of newly created layers.
        When applying changes, ensure that the layer we're interested in was already created.
        Rename "sublayer" to "layer", and use dot notation everywhere.
        Apply all the new layer properties to the layers.

        (WebKit::RemoteLayerTreeHost::getLayer):
        (WebKit::RemoteLayerTreeHost::createLayer):
        Separate creating a new layer from retrieving it by ID.
        Ensure that a layer doesn't already exist when creating it.
        Support creating CATransformLayers.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        Disable accelerated animations, as we don't support proxying animations yet.
        This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote.

        (PlatformCALayerRemote::removeFromSuperlayer):
        (PlatformCALayerRemote::replaceSublayer):
        (PlatformCALayerRemote::adoptSublayers):
        Assert when we hit a few critical unimplemented methods that would
        leave the layer tree in a broken state.

        (PlatformCALayerRemote::isOpaque):
        (PlatformCALayerRemote::setOpaque):
        (PlatformCALayerRemote::transform):
        (PlatformCALayerRemote::setTransform):
        (PlatformCALayerRemote::sublayerTransform):
        (PlatformCALayerRemote::setSublayerTransform):
        (PlatformCALayerRemote::setHidden):
        (PlatformCALayerRemote::setGeometryFlipped):
        (PlatformCALayerRemote::isDoubleSided):
        (PlatformCALayerRemote::setDoubleSided):
        (PlatformCALayerRemote::masksToBounds):
        (PlatformCALayerRemote::setMasksToBounds):
        (PlatformCALayerRemote::setBorderWidth):
        (PlatformCALayerRemote::setBorderColor):
        (PlatformCALayerRemote::opacity):
        (PlatformCALayerRemote::setOpacity):
        (PlatformCALayerRemote::setName):
        Proxy all of these properties via RemoteLayerTreeTransaction.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        Add storage for the list of newly created layers.
        Use LayerID for the list of destroyed layers.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::layerWasCreated):
        Store the ID and type of the newly created layer to be pushed to the UI process later.

        (WebKit::RemoteLayerTreeContext::flushLayers):
        Push the created and destroyed layers to the transaction *after* flushing
        GraphicsLayers, so that any changes to e.g. structural layers will not be missed.

2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815
2013-10-16  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2][Efl][CMake] Add support for ENABLE_NETWORK_PROCESS to the build system
        https://bugs.webkit.org/show_bug.cgi?id=110139

        Reviewed by Laszlo Gombos.

        Original patch by Balazs Kelemen <kbalazs@webkit.org>

        * CMakeLists.txt:
        * PlatformEfl.cmake:

2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841
2013-10-16  Robert Plociennik  <r.plociennik@samsung.com>

        [EFL] Minibrowser can't load child window's location
        https://bugs.webkit.org/show_bug.cgi?id=122485

        Reviewed by Gyuyoung Kim.

        EwkView::createNewPage(), which is only called during handling of
        Messages::WebPageProxy::CreateNewPage message from WebProcess, no longer passes
        the URL to window_create(). As a result, no Messages::WebPage::LoadURL message
        is sent back, that would load the same URL twice and effectively cancel any
        other scheduled navigation inside WebProcess.

        Additionally, since the url parameter in MiniBrowser's implementation of
        window_create() is only used internally and is prone to bugs as demonstrated
        in r139303 (d7f10c8), it has been removed in favour of explicit calls to
        ewk_view_url_set().

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::createNewPage): No longer passes the URL to window_create() impl.
        * UIProcess/API/efl/ewk_view.h: window_create() no longer has the url parameter.
        * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Test methods updated to
            comply with the API change.
        (EWK2WindowFeaturesTest::createDefaultWindow): Ditto.
        (EWK2WindowFeaturesTest::createWindow): Ditto.

2842 2843 2844 2845 2846 2847
2013-10-15  Jae Hyun Park  <jae.park@company100.net>

        Unreviewed. Build fix after r157476.

        * GNUmakefile.am:

2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859
2013-10-15  Sergio Correia  <sergio.correia@openbossa.org>

        [EFL][WK2] Make SeccompFilters build again after r156349 and r156353
        https://bugs.webkit.org/show_bug.cgi?id=122872

        Reviewed by Anders Carlsson.

        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SeccompBrokerClient::dispatch): Fix usage of extinct 'create'
        methods of ArgumentEncoder/ArgumentDecoder.
        (WebKit::SeccompBroker::runLoop): Ditto.

2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872
2013-10-15  Jinwoo Song  <jinwoo7.song@samsung.com>

        Removed argument coders for FloatPoint3D in CoodinatedGraphicsArgumentCoders.
        https://bugs.webkit.org/show_bug.cgi?id=122875

        Reviewed by Gyuyoung Kim.

        Argument coders for FloatPoint3D is added in WebCoreArgumentCoders after r157478
        and it caused redefinition build error in EFL port.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:

2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884
2013-10-15  Dean Jackson  <dino@apple.com>

        Add ENABLE_WEB_ANIMATIONS flag
        https://bugs.webkit.org/show_bug.cgi?id=122871

        Reviewed by Tim Horton.

        Eventually might be http://dev.w3.org/fxtf/web-animations/
        but this is just engine-internal work at the moment.

        * Configurations/FeatureDefines.xcconfig:

2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024
2013-10-15  Tim Horton  <timothy_horton@apple.com>

        Add a PlatformCALayer subclass that proxies its property changes across the process boundary
        https://bugs.webkit.org/show_bug.cgi?id=122773

        Reviewed by Anders Carlsson.

        PlatformCALayerRemote coordinates with RemoteLayerTreeDrawingArea and friends
        to enable cross-process proxying of the hierarchy of compositing layers.

        In the Web process, we have GraphicsLayerCARemote, which owns 1+ PlatformCALayerRemote(s).
        Unlike PlatformCALayer{Mac, Win}, which own PlatformLayers (CALayer/CACFLayer),
        PlatformCALayerRemote stores any changes to its properties in a struct, and keeps track of
        which properties have changed since the last commit. Commits are scheduled and performed by
        RemoteLayerTreeContext, on RemoteLayerTreeDrawingArea's behalf, and result in
        RemoteLayerTreeTransaction encoding said property changes and throwing them across
        to the UI process, where RemoteLayerTreeHost applies them to a tree of CALayers kept there.

        This code can be enabled by running with the WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA
        environment variable set.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::decode):
        (CoreIPC::encode):
        * Shared/WebCoreArgumentCoders.h:
        Add argument coders for FloatPoint3D.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
        (WebKit::RemoteLayerTreeTransaction::changedLayers):
        (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::dumpChangedLayers):
        Add support for background color and anchor point in the layer transaction.
        Make layer position a 3D point because that's what it really is.

        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
        The logic in layerPropertiesChanged is moved into PlatformCALayerRemote.

        * UIProcess/WebPageProxy.h:
        Include PlatformLayer.h; it seems annoying to successfully forward-declare
        PlatformLayer because of the difference in definition between Objective-C and C++.
        Drive-by un-indent some namespace contents and use OBJC_CLASS.

        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
        Send geometry updates to the RemoteLayerTreeDrawingArea.

        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (nullActionsDictionary):
        (WebKit::RemoteLayerTreeHost::commit):
        Apply layer property changes to the named sublayer.

        (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
        Create CALayers instead of GraphicsLayers.
        Ensure that they won't perform implicit animations.

        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
        This should take a PlatformLayer instead of a GraphicsLayer, since we don't have
        GraphicsLayers in the UIProcess.

        * WebKit2.xcodeproj/project.pbxproj:
        Add GraphicsLayerCARemote and PlatformCALayerRemote, remove RemoteGraphicsLayer.

        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: Removed.
        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: Removed.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
        (WebKit::RemoteLayerTreeContext::setRootLayer):
        (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
        (WebKit::RemoteLayerTreeContext::createGraphicsLayer):
        (WebKit::RemoteLayerTreeContext::flushLayers):
        Build our transaction while flushing; it has no reason to exist outside of that scope.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
        (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
        Fix a capitalization typo.
        Update the WebPage's (and thus WebCore's) size when updateGeometry() is called.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: Added.
        (WebKit::GraphicsLayerCARemote::~GraphicsLayerCARemote):
        (WebKit::GraphicsLayerCARemote::filtersCanBeComposited):
        (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
        Added. Delegate to PlatformCALayerRemote. Don't allow creation of a
        GraphicsLayerCARemote given a PlatformLayer, because with UI process compositing,
        there should be no PlatformLayer instances in the Web process.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: Added.
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: Added.
        (generateLayerID):
        Generate a layer ID for identification across processes.

        (PlatformCALayerRemote::~PlatformCALayerRemote):
        Inform the RemoteLayerTreeContext that we've been destroyed, so it can convey
        that information to the UI process and the corresponding CALayer can be destroyed.

        (PlatformCALayerRemote::recursiveBuildTransaction):
        Recursively accumulate changes in layer state on a RemoteLayerTreeTransaction.

        The rest of this file is mostly an empty implementation of PlatformCALayer.
        A few properties are implemented so far; see below.

        (PlatformCALayerRemote::setSublayers):
        (PlatformCALayerRemote::removeAllSublayers):
        (PlatformCALayerRemote::appendSublayer):
        (PlatformCALayerRemote::insertSublayer):
        Update our list of sublayers, and note that our children have changed.
        recursiveBuildTransaction() will walk our sublayers and record their IDs in the transaction.

        (PlatformCALayerRemote::bounds):
        (PlatformCALayerRemote::setBounds):
        (PlatformCALayerRemote::position):
        (PlatformCALayerRemote::setPosition):
        (PlatformCALayerRemote::anchorPoint):
        (PlatformCALayerRemote::setAnchorPoint):
        (PlatformCALayerRemote::backgroundColor):
        (PlatformCALayerRemote::setBackgroundColor):
        Trivial implementations of basic layer properties, storing the new state in
        our LayerProperties struct and noting that they changed in the current commit.
        Properties with getters will return the last value that was set on the LayerProperties,
        so we don't clear the whole struct at the end of the transaction, just the mask of changed properties.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Added.

3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037
2013-10-15  Brady Eidson  <beidson@apple.com>

        Move WebProcess/IndexedDB to WebProcess/Databases/IndexedDB

        Rubberstamped by Alexey Proskuryakov.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebKit2.xcodeproj/project.pbxproj:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.cpp.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.h.

3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102
2013-10-15  Brady Eidson  <beidson@apple.com>

        Add a skeleton Database process for future usage by Indexed Database.
        https://bugs.webkit.org/show_bug.cgi?id=122849

        Reviewed by Sam Weinig.

        This mostly our typical "Add a new process type" boilerplate.

        * Configurations/DatabaseProcess.xcconfig: Added.
        * Configurations/DatabaseService.Development.xcconfig: Added.
        * Configurations/DatabaseService.xcconfig: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebKit2Prefix.h:

        * DatabaseProcess/DatabaseProcess.cpp: Added.
        (WebKit::DatabaseProcess::shared):
        (WebKit::DatabaseProcess::DatabaseProcess):
        (WebKit::DatabaseProcess::~DatabaseProcess):
        (WebKit::DatabaseProcess::initializeConnection):
        (WebKit::DatabaseProcess::shouldTerminate):
        (WebKit::DatabaseProcess::didReceiveMessage):
        (WebKit::DatabaseProcess::didClose):
        (WebKit::DatabaseProcess::didReceiveInvalidMessage):
        (WebKit::DatabaseProcess::initializeProcess):
        (WebKit::DatabaseProcess::initializeProcessName):
        (WebKit::DatabaseProcess::initializeSandbox):
        * DatabaseProcess/DatabaseProcess.h: Added.

        * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added.
        (DatabaseProcessMain):
        * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added.
        (DatabaseServiceInitializer):

        * DatabaseProcess/mac/DatabaseProcessMac.mm: Added.
        (WebKit::DatabaseProcess::initializeProcess):
        (WebKit::DatabaseProcess::initializeProcessName):
        (WebKit::DatabaseProcess::initializeSandbox):
        * UIProcess/Databases/DatabaseProcessProxy.cpp: Added.
        (WebKit::DatabaseProcessProxy::create):
        (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
        (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
        (WebKit::DatabaseProcessProxy::getLaunchOptions):
        (WebKit::DatabaseProcessProxy::connectionWillOpen):
        (WebKit::DatabaseProcessProxy::connectionWillClose):
        (WebKit::DatabaseProcessProxy::didReceiveMessage):
        (WebKit::DatabaseProcessProxy::didClose):
        (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
        (WebKit::DatabaseProcessProxy::didFinishLaunching):
        * UIProcess/Databases/DatabaseProcessProxy.h: Added.
        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added.
        (WebKit::shouldUseXPC):
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):

        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::processTypeAsString):
        (WebKit::ProcessLauncher::getProcessTypeFromString):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::serviceName):
        (WebKit::createProcess):

3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124
2013-10-14  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2][Efl][Soup] Make NetworkProcessMainUnix handle proxy settings.
        https://bugs.webkit.org/show_bug.cgi?id=118388

        Reviewed by Carlos Garcia Campos.

        Original patch by Kwang Yul Seo <skyul@company100.net> .

        Proxy configuration should honor the no_proxy environment variable
        same to WebProcess. It is necessary not to change the current behaviour.
        See https://bugs.webkit.org/show_bug.cgi?id=91747 for details.

        The following things were fixed by Csaba Osztrogonác:
        - moved session variable before #if not to have conflict with https://bugs.webkit.org/show_bug.cgi?id=118343
        - added GRefPtr.h include
        - fixed ifdef guards

        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
        (WebKit::NetworkProcessMain):
        Copied from WebProcessMainEfl.cpp.

3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135
2013-10-13  Darin Adler  <darin@apple.com>

        Deprecate or remove deleteAllValues functions; there are only a few call sites left
        https://bugs.webkit.org/show_bug.cgi?id=122738

        Reviewed by Anders Carlsson.

        * Shared/Plugins/NPRemoteObjectMap.cpp:
        (WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to
        deprecatedDeleteAllValues.

mrowe@apple.com's avatar
mrowe@apple.com committed
3136
== Rolled over to ChangeLog-2013-10-13 ==