Skip to content

Commit fae0c43

Browse files
andycallopenkraken-bot
and
openkraken-bot
authored
Chore/reformat (#839)
* feat: add linter bot * chore: add linter ignore * feat: add clang format ignore files * Committing clang-format changes Co-authored-by: openkraken-bot <[email protected]>
1 parent 7da257d commit fae0c43

File tree

100 files changed

+4467
-5518
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+4467
-5518
lines changed

.github/workflows/code_linter.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Run Code Linter
2+
3+
on: [push]
4+
5+
jobs:
6+
reformat-bridge:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- uses: actions/checkout@v2
11+
- uses: DoozyX/[email protected]
12+
with:
13+
source: './bridge'
14+
exclude: './bridge/third_party/*'
15+
extensions: 'h,cc,c'
16+
clangFormatVersion: 12
17+
inplace: True
18+
- uses: EndBug/add-and-commit@v4
19+
with:
20+
author_name: openkraken-bot
21+
author_email: [email protected]
22+
message: 'Committing clang-format changes'
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+

bridge/.clang-format

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
---
2-
Language: Cpp
3-
BasedOnStyle: LLVM
4-
ColumnLimit: 120
5-
AllowShortIfStatementsOnASingleLine: WithoutElse
6-
AllowShortFunctionsOnASingleLine: Empty
7-
ContinuationIndentWidth: 2
8-
ConstructorInitializerIndentWidth: 2
1+
# Defines the Chromium style for automatic reformatting.
2+
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
3+
BasedOnStyle: Chromium
4+
# This defaults to 'Auto'. Explicitly set it for a while, so that
5+
# 'vector<vector<int> >' in existing files gets formatted to
6+
# 'vector<vector<int>>'. ('Auto' means that clang-format will only use
7+
# 'int>>' if the file already contains at least one such instance.)
8+
Standard: c++17
9+
ColumnLimit: 200

bridge/.clang-format-ignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
./third_party
2+
./test
3+
./scripts
4+
./polyfill
5+
./cmake

bridge/bindings/qjs/bom/blob.cc

+51-50
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,20 @@ namespace kraken::binding::qjs {
1010

1111
std::once_flag kBlobInitOnceFlag;
1212

13-
void bindBlob(std::unique_ptr<JSContext> &context) {
14-
auto *constructor = Blob::instance(context.get());
13+
void bindBlob(std::unique_ptr<JSContext>& context) {
14+
auto* constructor = Blob::instance(context.get());
1515
context->defineGlobalProperty("Blob", constructor->classObject);
1616
}
1717

18-
Blob::Blob(JSContext *context) : HostClass(context, "Blob") {
19-
std::call_once(kBlobInitOnceFlag, []() {
20-
JS_NewClassID(&kBlobClassID);
21-
});
18+
Blob::Blob(JSContext* context) : HostClass(context, "Blob") {
19+
std::call_once(kBlobInitOnceFlag, []() { JS_NewClassID(&kBlobClassID); });
2220
}
2321

2422
JSClassID Blob::kBlobClassID{0};
2523

26-
JSValue Blob::instanceConstructor(QjsContext *ctx, JSValue func_obj, JSValue this_val, int argc, JSValue *argv) {
24+
JSValue Blob::instanceConstructor(QjsContext* ctx, JSValue func_obj, JSValue this_val, int argc, JSValue* argv) {
2725
BlobBuilder builder;
28-
auto constructor = static_cast<Blob *>(JS_GetOpaque(func_obj, JSContext::kHostClassClassId));
26+
auto constructor = static_cast<Blob*>(JS_GetOpaque(func_obj, JSContext::kHostClassClassId));
2927
if (argc == 0) {
3028
auto blob = new BlobInstance(constructor);
3129
return blob->instanceObject;
@@ -49,8 +47,9 @@ JSValue Blob::instanceConstructor(QjsContext *ctx, JSValue func_obj, JSValue thi
4947
}
5048

5149
if (!JS_IsObject(optionValue)) {
52-
return JS_ThrowTypeError(ctx, "Failed to construct 'Blob': parameter 2 ('options') "
53-
"is not an object");
50+
return JS_ThrowTypeError(ctx,
51+
"Failed to construct 'Blob': parameter 2 ('options') "
52+
"is not an object");
5453
}
5554

5655
JSAtom mimeTypeKey = JS_NewAtom(ctx, "type");
@@ -60,7 +59,7 @@ JSValue Blob::instanceConstructor(QjsContext *ctx, JSValue func_obj, JSValue thi
6059
const char* cMineType = JS_ToCString(ctx, mimeTypeValue);
6160
std::string mimeType = std::string(cMineType);
6261

63-
auto *blob = new BlobInstance(constructor, builder.finalize(), mimeType);
62+
auto* blob = new BlobInstance(constructor, builder.finalize(), mimeType);
6463

6564
JS_FreeValue(ctx, mimeTypeValue);
6665
JS_FreeCString(ctx, mimeType.c_str());
@@ -69,39 +68,40 @@ JSValue Blob::instanceConstructor(QjsContext *ctx, JSValue func_obj, JSValue thi
6968
return blob->instanceObject;
7069
}
7170

72-
PROP_GETTER(BlobInstance, type)(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
73-
auto *blobInstance = static_cast<BlobInstance *>(JS_GetOpaque(this_val, Blob::kBlobClassID));
71+
PROP_GETTER(BlobInstance, type)(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
72+
auto* blobInstance = static_cast<BlobInstance*>(JS_GetOpaque(this_val, Blob::kBlobClassID));
7473
return JS_NewString(blobInstance->m_ctx, blobInstance->mimeType.empty() ? "" : blobInstance->mimeType.c_str());
7574
}
76-
PROP_SETTER(BlobInstance, type)(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
75+
PROP_SETTER(BlobInstance, type)(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
7776
return JS_NULL;
7877
}
7978

80-
PROP_GETTER(BlobInstance, size)(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
81-
auto *blobInstance = static_cast<BlobInstance *>(JS_GetOpaque(this_val, Blob::kBlobClassID));
79+
PROP_GETTER(BlobInstance, size)(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
80+
auto* blobInstance = static_cast<BlobInstance*>(JS_GetOpaque(this_val, Blob::kBlobClassID));
8281
return JS_NewFloat64(blobInstance->m_ctx, blobInstance->_size);
8382
}
84-
PROP_SETTER(BlobInstance, size)(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
83+
PROP_SETTER(BlobInstance, size)(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
8584
return JS_NULL;
8685
}
8786

88-
JSValue Blob::arrayBuffer(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
87+
JSValue Blob::arrayBuffer(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
8988
JSValue resolving_funcs[2];
9089
JSValue promise = JS_NewPromiseCapability(ctx, resolving_funcs);
9190

92-
auto blob = static_cast<BlobInstance *>(JS_GetOpaque(this_val, Blob::kBlobClassID));
91+
auto blob = static_cast<BlobInstance*>(JS_GetOpaque(this_val, Blob::kBlobClassID));
9392

9493
JS_DupValue(ctx, blob->instanceObject);
9594

96-
auto *promiseContext = new PromiseContext{blob, blob->m_context, resolving_funcs[0], resolving_funcs[1], promise};
97-
auto callback = [](void *callbackContext, int32_t contextId, const char *errmsg) {
98-
if (!isContextValid(contextId)) return;
99-
auto *promiseContext = static_cast<PromiseContext *>(callbackContext);
100-
auto *blob = static_cast<BlobInstance *>(promiseContext->data);
101-
QjsContext *ctx = blob->m_ctx;
95+
auto* promiseContext = new PromiseContext{blob, blob->m_context, resolving_funcs[0], resolving_funcs[1], promise};
96+
auto callback = [](void* callbackContext, int32_t contextId, const char* errmsg) {
97+
if (!isContextValid(contextId))
98+
return;
99+
auto* promiseContext = static_cast<PromiseContext*>(callbackContext);
100+
auto* blob = static_cast<BlobInstance*>(promiseContext->data);
101+
QjsContext* ctx = blob->m_ctx;
102102

103103
JSValue arrayBuffer = JS_NewArrayBuffer(
104-
ctx, blob->bytes(), blob->size(), [](JSRuntime *rt, void *opaque, void *ptr) {}, nullptr, false);
104+
ctx, blob->bytes(), blob->size(), [](JSRuntime* rt, void* opaque, void* ptr) {}, nullptr, false);
105105
JSValue arguments[] = {arrayBuffer};
106106
JSValue returnValue = JS_Call(ctx, promiseContext->resolveFunc, blob->context()->global(), 1, arguments);
107107
JS_FreeValue(ctx, returnValue);
@@ -128,12 +128,12 @@ JSValue Blob::arrayBuffer(QjsContext *ctx, JSValue this_val, int argc, JSValue *
128128
return promise;
129129
}
130130

131-
JSValue Blob::slice(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
131+
JSValue Blob::slice(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
132132
JSValue startValue = argv[0];
133133
JSValue endValue = argv[1];
134134
JSValue contentTypeValue = argv[2];
135135

136-
auto *blob = static_cast<BlobInstance *>(JS_GetOpaque(this_val, Blob::kBlobClassID));
136+
auto* blob = static_cast<BlobInstance*>(JS_GetOpaque(this_val, Blob::kBlobClassID));
137137
int32_t start = 0;
138138
int32_t end = blob->_data.size();
139139
std::string mimeType = blob->mimeType;
@@ -153,35 +153,36 @@ JSValue Blob::slice(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv)
153153
}
154154

155155
if (start == 0 && end == blob->_data.size()) {
156-
auto newBlob = new BlobInstance(reinterpret_cast<Blob *>(blob->m_hostClass), std::move(blob->_data), mimeType);
156+
auto newBlob = new BlobInstance(reinterpret_cast<Blob*>(blob->m_hostClass), std::move(blob->_data), mimeType);
157157
JS_SetPrototype(blob->m_ctx, newBlob->instanceObject, blob->m_hostClass->prototype());
158158
return newBlob->instanceObject;
159159
}
160160
std::vector<uint8_t> newData;
161161
newData.reserve(blob->_data.size() - (end - start));
162162
newData.insert(newData.begin(), blob->_data.begin() + start, blob->_data.end() - (blob->_data.size() - end));
163163

164-
auto newBlob = new BlobInstance(reinterpret_cast<Blob *>(blob->m_hostClass), std::move(newData), mimeType);
164+
auto newBlob = new BlobInstance(reinterpret_cast<Blob*>(blob->m_hostClass), std::move(newData), mimeType);
165165
JS_SetPrototype(blob->m_ctx, newBlob->instanceObject, blob->m_hostClass->prototype());
166166
return newBlob->instanceObject;
167167
}
168168

169-
JSValue Blob::text(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
169+
JSValue Blob::text(QjsContext* ctx, JSValue this_val, int argc, JSValue* argv) {
170170
JSValue resolving_funcs[2];
171171
JSValue promise = JS_NewPromiseCapability(ctx, resolving_funcs);
172172

173-
auto blob = static_cast<BlobInstance *>(JS_GetOpaque(this_val, Blob::kBlobClassID));
173+
auto blob = static_cast<BlobInstance*>(JS_GetOpaque(this_val, Blob::kBlobClassID));
174174
JS_DupValue(ctx, blob->instanceObject);
175175

176-
auto *promiseContext = new PromiseContext{blob, blob->m_context, resolving_funcs[0], resolving_funcs[1], promise};
177-
auto callback = [](void *callbackContext, int32_t contextId, const char *errmsg) {
178-
if (!isContextValid(contextId)) return;
176+
auto* promiseContext = new PromiseContext{blob, blob->m_context, resolving_funcs[0], resolving_funcs[1], promise};
177+
auto callback = [](void* callbackContext, int32_t contextId, const char* errmsg) {
178+
if (!isContextValid(contextId))
179+
return;
179180

180-
auto *promiseContext = static_cast<PromiseContext *>(callbackContext);
181-
auto *blob = static_cast<BlobInstance *>(promiseContext->data);
182-
QjsContext *ctx = blob->m_ctx;
181+
auto* promiseContext = static_cast<PromiseContext*>(callbackContext);
182+
auto* blob = static_cast<BlobInstance*>(promiseContext->data);
183+
QjsContext* ctx = blob->m_ctx;
183184

184-
JSValue text = JS_NewStringLen(ctx, reinterpret_cast<const char *>(blob->bytes()), blob->size());
185+
JSValue text = JS_NewStringLen(ctx, reinterpret_cast<const char*>(blob->bytes()), blob->size());
185186
JSValue arguments[] = {text};
186187
JSValue returnValue = JS_Call(ctx, promiseContext->resolveFunc, blob->context()->global(), 1, arguments);
187188
JS_FreeValue(ctx, returnValue);
@@ -207,21 +208,20 @@ JSValue Blob::text(QjsContext *ctx, JSValue this_val, int argc, JSValue *argv) {
207208
return promise;
208209
}
209210

210-
void BlobInstance::finalize(JSRuntime *rt, JSValue val) {
211-
auto *eventTarget = static_cast<BlobInstance *>(JS_GetOpaque(val, Blob::kBlobClassID));
211+
void BlobInstance::finalize(JSRuntime* rt, JSValue val) {
212+
auto* eventTarget = static_cast<BlobInstance*>(JS_GetOpaque(val, Blob::kBlobClassID));
212213
delete eventTarget;
213214
}
214215

215-
216-
void BlobBuilder::append(JSContext &context, BlobInstance *blob) {
216+
void BlobBuilder::append(JSContext& context, BlobInstance* blob) {
217217
std::vector<uint8_t> blobData = blob->_data;
218218
_data.reserve(_data.size() + blobData.size());
219219
_data.insert(_data.end(), blobData.begin(), blobData.end());
220220
}
221221

222-
void BlobBuilder::append(JSContext &context, JSValue &value) {
222+
void BlobBuilder::append(JSContext& context, JSValue& value) {
223223
if (JS_IsString(value)) {
224-
const char *buffer = JS_ToCString(context.ctx(), value);
224+
const char* buffer = JS_ToCString(context.ctx(), value);
225225
std::string str = std::string(buffer);
226226
std::vector<uint8_t> strArr(str.begin(), str.end());
227227
_data.reserve(_data.size() + strArr.size());
@@ -243,16 +243,17 @@ void BlobBuilder::append(JSContext &context, JSValue &value) {
243243
}
244244
} else if (JS_IsObject(value)) {
245245
if (JS_IsInstanceOf(context.ctx(), value, Blob::instance(&context)->classObject)) {
246-
auto blob = static_cast<BlobInstance *>(JS_GetOpaque(value, Blob::kBlobClassID));
247-
if (blob == nullptr) return;
246+
auto blob = static_cast<BlobInstance*>(JS_GetOpaque(value, Blob::kBlobClassID));
247+
if (blob == nullptr)
248+
return;
248249
if (std::string(blob->m_name) == "Blob") {
249250
std::vector<uint8_t> blobData = blob->_data;
250251
_data.reserve(_data.size() + blobData.size());
251252
_data.insert(_data.end(), blobData.begin(), blobData.end());
252253
}
253254
} else {
254255
size_t length;
255-
uint8_t *buffer = JS_GetArrayBuffer(context.ctx(), &length, value);
256+
uint8_t* buffer = JS_GetArrayBuffer(context.ctx(), &length, value);
256257

257258
if (buffer == nullptr) {
258259
size_t byte_offset;
@@ -282,7 +283,7 @@ int32_t BlobInstance::size() {
282283
return _data.size();
283284
}
284285

285-
uint8_t *BlobInstance::bytes() {
286+
uint8_t* BlobInstance::bytes() {
286287
return _data.data();
287288
}
288-
} // namespace kraken::binding::qjs
289+
} // namespace kraken::binding::qjs

bridge/bindings/qjs/bom/blob.h

+22-23
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Author: Kraken Team.
44
*/
55

6-
76
#ifndef KRAKENBRIDGE_BLOB_H
87
#define KRAKENBRIDGE_BLOB_H
98

@@ -14,23 +13,23 @@ namespace kraken::binding::qjs {
1413
class BlobBuilder;
1514
class BlobInstance;
1615

17-
void bindBlob(std::unique_ptr<JSContext> &context);
16+
void bindBlob(std::unique_ptr<JSContext>& context);
1817

1918
class Blob : public HostClass {
20-
public:
19+
public:
2120
static JSClassID kBlobClassID;
2221
OBJECT_INSTANCE(Blob);
2322

2423
Blob() = delete;
25-
explicit Blob(JSContext *context);
24+
explicit Blob(JSContext* context);
2625

27-
JSValue instanceConstructor(QjsContext *ctx, JSValue func_obj, JSValue this_val, int argc, JSValue *argv) override;
26+
JSValue instanceConstructor(QjsContext* ctx, JSValue func_obj, JSValue this_val, int argc, JSValue* argv) override;
2827

29-
static JSValue arrayBuffer(QjsContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv);
30-
static JSValue slice(QjsContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv);
31-
static JSValue text(QjsContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv);
28+
static JSValue arrayBuffer(QjsContext* ctx, JSValueConst this_val, int argc, JSValueConst* argv);
29+
static JSValue slice(QjsContext* ctx, JSValueConst this_val, int argc, JSValueConst* argv);
30+
static JSValue text(QjsContext* ctx, JSValueConst this_val, int argc, JSValueConst* argv);
3231

33-
private:
32+
private:
3433
friend BlobInstance;
3534

3635
ObjectFunction m_arrayBuffer{m_context, m_prototypeObject, "arrayBuffer", arrayBuffer, 0};
@@ -39,41 +38,41 @@ class Blob : public HostClass {
3938
};
4039

4140
class BlobInstance : public Instance {
42-
public:
41+
public:
4342
BlobInstance() = delete;
44-
explicit BlobInstance(Blob *blob): Instance(blob, "Blob", nullptr, Blob::kBlobClassID, finalize) {};
45-
explicit BlobInstance(Blob *blob, std::vector<uint8_t> &&data)
46-
: _size(data.size()), _data(std::move(data)), Instance(blob, "Blob", nullptr, Blob::kBlobClassID, finalize){};
47-
explicit BlobInstance(Blob *blob, std::vector<uint8_t> &&data, std::string &mime)
43+
explicit BlobInstance(Blob* blob) : Instance(blob, "Blob", nullptr, Blob::kBlobClassID, finalize){};
44+
explicit BlobInstance(Blob* blob, std::vector<uint8_t>&& data) : _size(data.size()), _data(std::move(data)), Instance(blob, "Blob", nullptr, Blob::kBlobClassID, finalize){};
45+
explicit BlobInstance(Blob* blob, std::vector<uint8_t>&& data, std::string& mime)
4846
: mimeType(mime), _size(data.size()), _data(std::move(data)), Instance(blob, "Blob", nullptr, Blob::kBlobClassID, finalize){};
4947

5048
/// get an pointer of bytes data from JSBlob
51-
uint8_t *bytes();
49+
uint8_t* bytes();
5250
/// get bytes data's length
5351
int32_t size();
54-
private:
52+
53+
private:
5554
DEFINE_HOST_CLASS_PROPERTY(2, type, size);
5655
size_t _size;
5756
std::string mimeType{""};
5857
std::vector<uint8_t> _data;
5958
friend BlobBuilder;
6059
friend Blob;
6160

62-
static void finalize(JSRuntime *rt, JSValue val);
61+
static void finalize(JSRuntime* rt, JSValue val);
6362
};
6463

6564
class BlobBuilder {
66-
public:
67-
void append(JSContext &context, JSValue &value);
68-
void append(JSContext &context, BlobInstance *blob);
65+
public:
66+
void append(JSContext& context, JSValue& value);
67+
void append(JSContext& context, BlobInstance* blob);
6968

7069
std::vector<uint8_t> finalize();
7170

72-
private:
71+
private:
7372
friend Blob;
7473
std::vector<uint8_t> _data;
7574
};
7675

77-
}
76+
} // namespace kraken::binding::qjs
7877

79-
#endif // KRAKENBRIDGE_BLOB_H
78+
#endif // KRAKENBRIDGE_BLOB_H

0 commit comments

Comments
 (0)