Move more of SVG resources cache to using RenderElement.
<https://webkit.org/b/123452>

Make some more RenderSVGResourcesCache methods take RenderElement&
instead of RenderObject*.

Also removed a double hash lookup in removeResourcesFromRenderer().

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderObject::outlineStyleForRepaint() should return a reference.
<https://webkit.org/b/123453>

Kill a FIXME and make outlineStyleForRepaint() return a RenderStyle&.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
StringImpl::adopt() should return PassRef.
<https://webkit.org/b/123456>

Make the StringImpl::adopt() functions return a PassRef<StringImpl>.

Reviewed by Anders Carlsson.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make SimpleLineLayout::Layout a variable size object
https://bugs.webkit.org/show_bug.cgi?id=123459

Reviewed by Andreas Kling.

Less memory, less indirection.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::Layout::create):
(WebCore::SimpleLineLayout::Layout::Layout):
* rendering/SimpleLineLayout.h:
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::hitTestFlow):
* rendering/SimpleLineLayoutFunctions.h:
(WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
(WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
(WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
(WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
(WebCore::SimpleLineLayout::containsTextCaretOffset):
(WebCore::SimpleLineLayout::isTextRendered):
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::end):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a failing test expectation on editing/execCommand/insert-list-xml.xhtml
after r158198. The failure is tracked by the bug 123460.

* TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
https://bugs.webkit.org/show_bug.cgi?id=123451

Reviewed by Andreas Kling.

Source/WebCore:

This involves:
- Splitting out IDBTransactionBackendLevelDB::Operation into its own header
- Splitting out IDBDatabaseBackendImpl::PendingOpenCall into its own header
- Reworking the LevelDB Operations to handle the base class IDBTransactionBackendInterface
- Adding virtual methods in a few of the *Interface classes to support the above

* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBCallbacks.h:

* Modules/indexeddb/IDBCursorBackendInterface.h:

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::setIndexKeys):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
* Modules/indexeddb/IDBDatabaseBackendInterface.h:

* Modules/indexeddb/IDBOperation.h: Added.
(WebCore::IDBOperation::~IDBOperation):

* Modules/indexeddb/IDBPendingOpenCall.h: Added.
(WebCore::IDBPendingOpenCall::create):
(WebCore::IDBPendingOpenCall::callbacks):
(WebCore::IDBPendingOpenCall::databaseCallbacks):
(WebCore::IDBPendingOpenCall::version):
(WebCore::IDBPendingOpenCall::transactionId):
(WebCore::IDBPendingOpenCall::IDBPendingOpenCall):

* Modules/indexeddb/IDBRequest.h:

* Modules/indexeddb/IDBTransactionBackendInterface.h:

* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
(WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::create):
(WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::create):
(WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::create):
(WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:

* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::scheduleTask):
(WebCore::IDBTransactionBackendLevelDB::abort):
(WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
(WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
(WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
(WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::CreateIndexAbortOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteIndexAbortOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::CreateObjectStoreAbortOperation::perform):
(WebCore::DeleteObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
(WebCore::CreateObjectStoreOperation::create):
(WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
(WebCore::CreateObjectStoreAbortOperation::create):
(WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
(WebCore::DeleteObjectStoreAbortOperation::create):
(WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::CreateIndexAbortOperation::create):
(WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::DeleteIndexAbortOperation::create):
(WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(WebCore::SetIndexesReadyOperation::create):
(WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):

Source/WebKit2:

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:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
https://bugs.webkit.org/show_bug.cgi?id=123451

Reviewed by NOBODY (My bad, non-reviewed, non-building code got in there)

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls): Remove the auto line I was trying from review feedback.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: [CSS Regions][CSS Shapes] Layout error when the shape has negative top coordinate and it's applied on the second region
<https://webkit.org/b/123346>

Reviewed by David Hyatt.

We have a layout error when there is a shape applied on the second region, and it has a negative 'top' coordinate.
Since shapeInsideInfo::shapeLogicalTop() can return negative numbers, we need to check for it, when we're positioning
the first line in the region.

Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):

LayoutTests: [CSS Regions][CSS Shapes] Layout error when the shape has negative top coordinate and it's applied on the second region
<http://webkit.org/b/123346>

Reviewed by David Hyatt.

We have a layout error when there is a shape applied on the second region, and it has a negative 'top' coordinate.
Since shapeInsideInfo::shapeLogicalTop() can return negative numbers, we need to check for it, when we're positioning
the first line in the region.

* fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html: Added.
* fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac MediaStream] implement AVFoundation backed MediaStreamSource
https://bugs.webkit.org/show_bug.cgi?id=123316

Source/WebCore: 

Reviewed by Jer Noble

No new tests, existing tests updated.

* CMakeLists.txt: Add MediaStreamSourceStates.cpp.

* Modules/mediastream/MediaSourceStates.cpp:
(WebCore::MediaSourceStates::MediaSourceStates): m_SourceStates -> m_sourceStates.
(WebCore::MediaSourceStates::sourceType): Ditto.
(WebCore::MediaSourceStates::facingMode): Ditto.
* Modules/mediastream/MediaSourceStates.h: Ditto.
* Modules/mediastream/MediaSourceStates.idl: Mark some attributes as optional.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::addRemoteSource):
(WebCore::MediaStream::removeRemoteSource):

* Modules/mediastream/MediaStreamCapabilities.cpp:
(WebCore::MediaStreamCapabilities::sourceType): MediaSourceStates -> MediaStreamSourceStates
(WebCore::MediaStreamCapabilities::facingMode): Ditto.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack): Don't observe source changes directly, let the
    private track do that. Change private track parameter to ref because it can't be NULL.
(WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
(WebCore::MediaStreamTrack::setSource): Pass through to private track.
(WebCore::MediaStreamTrack::stopped): Ditto.
(WebCore::MediaStreamTrack::states): Ditto.
(WebCore::MediaStreamTrack::capabilities): Ditto.
(WebCore::MediaStreamTrack::applyConstraints): Ditto.
(WebCore::MediaStreamTrack::stopProducingData): Ditto.
(WebCore::MediaStreamTrack::trackReadyStateChanged): Renamed from sourceStateChanged. Don't
    schedule an 'ended' event if called as a side effect of the stop() method having been
    called as per spec.
(WebCore::MediaStreamTrack::trackMutedChanged): Renamed from sourceMutedChanged.
(WebCore::MediaStreamTrack::trackEnabledChanged): Renamed from sourceEnabledChanged.
(WebCore::MediaStreamTrack::stop): Pass through to private track.
* Modules/mediastream/MediaStreamTrack.h:
(WebCore::MediaStreamTrack::Observer::~Observer): Add virtual destructor.

* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::callSuccessHandler): Set track, not source, constraints.

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

* bindings/js/JSMediaSourceStatesCustom.cpp:
(WebCore::JSMediaSourceStates::facingMode): Return jsUndefined when the facing mode
    is Unknown.

* platform/mediastream/MediaStreamCenter.h: Remove unused class forward defines and
    undefined method prototype.

* platform/mediastream/MediaStreamDescriptor.cpp:
(WebCore::MediaStreamDescriptor::addSource): ASSERT if source is kind None.
(WebCore::MediaStreamDescriptor::removeSource): Ditto.
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):

* platform/mediastream/MediaStreamSource.cpp:
(WebCore::MediaStreamSource::setReadyState): Call startProducingData when readyState changes
    to Live, stopProducingData when it changes to Ended.
(WebCore::MediaStreamSource::removeObserver): Call stop() when there are no more observers.
(WebCore::MediaStreamSource::setEnabled): If passed false, do nothing unless all observers
    are disabled. Call startProducingData/stopProducingData when becoming enabled/disabled.
(WebCore::MediaStreamSource::stop): Don't bother checking to see if other observers have
    stopped, the spec says that track.stop() should permanently stop the track's source.
* platform/mediastream/MediaStreamSource.h:
(WebCore::MediaStreamSource::name): Make virtual so derived classes can override.
(WebCore::MediaStreamSource::setName): Ditto.
(WebCore::MediaStreamSource::readyState): Ditto.
(WebCore::MediaStreamSource::enabled): Ditto.
(WebCore::MediaStreamSource::muted): Ditto.
(WebCore::MediaStreamSource::setReadonly): Ditto.
(WebCore::MediaStreamSource::remote): Ditto.
(WebCore::MediaStreamSource::setRemote): Ditto.
(WebCore::MediaStreamSource::startProducingData): Added.
(WebCore::MediaStreamSource::stopProducingData): Added.

* platform/mediastream/MediaStreamSourceCapabilities.h: Move MediaStreamSourceStates to
    its own file.

* platform/mediastream/MediaStreamSourceStates.cpp: Added.
(WebCore::MediaStreamSourceStates::facingMode): Moved here from MediaSourceStates so the 
    strings are available to platform code.
(WebCore::MediaStreamSourceStates::sourceType): Ditto.
* platform/mediastream/MediaStreamSourceStates.h: Added, moved from MediaStreamSourceCapabilities.h.

* platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::create): Pass private track to constructor as PassRefPtr.
(WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): Initialize member variables.
(WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate): Unregister as source observer.
(WebCore::MediaStreamTrackPrivate::setSource): Unregister/register as source observer.
(WebCore::MediaStreamTrackPrivate::setEnabled): Enable/disable source, call client.
(WebCore::MediaStreamTrackPrivate::stop): New. Set readyState to Ended, optionally stop source.
(WebCore::MediaStreamTrackPrivate::setReadyState): Inline the logic from shouldFireTrackReadyStateChanged.
(WebCore::MediaStreamTrackPrivate::constraints): New, passthrough to the source.
(WebCore::MediaStreamTrackPrivate::states): Ditto.
(WebCore::MediaStreamTrackPrivate::type): Ditto.
(WebCore::MediaStreamTrackPrivate::capabilities): Ditto.
(WebCore::MediaStreamTrackPrivate::applyConstraints): Ditto.
(WebCore::MediaStreamTrackPrivate::sourceReadyStateChanged): React to source changes.
(WebCore::MediaStreamTrackPrivate::sourceMutedChanged): Ditto.
(WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
(WebCore::MediaStreamTrackPrivate::observerIsEnabled): Respond to source query.
(WebCore::MediaStreamTrackPrivate::observerIsStopped): Ditto.
* platform/mediastream/MediaStreamTrackPrivate.h:

* platform/mediastream/mac/AVAudioCaptureSource.h: Added.
* platform/mediastream/mac/AVAudioCaptureSource.mm: Added.

* platform/mediastream/mac/AVCaptureDeviceManager.h: Added.
* platform/mediastream/mac/AVCaptureDeviceManager.mm: Added.

* platform/mediastream/mac/AVMediaCaptureSource.h: Added.
* platform/mediastream/mac/AVMediaCaptureSource.mm: Added.

* platform/mediastream/mac/AVVideoCaptureSource.h: Added.
* platform/mediastream/mac/AVVideoCaptureSource.mm: Added.

* platform/mediastream/mac/MediaStreamCenterMac.cpp:
(WebCore::MediaStreamCenterMac::validateRequestConstraints): Implement.
(WebCore::MediaStreamCenterMac::createMediaStream): Ditto.
(WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Ditto.

* platform/mock/MockMediaStreamCenter.cpp:
(WebCore::initializeMockSources): Update for MediaStreamSourceStates changes.
(WebCore::MockMediaStreamCenter::createMediaStream):

LayoutTests: 

Reviewed by Jer Noble.

* fast/mediastream/MediaStream-add-remove-tracks-expected.txt: Updated.
* fast/mediastream/MediaStream-add-remove-tracks.html: Ditto.
* fast/mediastream/MediaStreamConstructor-expected.txt: Ditto.
* fast/mediastream/MediaStreamConstructor.html: Ditto.
* fast/mediastream/MediaStreamTrack-getSources.html: Remove typo.
* fast/mediastream/MediaStreamTrack-expected.txt: Updated results.
* fast/mediastream/MediaStreamTrack.html: Update to test track.stop() behavior.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add myself as a comitter

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Try fixing the Mac build (though I have no idea why
this wouldn't fail locally)...

* WebCore.exp.in:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use left/right instead of left/width for simple text runs
https://bugs.webkit.org/show_bug.cgi?id=123465

Reviewed by Andreas Kling.

This simplifies the code a bit.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::adjustRunOffsets):
(WebCore::SimpleLineLayout::create):
* rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Run::Run):
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::rect):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More correct build fix after 158223.

Only fails in release because it's inline.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
* WebCore.exp.in:


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