Index: gpu/command_buffer/service/error_state.cc |
=================================================================== |
--- gpu/command_buffer/service/error_state.cc (revision 261814) |
+++ gpu/command_buffer/service/error_state.cc (working copy) |
@@ -16,7 +16,7 @@ |
class ErrorStateImpl : public ErrorState { |
public: |
- explicit ErrorStateImpl(Logger* logger); |
+ explicit ErrorStateImpl(ErrorStateClient* client, Logger* logger); |
virtual ~ErrorStateImpl(); |
virtual uint32 GetGLError() OVERRIDE; |
@@ -63,6 +63,7 @@ |
// Current GL error bits. |
uint32 error_bits_; |
+ ErrorStateClient* client_; |
Logger* logger_; |
DISALLOW_COPY_AND_ASSIGN(ErrorStateImpl); |
@@ -72,13 +73,12 @@ |
ErrorState::~ErrorState() {} |
-ErrorState* ErrorState::Create(Logger* logger) { |
- return new ErrorStateImpl(logger); |
+ErrorState* ErrorState::Create(ErrorStateClient* client, Logger* logger) { |
+ return new ErrorStateImpl(client, logger); |
} |
-ErrorStateImpl::ErrorStateImpl(Logger* logger) |
- : error_bits_(0), |
- logger_(logger) {} |
+ErrorStateImpl::ErrorStateImpl(ErrorStateClient* client, Logger* logger) |
+ : error_bits_(0), client_(client), logger_(logger) {} |
ErrorStateImpl::~ErrorStateImpl() {} |
@@ -125,6 +125,8 @@ |
function_name + ": " + msg); |
} |
error_bits_ |= GLES2Util::GLErrorToErrorBit(error); |
+ if (error == GL_OUT_OF_MEMORY) |
+ client_->OnOutOfMemoryError(); |
} |
void ErrorStateImpl::SetGLErrorInvalidEnum( |