1. 08 Nov, 2013 18 commits
    • andersca@apple.com's avatar
      Implement encoding of arrays of objects · 01434c4e
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124091
      
      Reviewed by Beth Dakin.
      
      Source/WebCore:
      
      * history/HistoryItem.cpp:
      (WebCore::HistoryItem::encodeBackForwardTreeNode):
      Encode the rest of the members.
      
      * platform/KeyedCoding.h:
      (WebCore::KeyedEncoder::encodeObjects):
      Call beginArray, then beginArrayElement/endArrayElement for every element and lastly endArray.
      
      Source/WebKit2:
      
      Add a new array stack and push and pop from it accordingly.
      
      * Shared/cf/KeyedEncoder.cpp:
      (WebKit::KeyedEncoder::~KeyedEncoder):
      (WebKit::KeyedEncoder::encodeBytes):
      (WebKit::KeyedEncoder::encodeUInt32):
      (WebKit::KeyedEncoder::encodeInt32):
      (WebKit::KeyedEncoder::encodeInt64):
      (WebKit::KeyedEncoder::encodeFloat):
      (WebKit::KeyedEncoder::beginArray):
      (WebKit::KeyedEncoder::beginArrayElement):
      (WebKit::KeyedEncoder::endArrayElement):
      (WebKit::KeyedEncoder::endArray):
      * Shared/cf/KeyedEncoder.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01434c4e
    • timothy_horton@apple.com's avatar
      Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache · c016bd71
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123944
      
      Reviewed by Simon Fraser.
      
      Ensure that the tile cache retrieves repaint rects from the tile layer,
      not from the tiled backing layer.
      
      Rework RemoteLayerBackingStore painting to fix some rounding issues
      that would cause pixel cracks upon repaint, and to speed it up a bit.
      
      * Shared/mac/RemoteLayerBackingStore.h:
      Redefine RepaintRectList because we can't include WebLayer.h here yet.
      Remove createBackingStore, which was never implemented.
      Remove mapToContentCoordinates, because we don't need it on Mac.
      
      (WebKit::RemoteLayerBackingStore::paintingRects): Added.
      
      * Shared/mac/RemoteLayerBackingStore.mm:
      (RemoteLayerBackingStore::setNeedsDisplay):
      (RemoteLayerBackingStore::display):
      Stop using mapToContentCoordinates.
      
      (RemoteLayerBackingStore::drawInContext):
      Use clipping instead of painting the image multiple times.
      Never repaint more than the dirty region's bounds.
      Don't waste time with all of the drawNativeImage code, just use CG.
      Unindent the switch's cases.
      Store the rects we're painting so that enumerateRectsBeingDrawn can get them.
      Pixel-snap the rects we're painting.
      Clip the context before going to paint.
      
      * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
      (PlatformCALayerRemote::enumerateRectsBeingDrawn):
      * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
      Retrieve the rects currently being painted from our backing store, and
      transform them (mostly) according to the CTM, to match the transformation
      that will have occurred underneath wkCALayerEnumerateRectsBeingDrawnWithBlock.
      
      * platform/graphics/ca/PlatformCALayer.h:
      * platform/graphics/ca/mac/PlatformCALayerMac.h:
      * platform/graphics/ca/mac/PlatformCALayerMac.mm:
      (PlatformCALayerMac::enumerateRectsBeingDrawn):
      Allow the PlatformCALayer to decide how to enumerate rects to paint.
      
      * WebCore.exp.in:
      * platform/graphics/mac/WebLayer.h:
      Add RepaintRectList, remove some unnecessary WebCore::s.
      
      * platform/graphics/mac/WebLayer.mm:
      (WebCore::collectRectsToPaint):
      Factor collectRectsToPaint out; it just grabs the rects from
      the layer and makes the decision whether to repaint the bounds
      of the dirty region or just the subregions.
      
      Move calls to collectRectsToPaint() to callers of drawLayerContents(),
      so that TileController can collect rects from the appropriate source
      (the Tile layer) and other layers just continue grabbing them from
      their relevant layers.
      
      Make sure that the list that comes from collectRectsToPaint() always
      has at least one rect in it (appending the clip bounds if we don't
      want to repaint subregions) so we can simplify logic in drawLayerContents.
      
      (WebCore::drawLayerContents):
      Remove code to support CompositingCoordinatesBottomUp, as it's only
      used on Windows, so this Mac-specific code doesn't need to support it.
      
      Simplify logic given that dirtyRects will always be non-empty.
      
      (-[WebLayer drawInContext:]):
      (-[WebSimpleLayer setNeedsDisplayInRect:]):
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::platformCALayerPaintContents):
      Adopt collectRectsToPaint.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c016bd71
    • andersca@apple.com's avatar
      Implement more KeyedEncoder functionality · 955aabc0
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124089
      
      Reviewed by Beth Dakin.
      
      Source/WebCore:
      
      * bindings/js/SerializedScriptValue.h:
      * history/HistoryItem.cpp:
      (WebCore::HistoryItem::encodeBackForwardTreeNode):
      * platform/KeyedCoding.h:
      (WebCore::KeyedEncoder::encodeConditionalObject):
      
      Source/WebKit2:
      
      * Shared/cf/KeyedEncoder.cpp:
      (WebKit::KeyedEncoder::encodeBytes):
      (WebKit::KeyedEncoder::encodeInt32):
      (WebKit::KeyedEncoder::encodeFloat):
      * Shared/cf/KeyedEncoder.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158980 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      955aabc0
    • andersca@apple.com's avatar
      KeyedEncoder should be able to encoder objects · d66ca8b7
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124085
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      * history/HistoryItem.cpp:
      (WebCore::HistoryItem::encodeBackForwardTree):
      Encode the root object.
      
      (WebCore::HistoryItem::encodeBackForwardTreeNode):
      Encode the target.
      
      * history/HistoryItem.h:
      Add new members.
      
      * platform/KeyedCoding.h:
      (WebCore::KeyedEncoder::encodeObject):
      Call beginObject, call the functor and then call endObject().
      
      Source/WebKit2:
      
      Add a dictionary stack to KeyedEncoder that's pushed and popped by
      beginObject/endObject.
      
      * Shared/cf/KeyedEncoder.cpp:
      (WebKit::KeyedEncoder::KeyedEncoder):
      (WebKit::KeyedEncoder::~KeyedEncoder):
      (WebKit::KeyedEncoder::encodeUInt32):
      (WebKit::KeyedEncoder::encodeString):
      (WebKit::KeyedEncoder::beginObject):
      (WebKit::KeyedEncoder::endObject):
      * Shared/cf/KeyedEncoder.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d66ca8b7
    • achicu@adobe.com's avatar
      Web Inspector: It should be possible to debug the Inspector code · 6fc29267
      achicu@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124065
      
      Reviewed by Timothy Hatcher.
      
      Source/WebKit2:
      
      When the script is paused, the debugger will pause all the pages in the same PageGroup.
      All the Inspector windows were created in the same PageGroup, so pausing one debugger
      would stop the other too.
      
      Added WebInspectorPageGroups to manage the PageGroups created for the Inspectors.
      The WebInspectors will now use the inspection "level" to figure out which PageGroup to use.
      The inspector that debugs the main page will use "__WebInspectorPageGroupLevel1__",
      the second inspector (that debugs the first inspector) will use "__WebInspectorPageGroupLevel2__" ...
      
      * UIProcess/WebInspectorProxy.cpp:
      (WebKit::WebInspectorPageGroups::shared):
      (WebKit::WebInspectorPageGroups::inspectorLevel):
      (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
      (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
      (WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel):
      (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
      (WebKit::WebInspectorProxy::WebInspectorProxy):
      (WebKit::WebInspectorProxy::inspectorPageGroup):
      (WebKit::WebInspectorProxy::isInspectorPage):
      (WebKit::WebInspectorProxy::canAttach):
      * UIProcess/WebInspectorProxy.h:
      
      LayoutTests:
      
      Added test to check that a second inspector window can be used to debug the first one.
      
      * inspector-protocol/debugger/nested-inspectors-expected.txt: Added.
      * inspector-protocol/debugger/nested-inspectors.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6fc29267
    • andersca@apple.com's avatar
      Begin stubbing out a KeyedEncoder class in WebCore · 0a62cead
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124079
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      * WebCore.exp.in:
      Add symbol needed by WebCore.
      
      * WebCore.xcodeproj/project.pbxproj:
      Add new header file.
      
      * history/HistoryItem.cpp:
      (WebCore::HistoryItem::encodeBackForwardTree):
      * history/HistoryItem.h:
      Add an encodeBackForwardTree overload that takes a KeyedEncoder object. Encode the version.
      
      * platform/KeyedCoding.h:
      Add a KeyedEncoder class that just has a single encodeUInt32 member function for now.
      
      Source/WebKit2:
      
      * Shared/KeyedEncoder.h: Removed.
      * Shared/cf/KeyedCodingValueCF.cpp: Removed.
      * Shared/cf/KeyedEncoder.cpp: Added.
      Remove old keyed encoders.
      
      (WebKit::createDictionary):
      Helper function to create a mutable dictionary.
      (WebKit::KeyedEncoder::KeyedEncoder):
      Create the root dictionary.
      
      (WebKit::KeyedEncoder::encodeUInt32):
      Create a CFNumberRef and add it to the dictionary.
      
      * Shared/cf/KeyedEncoder.h: Added.
      * WebKit2.xcodeproj/project.pbxproj:
      Add new files.
      
      * WebProcess/WebPage/WebBackForwardListProxy.cpp:
      (WebKit::updateBackForwardItem):
      Create a KeyedEncoder and encode the history tree.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a62cead
    • beidson@apple.com's avatar
      Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl · 37036791
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124077
      
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore:
      
      The abstraction is no longer needed.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.xcodeproj/project.pbxproj:
      
      * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
      
      * Modules/indexeddb/IDBTransactionBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
      * Modules/indexeddb/IDBTransactionBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
      
      * Modules/indexeddb/IDBBackingStoreInterface.h:
      * Modules/indexeddb/IDBCursorBackend.cpp:
      * Modules/indexeddb/IDBCursorBackend.h:
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      * Modules/indexeddb/IDBDatabaseBackendImpl.h:
      * Modules/indexeddb/IDBFactoryBackendInterface.h:
      * Modules/indexeddb/IDBTransactionBackendOperations.h:
      * Modules/indexeddb/IDBTransactionCoordinator.cpp:
      * Modules/indexeddb/IDBTransactionCoordinator.h:
      * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
      * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
      * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
      * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
      
      Source/WebKit2:
      
      * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
      * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37036791
    • beidson@apple.com's avatar
      Merge IDBCursorBackendInterface and IDBCursorBackendImpl · 96d115ed
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124068
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.xcodeproj/project.pbxproj:
      
      * Modules/indexeddb/IDBCursorBackendInterface.h: Removed.
      
      * Modules/indexeddb/IDBCursorBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
      * Modules/indexeddb/IDBCursorBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
      
      * Modules/indexeddb/IDBCallbacks.h:
      * Modules/indexeddb/IDBCursor.cpp:
      * Modules/indexeddb/IDBCursor.h:
      * Modules/indexeddb/IDBCursorWithValue.cpp:
      * Modules/indexeddb/IDBCursorWithValue.h:
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      * Modules/indexeddb/IDBFactoryBackendInterface.h:
      * Modules/indexeddb/IDBRequest.cpp:
      * Modules/indexeddb/IDBRequest.h:
      * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
      * Modules/indexeddb/IDBTransactionBackendImpl.h:
      * Modules/indexeddb/IDBTransactionBackendInterface.h:
      * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
      * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
      * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
      
      Source/WebKit2:
      
      * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
      (WebKit::WebIDBFactoryBackend::createCursorBackend):
      * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96d115ed
    • andersca@apple.com's avatar
      Remove a workaround for a bug in malloc on Symbian · 1c2878d2
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124069
      
      Reviewed by Sam Weinig.
      
      * Platform/CoreIPC/ArgumentDecoder.cpp:
      (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
      (CoreIPC::ArgumentDecoder::initialize):
      * Platform/CoreIPC/ArgumentDecoder.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c2878d2
    • andersca@apple.com's avatar
      More build fixes. · 3f46679b
      andersca@apple.com authored
      * UIProcess/API/mac/WKBrowsingContextController.mm:
      * UIProcess/API/mac/WKConnection.mm:
      (didReceiveMessage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f46679b
    • andersca@apple.com's avatar
      More build fixes. · 3df9f6e3
      andersca@apple.com authored
      * UIProcess/API/mac/WKConnection.h:
      * UIProcess/API/mac/WKConnection.mm:
      (didReceiveMessage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3df9f6e3
    • andersca@apple.com's avatar
      Try to fix the 32-bit build. · 87bb3cde
      andersca@apple.com authored
      * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87bb3cde
    • andersca@apple.com's avatar
      Replace __alignof with alignof. · 68a3c31b
      andersca@apple.com authored
      Rubber-stamped by Beth Dakin.
      
      * Platform/CoreIPC/ArgumentCoders.cpp:
      (CoreIPC::::encode):
      (CoreIPC::decodeStringText):
      * Platform/CoreIPC/ArgumentCoders.h:
      (CoreIPC::SimpleArgumentCoder::encode):
      (CoreIPC::SimpleArgumentCoder::decode):
      * Platform/CoreIPC/ArgumentDecoder.h:
      (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
      * WebProcess/WebPage/DecoderAdapter.cpp:
      (WebKit::DecoderAdapter::decodeString):
      * WebProcess/WebPage/EncoderAdapter.cpp:
      (WebKit::EncoderAdapter::encodeString):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68a3c31b
    • andersca@apple.com's avatar
      Add a way to get a WKWebProcessPlugInBrowserContextController from a handle · d05dab7a
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124063
      
      Reviewed by Beth Dakin.
      
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
      (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d05dab7a
    • andersca@apple.com's avatar
      More work on WKBrowsingContextHandle · 181d4157
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124060
      
      Reviewed by Beth Dakin.
      
      Implement -hash and -isEqual: and add -[WKWebProcessPlugInBrowserContextController handle].
      
      * Shared/API/Cocoa/WKBrowsingContextHandle.mm:
      (-[WKBrowsingContextHandle hash]):
      (-[WKBrowsingContextHandle isEqual:]):
      * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
      (decodeInvocation):
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
      (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
      (-[WKWebProcessPlugInBrowserContextController selectedRange]):
      (-[WKWebProcessPlugInBrowserContextController handle]):
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      181d4157
    • andersca@apple.com's avatar
      Add A WKBrowsingContextHandle class · 563f8c86
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124058
      
      Reviewed by Sam Weinig.
      
      The WKBrowsingContextHandle class represents a browsing context and can be sent across process boundaries.
      
      * Shared/API/Cocoa/WKBrowsingContextHandle.h: Added.
      * Shared/API/Cocoa/WKBrowsingContextHandle.mm: Added.
      (-[WKBrowsingContextHandle _initWithPageID:]):
      (-[WKBrowsingContextHandle encodeWithCoder:]):
      (-[WKBrowsingContextHandle initWithCoder:]):
      (+[WKBrowsingContextHandle supportsSecureCoding]):
      * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h: Added.
      * UIProcess/API/mac/WKBrowsingContextController.mm:
      (-[WKBrowsingContextController handle]):
      * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
      * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
      (NS_ENUM):
      * WebKit2.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      563f8c86
    • andersca@apple.com's avatar
      Add WKRemoteObjectRegistry to WKConnection · a927c7cb
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124054
      
      Reviewed by Sam Weinig.
      
      * UIProcess/API/mac/WKConnection.h:
      * UIProcess/API/mac/WKConnection.mm:
      (-[WKConnection delegate]):
      (-[WKConnection setDelegate:]):
      (-[WKConnection remoteObjectRegistry]):
      (didReceiveMessage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a927c7cb
    • andersca@apple.com's avatar
      Encode and decode NSURLRequests using NSCoder · 3fbd234e
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124051
      
      Reviewed by Sam Weinig.
      
      * Shared/mac/WebCoreArgumentCodersMac.mm:
      (CoreIPC::archiveAndEncodeObject):
      (CoreIPC::decodeAndUnarchiveObject):
      (CoreIPC::::encodePlatformData):
      (CoreIPC::::decodePlatformData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fbd234e
  2. 07 Nov, 2013 9 commits
    • andersca@apple.com's avatar
      Encode and decode NSURLResponse objects using NSCoder · 1bfa63cb
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124028
      
      Reviewed by Andreas Kling.
      
      * Shared/mac/WebCoreArgumentCodersMac.mm:
      (CoreIPC::::encodePlatformData):
      (CoreIPC::::decodePlatformData):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1bfa63cb
    • andersca@apple.com's avatar
      Move m_destinationID to MessageDecoder · e9f58c17
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124026
      
      Reviewed by Andreas Kling.
      
      * Platform/CoreIPC/ArgumentDecoder.h:
      * Platform/CoreIPC/MessageDecoder.h:
      (CoreIPC::MessageDecoder::destinationID):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9f58c17
    • andersca@apple.com's avatar
      Get rid of the out-of-line memory attachment type · ade03559
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124023
      
      Reviewed by Andreas Kling.
      
      We're only using out-of-line memory for when the message body is too big, so
      isolate that code in Connection and get rid of the out of line attachment type.
      
      * Platform/CoreIPC/Attachment.cpp:
      (CoreIPC::Attachment::Attachment):
      * Platform/CoreIPC/Attachment.h:
      (CoreIPC::Attachment::port):
      (CoreIPC::Attachment::disposition):
      * Platform/CoreIPC/mac/ConnectionMac.cpp:
      (CoreIPC::Connection::sendOutgoingMessage):
      (CoreIPC::createMessageDecoder):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ade03559
    • simon.fraser@apple.com's avatar
      Lots of layers get solid color but transparent contents layers now · 9f2ac722
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123537
      
      Source/WebCore:
      
      Reviewed by Tim Horton.
      
      We call rendererBackgroundColor() to determine the layer's background color,
      but on most elements this returns the transparent color (a valid color).
      This caused us to allocate a contentsLayer, and use the transparent color as its
      backgroundColor, which was wasteful.
      
      Fix by only making a background-color layer if the color is not transparent (zero alpha).
      
      Also avoid making a new contents layer on every color change, and make sure that
      we don't do implicit animations for backgroundColor, and some other properties
      that were omitted by mistake.
      
      Layer tree dumps don't dump content layers, so no way to test easily.
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::setContentsToSolidColor):
      * platform/graphics/ca/mac/PlatformCALayerMac.mm:
      (nullActionsDictionary):
      
      Source/WebKit2:
      
      Reviewed by Tim Horton.
      
      Add some properties to the list of things not to implicitly animate.
      
      * Shared/mac/RemoteLayerTreePropertyApplier.mm:
      (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f2ac722
    • andersca@apple.com's avatar
      Remove more dead code · f4adb0d1
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124016
      
      Reviewed by Beth Dakin.
      
      We're always layer backed now so we never scroll using the PageClient.
      
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::canScrollView):
      (WebKit::PageClientImpl::scrollView):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f4adb0d1
    • andersca@apple.com's avatar
      Don't repaint the view when the web process crashes · 868061de
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124013
      
      Reviewed by Dan Bernstein.
      
      It's up to each individual port to decide whether the view should be repainted when the web process crashes.
      
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::setViewNeedsDisplay):
      (WebKit::PageClientImpl::displayView):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::resetStateAfterProcessExited):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      868061de
    • commit-queue@webkit.org's avatar
      Report error on unknown template class usage. · ab44c0d1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123096
      
      Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-11-07
      Reviewed by Darin Adler.
      
      Report error when template class is not found in the dictionary.
      
      * Scripts/webkit2/messages.py:
      (class_template_headers):
      (class_template_headers.template):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab44c0d1
    • mario@webkit.org's avatar
      [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise · 1795391d
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=50619
      
      Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-11-07
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Implemented the OPENTYPE_VERTICAL feature for the GTK+ port. It resolves
      the 90 degrees rotation problem of CJK characters when displaying
      vertical text.
      
      New tests are not required as the existing tests for vertical text will
      work properly now.
      
      * GNUmakefile.list.am: Added OpenTypeVerticalData.cpp and
      OpenTypeVerticalData.h to platformgtk_sources.
      * PlatformEfl.cmake: Added OpenTypeVerticalData.cpp.
      * PlatformGTK.cmake: Added OpenTypeVerticalData.cpp.
      * platform/graphics/FontCache.cpp: Originally the HashMap for
      OpenTypeVerticalData was designed with FontFileKey as integer in the
      Chromium port, which was an unique number provided by Skia. Since other
      ports use FontFileKey as string, new generic hash functions had to be
      implemented instead of using the specific ones for integers.
      (WebCore::FontVerticalDataCacheKeyHash::hash): New hash function for
      HashMap of OpenTypeVerticalData.
      (WebCore::FontVerticalDataCacheKeyHash::equal): New function for
      comparing hash indexes in the HashMap of OpenTypeVerticalData.
      (WebCore::FontVerticalDataCacheKeyTraits::emptyValue): New function for
      giving an empty FontFileKey.
      (WebCore::FontVerticalDataCacheKeyTraits::constructDeletedValue): New
      function to create a FontFileKey for deleted values.
      (WebCore::FontVerticalDataCacheKeyTraits::isDeletedValue): New function
      to check if a HashMap entry is available.
      * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
      (WebCore::FontCustomPlatformData::fontPlatformData): Added font
      orientation as a parameter to the FontPlatformData constructor.
      * platform/graphics/freetype/FontPlatformData.h: Added m_orientation to
      store the font orientation and m_horizontalOrientationMatrix to store
      the Cairo matrix for horizontal orientation, which can be restored in
      setOrientation().
      (WebCore::FontPlatformData::FontPlatformData): Added font orientation as
      a parameter.
      (WebCore::FontPlatformData::orientation): Implemented this function
      based on m_orientation.
      * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Added new
      helper function rotateCairoMatrixForVerticalOrientation() to rotate the
      Cairo matrix in case of vertical orientation.
      (WebCore::FontPlatformData::FontPlatformData): Initialized
      m_orientation.
      (WebCore::FontPlatformData::operator=): Added m_orientation and
      m_horizontalOrientationMatrix to the assignment operator.
      (WebCore::FontPlatformData::operator==): Added m_orientation to the
      equal operator.
      (WebCore::FontPlatformData::initializeWithFontFace): Rotated and
      translated fonts if orientation is vertical. Also stored the horizontal
      Cairo matrix.
      (WebCore::FontPlatformData::verticalData): Returned the vertical data
      from the font cache.
      (WebCore::FontPlatformData::openTypeTable): Loaded the font table into
      a shared buffer.
      (WebCore::FontPlatformData::setOrientation): Replaced the scaled font
      data by rotating fonts according to the new orientation.
      * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
      (WebCore::SimpleFontData::platformInit): Set the glyph's height and
      width according to the font orientation. It also sets EM.
      (WebCore::SimpleFontData::platformCreateScaledFontData): Added
      orientation to the FontPlatformData constructor.
      (WebCore::SimpleFontData::platformWidthForGlyph): Returned the glyph's
      width according the orientation.
      * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
      (WebCore::CairoGetGlyphWidthAndExtents): Obtained the character advance
      and extents according to the font orientation.
      
      Source/Platform:
      
      Added WebCore/platform/graphics/opentype to the include path.
      
      * GNUmakefile.am:
      
      Source/WTF:
      
      Enabled OPENTYPE_VERTICAL by default on GTK+ and EFL ports, which are
      currently using Freetype.
      
      * wtf/Platform.h:
      
      Source/WebKit:
      
      Added WebCore/platform/graphics/opentype to the include path.
      
      * PlatformEfl.cmake:
      
      Source/WebKit2:
      
      Added WebCore/platform/graphics/opentype to the include path.
      
      * PlatformEfl.cmake:
      * PlatformGTK.cmake:
      
      LayoutTests:
      
      Updated existing test results that uses vertical texts.
      
      * platform/gtk-wk1/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Added.
      * platform/gtk-wk1/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png: Updated.
      * platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Updated.
      * platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.png: Updated.
      * platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.txt: Updated.
      * platform/gtk/fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic-expected.png: Updated.
      * platform/gtk/fast/dynamic/text-combine-expected.png: Updated.
      * platform/gtk/fast/dynamic/text-combine-expected.txt: Updated.
      * platform/gtk/fast/html/details-writing-mode-expected.png: Updated.
      * platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.png: Updated.
      * platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.txt: Added.
      * platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png: Updated.
      * platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added.
      * platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Updated.
      * platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Updated.
      * platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png: Updated.
      * platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.txt: Updated.
      * platform/gtk/fast/ruby/base-shorter-than-text-expected.png: Updated.
      * platform/gtk/fast/ruby/base-shorter-than-text-expected.txt: Updated.
      * platform/gtk/fast/text/decorations-with-text-combine-expected.png: Updated.
      * platform/gtk/fast/text/decorations-with-text-combine-expected.txt: Updated.
      * platform/gtk/fast/text/emphasis-combined-text-expected.png: Updated.
      * platform/gtk/fast/text/emphasis-combined-text-expected.txt: Updated.
      * platform/gtk/fast/text/emphasis-vertical-expected.png: Updated.
      * platform/gtk/fast/text/emphasis-vertical-expected.txt: Updated.
      * platform/gtk/fast/text/international/text-combine-image-test-expected.png: Updated.
      * platform/gtk/fast/text/international/text-combine-image-test-expected.txt: Updated.
      * platform/gtk/fast/text/international/text-spliced-font-expected.png: Updated.
      * platform/gtk/fast/text/international/text-spliced-font-expected.txt: Updated.
      * platform/gtk/fast/text/international/vertical-text-glyph-test-expected.png: Updated.
      * platform/gtk/fast/text/international/vertical-text-glyph-test-expected.txt: Added.
      * platform/gtk/fast/text/justify-ideograph-vertical-expected.png: Updated.
      * platform/gtk/fast/text/justify-ideograph-vertical-expected.txt: Added.
      * platform/gtk/fast/text/orientation-sideways-expected.png: Updated.
      * platform/gtk/fast/text/orientation-sideways-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Updated.
      * platform/gtk/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/border-vertical-lr-expected.png: Updated.
      * platform/gtk/fast/writing-mode/border-vertical-lr-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/broken-ideograph-small-caps-expected.png: Updated.
      * platform/gtk/fast/writing-mode/broken-ideograph-small-caps-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/broken-ideographic-font-expected.png: Updated.
      * platform/gtk/fast/writing-mode/broken-ideographic-font-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/fallback-orientation-expected.png: Updated.
      * platform/gtk/fast/writing-mode/fallback-orientation-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-lr-selection-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-lr-selection-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-lr-text-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-lr-text-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-rl-selection-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-rl-selection-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-rl-text-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-rl-text-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-rl-text-with-broken-font-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-ruby-vertical-lr-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-ruby-vertical-lr-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/japanese-ruby-vertical-rl-expected.png: Updated.
      * platform/gtk/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/text-orientation-basic-expected.png: Updated.
      * platform/gtk/fast/writing-mode/text-orientation-basic-expected.txt:
      * platform/gtk/fast/writing-mode/vertical-align-table-baseline-expected.png: Updated.
      * platform/gtk/fast/writing-mode/vertical-align-table-baseline-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/vertical-baseline-alignment-expected.png: Updated.
      * platform/gtk/fast/writing-mode/vertical-baseline-alignment-expected.txt: Updated.
      * platform/gtk/fast/writing-mode/vertical-font-fallback-expected.png: Updated.
      * platform/gtk/fast/writing-mode/vertical-font-fallback-expected.txt: Updated.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1795391d
    • commit-queue@webkit.org's avatar
      [Gtk] Remove old takeFocus() method from PageClientImpl and mark methods as OVERRIDE · aa49c186
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123919
      
      Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-07
      Reviewed by Carlos Garcia Campos.
      
      * UIProcess/API/gtk/PageClientImpl.cpp: Remove takeFocus().
      * UIProcess/API/gtk/PageClientImpl.h: Remove takeFocus() and mark methods as OVERRIDE.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa49c186
  3. 06 Nov, 2013 13 commits