Skip to content

Commit 9dd1ba6

Browse files
committed
rename 'inject-js' to 'inject-js-start'; add 'inject-js-end'
See nwjs#1372
1 parent d8e6a03 commit 9dd1ba6

File tree

6 files changed

+36
-8
lines changed

6 files changed

+36
-8
lines changed

src/api/dispatcher_host.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,10 @@ void DispatcherHost::OnCreateShell(const std::string& url,
253253
new_renderer ? NULL : base_web_contents->GetSiteInstance());
254254

255255
std::string filename;
256-
if (new_manifest->GetString(switches::kmInjectJS, &filename))
257-
create_params.nw_inject_js_fn = filename;
256+
if (new_manifest->GetString(switches::kmInjectJSDocStart, &filename))
257+
create_params.nw_inject_js_doc_start = filename;
258+
if (new_manifest->GetString(switches::kmInjectJSDocEnd, &filename))
259+
create_params.nw_inject_js_doc_end = filename;
258260
if (new_manifest->GetString(switches::kmInjectCSS, &filename))
259261
create_params.nw_inject_css_fn = filename;
260262

src/common/shell_switches.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ const char kmUserAgent[] = "user-agent";
9898
const char kmRemotePages[] = "node-remote";
9999

100100
const char kmNewInstance[] = "new-instance";
101-
const char kmInjectJS[] = "inject-js";
101+
const char kmInjectJSDocStart[] = "inject-js-start";
102+
const char kmInjectJSDocEnd[] = "inject-js-end";
102103
const char kmInjectCSS[] = "inject-css";
103104

104105
#if defined(OS_WIN)

src/common/shell_switches.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ extern const char kmPageCache[];
5656
extern const char kmUserAgent[];
5757
extern const char kmRemotePages[];
5858
extern const char kmNewInstance[];
59-
extern const char kmInjectJS[];
59+
extern const char kmInjectJSDocStart[];
60+
extern const char kmInjectJSDocEnd[];
6061
extern const char kmInjectCSS[];
6162

6263
#if defined(OS_WIN)

src/renderer/nw_render_view_observer.cc

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,25 @@ void NwRenderViewObserver::OnCaptureSnapshot() {
8080
Send(new NwViewHostMsg_Snapshot(routing_id(), snapshot));
8181
}
8282

83+
void NwRenderViewObserver::DidFinishDocumentLoad(WebKit::WebFrame* frame) {
84+
RenderViewImpl* rv = RenderViewImpl::FromWebView(frame->view());
85+
if (!rv)
86+
return;
87+
std::string js_fn = rv->renderer_preferences_.nw_inject_js_doc_end;
88+
OnDocumentCallback(rv, js_fn, frame);
89+
}
90+
8391
void NwRenderViewObserver::DidCreateDocumentElement(WebKit::WebFrame* frame) {
8492
RenderViewImpl* rv = RenderViewImpl::FromWebView(frame->view());
8593
if (!rv)
8694
return;
87-
std::string js_fn = rv->renderer_preferences_.nw_inject_js_fn;
95+
std::string js_fn = rv->renderer_preferences_.nw_inject_js_doc_start;
96+
OnDocumentCallback(rv, js_fn, frame);
97+
}
98+
99+
void NwRenderViewObserver::OnDocumentCallback(RenderViewImpl* rv,
100+
const std::string& js_fn,
101+
WebKit::WebFrame* frame) {
88102
if (js_fn.empty())
89103
return;
90104
std::string content;

src/renderer/nw_render_view_observer.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525

2626
class SkBitmap;
2727

28+
namespace content {
29+
class RenderViewImpl;
30+
}
31+
2832
namespace WebKit {
2933
class WebView;
3034
}
@@ -39,6 +43,7 @@ class NwRenderViewObserver : public content::RenderViewObserver {
3943
// RenderViewObserver implementation.
4044
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
4145
virtual void DidCreateDocumentElement(WebKit::WebFrame* frame) OVERRIDE;
46+
virtual void DidFinishDocumentLoad(WebKit::WebFrame* frame) OVERRIDE;
4247

4348
private:
4449

@@ -48,6 +53,10 @@ class NwRenderViewObserver : public content::RenderViewObserver {
4853
// to get a snapshot of a tab using chrome.tabs.captureVisibleTab().
4954
bool CaptureSnapshot(WebKit::WebView* view, SkBitmap* snapshot);
5055

56+
void OnDocumentCallback(content::RenderViewImpl* rv,
57+
const std::string& js_fn,
58+
WebKit::WebFrame* frame);
59+
5160
DISALLOW_COPY_AND_ASSIGN(NwRenderViewObserver);
5261
};
5362

src/shell_content_browser_client.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,10 @@ WebContentsViewPort* ShellContentBrowserClient::OverrideCreateWebContentsView(
133133
if (package->root()->GetString(switches::kmRemotePages, &rules))
134134
prefs->nw_remote_page_rules = rules;
135135

136-
prefs->nw_app_root_path = package->path();
137-
prefs->nw_inject_css_fn = params.nw_inject_css_fn;
138-
prefs->nw_inject_js_fn = params.nw_inject_js_fn;
136+
prefs->nw_app_root_path = package->path();
137+
prefs->nw_inject_css_fn = params.nw_inject_css_fn;
138+
prefs->nw_inject_js_doc_start = params.nw_inject_js_doc_start;
139+
prefs->nw_inject_js_doc_end = params.nw_inject_js_doc_end;
139140
return NULL;
140141
}
141142

0 commit comments

Comments
 (0)