electron/shell/common/gin_helper/arguments.cc

27 lines
793 B
C++

// Copyright 2019 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.chromium file.
#include <string_view>
#include "shell/common/gin_helper/arguments.h"
#include "v8/include/v8-exception.h"
namespace gin_helper {
void Arguments::ThrowError() const {
// Gin advances |next_| counter when conversion fails while we do not, so we
// have to manually advance the counter here to make gin report error with the
// correct index.
const_cast<Arguments*>(this)->Skip();
gin::Arguments::ThrowError();
}
void Arguments::ThrowError(const std::string_view message) const {
isolate()->ThrowException(
v8::Exception::Error(gin::StringToV8(isolate(), message)));
}
} // namespace gin_helper