Untitled
unknown
plain_text
a year ago
3.7 kB
5
Indexable
# C++ Files ### cc-1.5/utils.h #### base:: deps: `base::StringPrintf` #### public funcs: kaleido.utils.writeJsonMessage #### questions: also, where is it finding the "version" file??? ### cc-1.5/kaleido.h #### base:: deps: `base::WeakPtrFactory` `base::FilePath cwd;` ```c++ #include "base/memory/weak_ptr.h" #include "base/files/file_util.h" ``` #### other deps ```c++ #include "headless/public/devtools/domains/page.h" // generated #include "headless/public/devtools/domains/runtime.h" // generated #include "headless/public/headless_browser.h" // exists #include "headless/public/headless_devtools_client.h" // --gone-- #include "headless/public/headless_devtools_target.h" // --gone-- #include "headless/public/headless_web_contents.h" // exists ``` #### class Kaleido - inherits observers: HeadlessWebContents, page, runtime - constructor accepts:HeadlessBrowser, HeadlessWebContents (which it observes, I suppose), tmpfilename and scope - implements HeadlessWebContents and page (it says) ... ignores runtime but has this? `void OnExecutionContextCreated(const headless::runtime::ExecutionContextCreatedParams& params) override;` Implements many callbacks: ```c++ void ExportNext(); void Reload(); void OnHeapUsageComplete(std::unique_ptr<headless::runtime::GetHeapUsageResult> result); // <headless::runtime::GetHeapUsageResult> void OnHeapEvalComplete(std::unique_ptr<headless::runtime::EvaluateResult> result); // <headless::runtime::EvaluateResult> void LoadNextScript(); void OnPDFCreated(std::string responseString, std::unique_ptr<headless::page::PrintToPDFResult> result); // <headless::page::PrintToPDFResult> void OnExportComplete(std::unique_ptr<headless::runtime::CallFunctionOnResult> result); // <headless::runtime::CallFunctionOnResult> void OnScriptCompileComplete(std::unique_ptr<headless::runtime::CompileScriptResult> result); // <headless::runtime::CompileScriptResult> void OnRunScriptComplete(std::unique_ptr<headless::runtime::RunScriptResult> result); // <headless::runtime::RunScriptResult> ``` Privates: - Filename - scopes - environments - scriptnames, iterators for them - pdf/vector dependencies (poppler/inkscape) One browser + One tab per kaleido: ``` headless::HeadlessBrowser* browser_; // Our tab. Owned by |browser_|. headless::HeadlessWebContents* web_contents_; ``` No longer part of API (I think): `std::unique_ptr<headless::HeadlessDevToolsClient> devtools_client_;` ### cc-1.5/kaleido.cc (ABSOLUTEL NIGHTMARE OF BASE DEPENDENCIES) # Notes for meeting: - glad i pushed back a little bit on that separate pull request thing, i think the pr will be organized, - but i'm not interesting in trying to revive a four year old build of chromium for every platform, its got weird ependencies and little things have broken and on top of that - it has tons of security vulnerabilites - needed to segment the buildsystem to be able to iterate quicker on the C++- parts of the build system can provoke a full 6 hour recompile so those needed to be togglable - also needed tools to switch into debug/release mode, having lots of implications (debug being faster to build but much bigger files and also not as easy to distribute as one file) - had to provision a larger, faster server because my internet connection just isn't cutting it - still unhappy with build tools and had this thought when working with plotly (should articulate it) - making cuts from scope, leaving in dependencies on unstable APIs, they work now, if we keep it updated - also, since we're using the devtools api, the obvious thing is to, once a user calls kaleido, allow us to connect with devtools - how to do it in the future
Editor is loading...
Leave a Comment