Skip to content

Commit e55bbcd

Browse files
committed
support chromium browsertest framework; add local_pdf case
Case for nwjs#5682
1 parent 206df0d commit e55bbcd

File tree

9 files changed

+1053
-5
lines changed

9 files changed

+1053
-5
lines changed

src/browser/nw_extensions_browser_hooks.cc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,15 +203,19 @@ bool RphGuestFilterURLHook(RenderProcessHost* rph, const GURL* url) {
203203
typedef bool (*RphGuestFilterURLHookFn)(content::RenderProcessHost* rph, const GURL* url);
204204
CONTENT_EXPORT extern RphGuestFilterURLHookFn gRphGuestFilterURLHook;
205205

206-
void LoadNWAppAsExtensionHook(base::DictionaryValue* manifest, std::string* error) {
206+
void LoadNWAppAsExtensionHook(base::DictionaryValue* manifest,
207+
const base::FilePath& extension_path,
208+
std::string* error) {
207209
gRphGuestFilterURLHook = RphGuestFilterURLHook;
208210
if (!manifest)
209211
return;
210212

211213
std::string main_url, bg_script, icon_path;
212214
base::Value *node_remote = NULL;
213215

214-
nw::Package* package = nw::package();
216+
const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess();
217+
nw::Package* package = cmdline->HasSwitch("nwjs-test-mode") ?
218+
nw::package(&extension_path) : nw::package();
215219
manifest->SetBoolean(manifest_keys::kNWJSInternalFlag, true);
216220
if (error && !package->cached_error_content().empty()) {
217221
*error = package->cached_error_content();

src/browser/nw_extensions_browser_hooks.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ namespace gfx {
3232
namespace nw {
3333
// browser
3434
// ref in extensions/common/file_util.cc
35-
void LoadNWAppAsExtensionHook(base::DictionaryValue* manifest, std::string* error);
35+
void LoadNWAppAsExtensionHook(base::DictionaryValue* manifest,
36+
const base::FilePath& extension_path,
37+
std::string* error);
3638
// ref in extensions/browser/app_window/app_window.cc
3739
void CalcNewWinParams(content::WebContents* new_contents, void* params,
3840
std::string* nw_inject_js_doc_start,

src/nw_base.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ int exit_code;
1111
base::string16 g_current_new_win_manifest;
1212
}
1313

14-
Package* package() {
14+
Package* package(const base::FilePath* path) {
15+
if (path) {
16+
if (g_package)
17+
delete g_package;
18+
g_package = new Package(*path);
19+
}
1520
return g_package;
1621
}
1722

src/nw_base.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
#include "content/nw/src/nw_export.h"
44
#include "content/nw/src/nw_package.h"
55

6+
namespace base {
7+
class FilePath;
8+
}
9+
610
namespace nw {
7-
NW_EXPORT Package* package();
11+
NW_EXPORT Package* package(const base::FilePath* path = nullptr);
812
NW_EXPORT Package* InitNWPackage();
913
NW_EXPORT void ReleaseNWPackage();
1014
NW_EXPORT int ExitCodeHook();

0 commit comments

Comments
 (0)