author | Carsten "Tomcat" Book <cbook@mozilla.com> |
Fri, 14 Nov 2014 12:32:47 +0100 | |
changeset 215811 | 4931d68c6cb37aa5b8b28bb703c92565daac994d |
parent 215810 | 854091113b03518d90d8ec06b35634bdcfd0ec25 |
child 215812 | 8fee3f35e2ba59ab8af2e60576715304430324b5 |
push id | 27827 |
push user | ryanvm@gmail.com |
push date | Fri, 14 Nov 2014 22:48:07 +0000 |
treeherder | mozilla-central@acbd7b68fa8c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 1036682 |
milestone | 36.0a1 |
backs out | 80f873bf8adc601590441740068f9fa8c05e2608 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/gfx/layers/ipc/LayerTransactionChild.cpp +++ b/gfx/layers/ipc/LayerTransactionChild.cpp @@ -13,21 +13,16 @@ #include "mozilla/mozalloc.h" // for operator delete, etc #include "nsDebug.h" // for NS_RUNTIMEABORT, etc #include "nsTArray.h" // for nsTArray #include "mozilla/layers/TextureClient.h" namespace mozilla { namespace layers { -bool -LayerTransactionChild::IPCOpen() -{ - return mIPCOpen && !mDestroyed && GetIPCChannel()->Connected(); -} void LayerTransactionChild::Destroy() { if (!IPCOpen()) { return; } // mDestroyed is used to prevent calling Send__delete__() twice.
--- a/gfx/layers/ipc/LayerTransactionChild.h +++ b/gfx/layers/ipc/LayerTransactionChild.h @@ -35,17 +35,17 @@ public: * to be sent from the parent side. * * It is expected (checked with an assert) that all shadow layers * created by this have already been destroyed and * Send__delete__()d by the time this method is called. */ void Destroy(); - bool IPCOpen(); + bool IPCOpen() const { return mIPCOpen && !mDestroyed; } void SetForwarder(ShadowLayerForwarder* aForwarder) { mForwarder = aForwarder; } virtual void SendFenceHandle(AsyncTransactionTracker* aTracker, PTextureChild* aTexture,
--- a/ipc/glue/MessageChannel.h +++ b/ipc/glue/MessageChannel.h @@ -75,18 +75,16 @@ class MessageChannel : HasResultCodes // For more details on the process of opening a channel between // threads, see the extended comment on this function // in MessageChannel.cpp. bool Open(MessageChannel *aTargetChan, MessageLoop *aTargetLoop, Side aSide); // Close the underlying transport channel. void Close(); - bool Connected() const; - // Force the channel to behave as if a channel error occurred. Valid // for process links only, not thread links. void CloseWithError(); void SetAbortOnError(bool abort) { mAbortOnError = true; } @@ -340,16 +338,18 @@ class MessageChannel : HasResultCodes return mDispatchingSyncMessage; } int DispatchingSyncMessagePriority() const { AssertWorkerThread(); return mDispatchingSyncMessagePriority; } + bool Connected() const; + private: // Executed on the IO thread. void NotifyWorkerThread(); // Return true if |aMsg| is a special message targeted at the IO // thread, in which case it shouldn't be delivered to the worker. bool MaybeInterceptSpecialIOMessage(const Message& aMsg);