blob: 7f9db6990b757e2ac94e51e579f3a9aa1f1a8d97 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/modules/presentation/presentation_error.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
namespace blink {
DOMException* CreatePresentationError(
const mojom::blink::PresentationError& error) {
DOMExceptionCode code = DOMExceptionCode::kUnknownError;
switch (error.error_type) {
case mojom::blink::PresentationErrorType::NO_AVAILABLE_SCREENS:
case mojom::blink::PresentationErrorType::NO_PRESENTATION_FOUND:
code = DOMExceptionCode::kNotFoundError;
break;
case mojom::blink::PresentationErrorType::PRESENTATION_REQUEST_CANCELLED:
code = DOMExceptionCode::kNotAllowedError;
break;
case mojom::blink::PresentationErrorType::PREVIOUS_START_IN_PROGRESS:
code = DOMExceptionCode::kOperationError;
break;
case mojom::blink::PresentationErrorType::UNKNOWN:
code = DOMExceptionCode::kUnknownError;
break;
}
return MakeGarbageCollected<DOMException>(code, error.message);
}
} // namespace blink