| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/serviceworkers/RespondWithObserver.h" | 5 #include "modules/serviceworkers/RespondWithObserver.h" |
| 6 | 6 |
| 7 #include <v8.h> | 7 #include <v8.h> |
| 8 | 8 |
| 9 #include "bindings/core/v8/ScriptFunction.h" | 9 #include "bindings/core/v8/ScriptFunction.h" |
| 10 #include "bindings/core/v8/ScriptPromise.h" | 10 #include "bindings/core/v8/ScriptPromise.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 | 37 |
| 38 private: | 38 private: |
| 39 ThenFunction(ScriptState* script_state, | 39 ThenFunction(ScriptState* script_state, |
| 40 RespondWithObserver* observer, | 40 RespondWithObserver* observer, |
| 41 ResolveType type) | 41 ResolveType type) |
| 42 : ScriptFunction(script_state), | 42 : ScriptFunction(script_state), |
| 43 observer_(observer), | 43 observer_(observer), |
| 44 resolve_type_(type) {} | 44 resolve_type_(type) {} |
| 45 | 45 |
| 46 ScriptValue Call(ScriptValue value) override { | 46 ScriptValue Call(ScriptValue value) override { |
| 47 ASSERT(observer_); | 47 DCHECK(observer_); |
| 48 ASSERT(resolve_type_ == kFulfilled || resolve_type_ == kRejected); | 48 ASSERT(resolve_type_ == kFulfilled || resolve_type_ == kRejected); |
| 49 if (resolve_type_ == kRejected) { | 49 if (resolve_type_ == kRejected) { |
| 50 observer_->ResponseWasRejected( | 50 observer_->ResponseWasRejected( |
| 51 kWebServiceWorkerResponseErrorPromiseRejected); | 51 kWebServiceWorkerResponseErrorPromiseRejected); |
| 52 value = | 52 value = |
| 53 ScriptPromise::Reject(value.GetScriptState(), value).GetScriptValue(); | 53 ScriptPromise::Reject(value.GetScriptState(), value).GetScriptValue(); |
| 54 } else { | 54 } else { |
| 55 observer_->ResponseWasFulfilled(value); | 55 observer_->ResponseWasFulfilled(value); |
| 56 } | 56 } |
| 57 observer_ = nullptr; | 57 observer_ = nullptr; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 69 } | 69 } |
| 70 state_ = kDone; | 70 state_ = kDone; |
| 71 } | 71 } |
| 72 | 72 |
| 73 void RespondWithObserver::WillDispatchEvent() { | 73 void RespondWithObserver::WillDispatchEvent() { |
| 74 event_dispatch_time_ = WTF::CurrentTime(); | 74 event_dispatch_time_ = WTF::CurrentTime(); |
| 75 } | 75 } |
| 76 | 76 |
| 77 void RespondWithObserver::DidDispatchEvent( | 77 void RespondWithObserver::DidDispatchEvent( |
| 78 DispatchEventResult dispatch_result) { | 78 DispatchEventResult dispatch_result) { |
| 79 ASSERT(GetExecutionContext()); | 79 DCHECK(GetExecutionContext()); |
| 80 if (state_ != kInitial) | 80 if (state_ != kInitial) |
| 81 return; | 81 return; |
| 82 | 82 |
| 83 if (dispatch_result != DispatchEventResult::kNotCanceled) { | 83 if (dispatch_result != DispatchEventResult::kNotCanceled) { |
| 84 observer_->IncrementPendingActivity(); | 84 observer_->IncrementPendingActivity(); |
| 85 ResponseWasRejected(kWebServiceWorkerResponseErrorDefaultPrevented); | 85 ResponseWasRejected(kWebServiceWorkerResponseErrorDefaultPrevented); |
| 86 return; | 86 return; |
| 87 } | 87 } |
| 88 | 88 |
| 89 OnNoResponse(); | 89 OnNoResponse(); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 event_id_(event_id), | 130 event_id_(event_id), |
| 131 state_(kInitial), | 131 state_(kInitial), |
| 132 observer_(observer) {} | 132 observer_(observer) {} |
| 133 | 133 |
| 134 DEFINE_TRACE(RespondWithObserver) { | 134 DEFINE_TRACE(RespondWithObserver) { |
| 135 visitor->Trace(observer_); | 135 visitor->Trace(observer_); |
| 136 ContextLifecycleObserver::Trace(visitor); | 136 ContextLifecycleObserver::Trace(visitor); |
| 137 } | 137 } |
| 138 | 138 |
| 139 } // namespace blink | 139 } // namespace blink |
| OLD | NEW |