Skip to content

Commit

Permalink
refactor: rename namespace and remove useless code.
Browse files Browse the repository at this point in the history
  • Loading branch information
andycall committed Jan 27, 2022
1 parent d8ea682 commit c14831b
Show file tree
Hide file tree
Showing 98 changed files with 601 additions and 657 deletions.
11 changes: 6 additions & 5 deletions bridge/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ endif()
list(APPEND BRIDGE_SOURCE
kraken_bridge.cc
${CMAKE_CURRENT_SOURCE_DIR}/include/kraken_bridge.h
${CMAKE_CURRENT_SOURCE_DIR}/include/kraken_foundation.h
${CMAKE_CURRENT_SOURCE_DIR}/include/dart_methods.h
foundation/macros.h
foundation/logging.cc
foundation/logging.h
foundation/colors.h
Expand All @@ -98,10 +98,11 @@ list(APPEND BRIDGE_SOURCE
foundation/inspector_task_queue.cc
foundation/task_queue.cc
foundation/task_queue.h
foundation/native_value.cc
foundation/native_value.h
foundation/ui_command_buffer.cc
foundation/ui_command_buffer.h
foundation/ui_command_callback_queue.cc
foundation/closure.h
dart_methods.cc
polyfill/dist/polyfill.cc
)
Expand Down Expand Up @@ -193,8 +194,8 @@ if ($ENV{KRAKEN_JS_ENGINE} MATCHES "quickjs")
bindings/qjs/executing_context_data.h
bindings/qjs/wrapper_type_info.h
bindings/qjs/heap_hashmap.h
bindings/qjs/native_value.cc
bindings/qjs/native_value.h
bindings/qjs/native_string.cc
bindings/qjs/native_string.h
bindings/qjs/qjs_patch.cc
bindings/qjs/qjs_patch.h
bindings/qjs/module_manager.cc
Expand Down Expand Up @@ -288,7 +289,7 @@ endif ()

list(APPEND PUBLIC_HEADER
include/kraken_bridge.h
)
)

add_library(kraken SHARED ${BRIDGE_SOURCE})
add_library(kraken_static STATIC ${BRIDGE_SOURCE})
Expand Down
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/blob.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include "blob.h"
#include "dart_methods.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindBlob(std::unique_ptr<ExecutionContext>& context) {
JSValue constructor = context->contextData()->constructorForType(&blobTypeInfo);
Expand Down Expand Up @@ -260,4 +260,4 @@ uint8_t* Blob::bytes() {
void Blob::trace(JSRuntime* rt, JSValue val, JS_MarkFunc* mark_func) const {}
void Blob::dispose() const {}

} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/blob.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "bindings/qjs/context_macros.h"
#include "bindings/qjs/garbage_collected.h"

namespace kraken::binding::qjs {
namespace kraken {

class BlobBuilder;
class BlobInstance;
Expand Down Expand Up @@ -113,6 +113,6 @@ auto blobCreator = [](JSContext* ctx, JSValueConst func_obj, JSValueConst this_v

const WrapperTypeInfo blobTypeInfo = {"Blob", nullptr, blobCreator};

} // namespace kraken::binding::qjs
} // namespace kraken

#endif // KRAKENBRIDGE_BLOB_H
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/console.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#include "console.h"

namespace kraken::binding::qjs {
namespace kraken {

JSValue print(JSContext* ctx, JSValueConst this_val, int argc, JSValueConst* argv) {
std::stringstream stream;
Expand Down Expand Up @@ -34,4 +34,4 @@ void bindConsole(ExecutionContext* context) {
QJS_GLOBAL_BINDING_FUNCTION(context, print, "__kraken_print__", 2);
}

} // namespace kraken::binding::qjs
} // namespace kraken
2 changes: 1 addition & 1 deletion bridge/bindings/qjs/bom/console.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#include "bindings/qjs/executing_context.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindConsole(ExecutionContext* context);

Expand Down
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/dom_timer_coordinator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "kraken_test_env.h"
#endif

namespace kraken::binding::qjs {
namespace kraken {

static void handleTimerCallback(DOMTimer* timer, const char* errmsg) {
auto* context = static_cast<ExecutionContext*>(JS_GetContextOpaque(timer->ctx()));
Expand Down Expand Up @@ -80,4 +80,4 @@ void DOMTimerCoordinator::trace(JSRuntime* rt, JSValue val, JS_MarkFunc* mark_fu
}
}

} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/dom_timer_coordinator.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include <unordered_map>
#include <vector>

namespace kraken::binding::qjs {
namespace kraken {

class DOMTimer;
class ExecutionContext;
Expand All @@ -37,6 +37,6 @@ class DOMTimerCoordinator {
std::vector<DOMTimer*> m_abandonedTimers;
};

} // namespace kraken::binding::qjs
} // namespace kraken

#endif // KRAKENBRIDGE_BINDINGS_QJS_BOM_DOM_TIMER_COORDINATOR_H_
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/location.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <utility>
#include "dart_methods.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindLocation(std::unique_ptr<ExecutionContext>& context) {
auto* contextData = context->contextData();
Expand Down Expand Up @@ -42,4 +42,4 @@ void Location::trace(JSRuntime* rt, JSValue val, JS_MarkFunc* mark_func) const {

void Location::dispose() const {}

} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/location.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "bindings/qjs/garbage_collected.h"
#include "bindings/qjs/wrapper_type_info.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindLocation(std::unique_ptr<ExecutionContext>& context);

Expand Down Expand Up @@ -38,6 +38,6 @@ auto locationCreator = [](JSContext* ctx, JSValueConst func_obj, JSValueConst th

const WrapperTypeInfo locationTypeInfo = {"Location", nullptr, locationCreator};

} // namespace kraken::binding::qjs
} // namespace kraken

#endif // KRAKENBRIDGE_LOCATION_H
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/performance.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#define PERFORMANCE_ENTRY_NONE_UNIQUE_ID -1024

namespace kraken::binding::qjs {
namespace kraken {

void bindPerformance(ExecutionContext* context) {
auto* performance = Performance::instance(context);
Expand Down Expand Up @@ -580,4 +580,4 @@ Rendering: %.*fms

#endif

} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/performance.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@

#include "bindings/qjs/host_object.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindPerformance(ExecutionContext* context);

Expand Down Expand Up @@ -222,6 +222,6 @@ class Performance : public HostObject {
#endif
};

} // namespace kraken::binding::qjs
} // namespace kraken

#endif // KRAKENBRIDGE_PERFORMANCE_H
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/screen.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#include "screen.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindScreen(ExecutionContext* context) {
auto* screen = new Screen(context);
Expand All @@ -32,4 +32,4 @@ IMPL_PROPERTY_GETTER(Screen, height)(JSContext* ctx, JSValue this_val, int argc,
return JS_NewFloat64(ctx, screen->height);
}

} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/screen.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "bindings/qjs/host_object.h"
#include "dart_methods.h"

namespace kraken::binding::qjs {
namespace kraken {

struct NativeScreen {
double width;
Expand All @@ -28,7 +28,7 @@ class Screen : public HostObject {

void bindScreen(ExecutionContext* context);

} // namespace kraken::binding::qjs
} // namespace kraken

class screen {};

Expand Down
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/timer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "kraken_test_env.h"
#endif

namespace kraken::binding::qjs {
namespace kraken {

DOMTimer::DOMTimer(JSValue callback) : m_callback(callback) {}

Expand Down Expand Up @@ -225,4 +225,4 @@ void bindTimer(ExecutionContext* context) {
QJS_GLOBAL_BINDING_FUNCTION(context, clearTimeout, "clearTimeout", 1);
QJS_GLOBAL_BINDING_FUNCTION(context, clearTimeout, "clearInterval", 1);
}
} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "bindings/qjs/garbage_collected.h"
#include "dom_timer_coordinator.h"

namespace kraken::binding::qjs {
namespace kraken {

class DOMTimer : public GarbageCollected<DOMTimer> {
public:
Expand All @@ -36,6 +36,6 @@ class DOMTimer : public GarbageCollected<DOMTimer> {

void bindTimer(ExecutionContext* context);

} // namespace kraken::binding::qjs
} // namespace kraken

#endif // KRAKENBRIDGE_TIMER_H
1 change: 0 additions & 1 deletion bridge/bindings/qjs/bom/timer_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
*/

#include "gtest/gtest.h"
#include "kraken_bridge.h"
#include "kraken_test_env.h"
#include "page.h"

Expand Down
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/window.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "bindings/qjs/qjs_patch.h"
#include "dart_methods.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindWindow(std::unique_ptr<ExecutionContext>& context) {
auto* contextData = context->contextData();
Expand Down Expand Up @@ -271,4 +271,4 @@ IMPL_PROPERTY_GETTER(Window, self)(JSContext* ctx, JSValue this_val, int argc, J
return JS_GetGlobalObject(ctx);
}

} // namespace kraken::binding::qjs
} // namespace kraken
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/bom/window.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "bindings/qjs/executing_context.h"
#include "bindings/qjs/wrapper_type_info.h"

namespace kraken::binding::qjs {
namespace kraken {

void bindWindow(ExecutionContext* context);

Expand Down Expand Up @@ -58,6 +58,6 @@ auto windowCreator = [](JSContext* ctx, JSValueConst func_obj, JSValueConst this

const WrapperTypeInfo windowTypeInfo = {"Window", &eventTargetTypeInfo, windowCreator};

} // namespace kraken::binding::qjs
} // namespace kraken

#endif // KRAKENBRIDGE_WINDOW_H
44 changes: 44 additions & 0 deletions bridge/bindings/qjs/dart_methods.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (C) 2019 Alibaba Inc. All rights reserved.
* Author: Kraken Team.
*/

#include "dart_methods.h"
#include "foundation/macros.h"
#include <memory>

namespace kraken {

//std::shared_ptr<DartMethodPointer> methodPointer = std::make_shared<DartMethodPointer>()


std::shared_ptr<DartMethodPointer> getDartMethod() {
std::thread::id currentThread = std::this_thread::get_id();

#ifndef NDEBUG
// Dart methods can only invoked from Flutter UI threads. Javascript Debugger like Safari Debugger can invoke
// Javascript methods from debugger thread and will crash the app.
// @TODO: implement task loops for async method call.
if (currentThread != getUIThreadId()) {
// return empty struct to stop further behavior.
return std::make_shared<DartMethodPointer>();
}
#endif
// return methodPointer;
}

void registerDartMethods(std::shared_ptr<DartMethodPointer> methodPointer, uint64_t* methodBytes, int32_t length) {

}

void registerTestEnvDartMethods(std::shared_ptr<DartMethodPointer> methodPointer, uint64_t* methodBytes, int32_t length) {

}

#if ENABLE_PROFILE
void registerGetPerformanceEntries(GetPerformanceEntries getPerformanceEntries) {
methodPointer->getPerformanceEntries = getPerformanceEntries;
}
#endif

} // namespace kraken
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
#include <memory>
#include <thread>

#define KRAKEN_EXPORT __attribute__((__visibility__("default")))

struct NativeScreen;

using AsyncCallback = void (*)(void* callbackContext, int32_t contextId, const char* errmsg);
using AsyncRAFCallback = void (*)(void* callbackContext, int32_t contextId, double result, const char* errmsg);
using AsyncModuleCallback = void (*)(void* callbackContext, int32_t contextId, NativeString* errmsg, NativeString* json);
Expand Down Expand Up @@ -85,16 +81,13 @@ struct DartMethodPointer {
InitDocument initDocument{nullptr};
};

void registerDartMethods(uint64_t* methodBytes, int32_t length);
void registerDartMethods(std::shared_ptr<DartMethodPointer> methodPointer, uint64_t* methodBytes, int32_t length);

#ifdef IS_TEST
KRAKEN_EXPORT
void registerTestEnvDartMethods(uint64_t* methodBytes, int32_t length);
void registerTestEnvDartMethods(std::shared_ptr<DartMethodPointer> methodPointer, uint64_t* methodBytes, int32_t length);
#endif

KRAKEN_EXPORT
std::shared_ptr<DartMethodPointer> getDartMethod();

} // namespace kraken

#endif
4 changes: 2 additions & 2 deletions bridge/bindings/qjs/dom/all_collection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#include "all_collection.h"

namespace kraken::binding::qjs {
namespace kraken {

JSValue AllCollection::item(JSContext* ctx, JSValue this_val, int argc, JSValue* argv) {
if (argc < 1) {
Expand Down Expand Up @@ -76,4 +76,4 @@ IMPL_PROPERTY_GETTER(AllCollection, length)(JSContext* ctx, JSValue this_val, in
return JS_NewUint32(ctx, collection->m_nodes.size());
}

} // namespace kraken::binding::qjs
} // namespace kraken
Loading

0 comments on commit c14831b

Please sign in to comment.