Skip to content

Commit de78056

Browse files
committed
Fixed missing renderer files.
1 parent 1560682 commit de78056

File tree

3 files changed

+38
-74
lines changed

3 files changed

+38
-74
lines changed

src/file/files.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ cwc.file.Files = function() {
4848
* @param {!string} content
4949
* @param {string=} type
5050
* @param {number=} size
51-
* @return {cwc.file.File}
51+
* @return {!cwc.file.File}
5252
*/
5353
cwc.file.Files.prototype.addFile = function(name, content, type, size) {
54-
let new_file = new cwc.file.File(name, content, type, size);
55-
let filename = new_file.getName();
56-
if (this.getFile(filename)) {
54+
let file = new cwc.file.File(name, content, type, size);
55+
let filename = file.getName();
56+
if (this.existFileName(filename)) {
5757
this.log_.warn('Overwrite existing file', filename);
5858
}
59-
this.data_[filename] = new_file;
59+
this.data_[filename] = file;
6060
this.updateSize_();
6161
return this.data_[filename];
6262
};
@@ -81,6 +81,7 @@ cwc.file.Files.prototype.getFile = function(name, group) {
8181
if (this.existFileName(filename)) {
8282
return this.data_[filename];
8383
}
84+
this.log_.error('File not found:', filename);
8485
return null;
8586
};
8687

src/renderer/helper.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,6 @@ cwc.renderer.Helper.prototype.getStyleSheetDataUrl = function(data,
296296
cwc.renderer.Helper.prototype.getFrameworkHeader = function(filename, files) {
297297
let file = files.getFile(filename);
298298
if (!file) {
299-
console.warn('Was unable to get file:', filename);
300299
return '';
301300
}
302301
return this.getJavaScriptDataURL(file.getContent(), undefined, filename);
@@ -325,7 +324,6 @@ cwc.renderer.Helper.prototype.getFrameworkHeaders = function(filenames, files) {
325324
cwc.renderer.Helper.prototype.getStyleSheetHeader = function(filename, files) {
326325
let file = files.getFile(filename);
327326
if (!file) {
328-
console.warn('Was unable to get file:', filename);
329327
return '';
330328
}
331329
return this.getStyleSheetDataUrl(file.getContent(), filename);

src/renderer/renderer.js

Lines changed: 32 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ cwc.renderer.Renderer = function(helper) {
5353
this.frameworkFiles = new cwc.file.Files();
5454

5555
/** @type {!cwc.file.Files} */
56-
this.libraryFiles = new cwc.file.Files();
56+
this.styleSheetFiles = new cwc.file.Files();
5757

5858
/** @type {!cwc.file.Files} */
59-
this.styleSheetFiles = new cwc.file.Files();
59+
this.files = new cwc.file.Files();
6060

6161
/** @type {!boolean} */
6262
this.serverMode_ = false;
@@ -77,8 +77,8 @@ cwc.renderer.Renderer = function(helper) {
7777
*/
7878
cwc.renderer.Renderer.prototype.prepare = function() {
7979
return this.cache_.open().then(() => {
80-
this.cache_.getFile('__version__').then((result) => {
81-
this.updateCache(result);
80+
this.cache_.getFile('__version__').then((version) => {
81+
this.updateCache(version);
8282
});
8383
});
8484
};
@@ -94,10 +94,10 @@ cwc.renderer.Renderer.prototype.updateCache = function(version) {
9494
this.log_.info('Updating Cache to version', this.version_);
9595

9696
this.log_.info('Loading external frameworks ...');
97-
this.loadFrameworks(cwc.framework.External);
97+
this.loadFiles(cwc.framework.External);
9898

9999
this.log_.info('Loading internal frameworks ...');
100-
this.loadFrameworks(cwc.framework.Internal);
100+
this.loadFiles(cwc.framework.Internal);
101101

102102
this.log_.info('Loading Style Sheets ...');
103103
this.loadStyleSheets(cwc.framework.StyleSheet);
@@ -119,9 +119,9 @@ cwc.renderer.Renderer.prototype.test = function() {
119119

120120
/**
121121
* Loads frameworks into cache.
122-
* @param {!Object} frameworks Framework files.
122+
* @param {!Object} frameworks
123123
*/
124-
cwc.renderer.Renderer.prototype.loadFrameworks = function(frameworks) {
124+
cwc.renderer.Renderer.prototype.loadFiles = function(frameworks) {
125125
let frameworkFiles = [];
126126
for (let framework of Object.keys(frameworks)) {
127127
if (goog.isString(frameworks[framework])) {
@@ -134,7 +134,7 @@ cwc.renderer.Renderer.prototype.loadFrameworks = function(frameworks) {
134134
}
135135
frameworkFiles.forEach((frameworkFile) => {
136136
cwc.utils.Resources.getUriAsText('../' + frameworkFile).then((content) => {
137-
this.addFramework(frameworkFile, content);
137+
this.addFile(frameworkFile, content, 'text/javascript');
138138
});
139139
});
140140
};
@@ -143,29 +143,31 @@ cwc.renderer.Renderer.prototype.loadFrameworks = function(frameworks) {
143143
/**
144144
* @param {string!} name
145145
* @param {string!} content
146+
* @param {string=} type
147+
* @param {boolean=} optimize
146148
*/
147-
cwc.renderer.Renderer.prototype.addFramework = function(name, content) {
149+
cwc.renderer.Renderer.prototype.addFile = function(name, content,
150+
type = 'text/javascript', optimize = false) {
148151
if (!content) {
149-
this.log_.error('Received empty content for framework', name);
152+
this.log_.error('Received empty content for', name);
150153
return;
151154
}
152155

153-
// Add framework file to server instance if available.
156+
// Add file to server instance if available.
154157
let serverInstance = this.helper.getInstance('server');
155158
if (serverInstance) {
156159
serverInstance.addFile(name, content);
157160
}
158161

159-
if (!name.includes('.min.') && content.length > 1000) {
162+
if (optimize && !name.includes('.min.') && content.length > 1000) {
160163
// Try to optimize unminimized code by removing comments and white-spaces.
161164
let originalContentLength = content.length;
162165
content = content.replace(/\\n\\n/g, '\\n')
163166
.replace(/ {4}/g, ' ')
164167
.replace(/[ \t]?\/\/.+?\\n/g, '')
165168
.replace(/[ \t]?\/\*.+?\*\/\\n/g, '')
166169
.replace(/[ \t]+\\n/g, '\\n')
167-
.replace(/(\\n){2,}/g, '\\n')
168-
.replace(/;\\n/g, ';');
170+
.replace(/(\\n){2,}/g, '\\n');
169171
if (originalContentLength > content.length) {
170172
let optimized = Math.ceil(((originalContentLength - content.length) /
171173
originalContentLength) * 100);
@@ -175,14 +177,15 @@ cwc.renderer.Renderer.prototype.addFramework = function(name, content) {
175177
}
176178
}
177179
}
178-
let fileContent = this.rendererHelper.getDataUrl(content, 'text/javascript');
180+
181+
let fileContent = this.rendererHelper.getDataUrl(content, type);
179182
if (!fileContent) {
180-
this.log_.error('Received empty file for framework', name);
183+
this.log_.error('Received empty file for', name);
181184
return;
182185
}
183-
184186
this.cache_.addFile(name, fileContent);
185-
let file = this.frameworkFiles.addFile(name, fileContent);
187+
188+
let file = this.files.addFile(name, fileContent);
186189
if (!file) {
187190
this.log_.error('Was not able to add File', file);
188191
} else {
@@ -196,7 +199,7 @@ cwc.renderer.Renderer.prototype.addFramework = function(name, content) {
196199
* @export
197200
*/
198201
cwc.renderer.Renderer.prototype.getFrameworks = function() {
199-
return this.frameworkFiles;
202+
return this.files;
200203
};
201204

202205

@@ -217,49 +220,12 @@ cwc.renderer.Renderer.prototype.loadStyleSheets = function(frameworks) {
217220
}
218221
frameworkFiles.forEach((frameworkFile) => {
219222
cwc.utils.Resources.getUriAsText('../' + frameworkFile).then((content) => {
220-
this.addStyleSheet(frameworkFile, content);
223+
this.addFile(frameworkFile, content, 'text/css');
221224
});
222225
});
223226
};
224227

225228

226-
/**
227-
* @param {string!} name
228-
* @param {string!} content
229-
* @param {string=} type
230-
*/
231-
cwc.renderer.Renderer.prototype.addStyleSheet = function(name, content, type) {
232-
let fileContent = this.rendererHelper.getDataUrl(content, 'text/css');
233-
if (!fileContent) {
234-
this.log_.error('Received empty content for Style Sheet', name);
235-
return;
236-
}
237-
238-
// Add framework file to server instance if available.
239-
let serverInstance = this.helper.getInstance('server');
240-
if (serverInstance) {
241-
serverInstance.addFile(name, content);
242-
}
243-
244-
this.cache_.addFile(name, fileContent);
245-
let file = this.styleSheetFiles.addFile(name, fileContent, type);
246-
if (!file) {
247-
this.log_.error('Was not able to add File', file);
248-
} else {
249-
this.log_.info('Add framework', name, file.getSize());
250-
}
251-
};
252-
253-
254-
/**
255-
* @return {!cwc.file.Files}
256-
* @export
257-
*/
258-
cwc.renderer.Renderer.prototype.getStyleSheets = function() {
259-
return this.styleSheetFiles;
260-
};
261-
262-
263229
/**
264230
* @return {!cwc.renderer.Helper}
265231
* @export
@@ -292,15 +258,14 @@ cwc.renderer.Renderer.prototype.setServerMode = function(enable) {
292258

293259
/**
294260
* Renders the JavaScript, CSS and HTML content together with all settings.
295-
* @return {string}
261+
* @return {!string}
296262
* @export
297263
*/
298264
cwc.renderer.Renderer.prototype.getRenderedContent = function() {
299-
let editorInstance = this.helper.getInstance('editor', true);
300265
let fileInstance = this.helper.getInstance('file');
301-
if (fileInstance) {
302-
this.libraryFiles = fileInstance.getFiles();
303-
}
266+
let libraryFiles = fileInstance ?
267+
fileInstance.getFiles() : new cwc.file.Files();
268+
let editorInstance = this.helper.getInstance('editor');
304269
let content = editorInstance.getEditorContent();
305270
if (!content) {
306271
this.log_.warn('Empty render content!');
@@ -309,9 +274,9 @@ cwc.renderer.Renderer.prototype.getRenderedContent = function() {
309274
let html = this.renderer(
310275
content,
311276
editorInstance.getEditorFlags(),
312-
this.libraryFiles,
313-
this.frameworkFiles,
314-
this.styleSheetFiles,
277+
libraryFiles,
278+
this.files,
279+
this.files,
315280
this.rendererHelper
316281
);
317282

@@ -322,7 +287,7 @@ cwc.renderer.Renderer.prototype.getRenderedContent = function() {
322287
}
323288
}
324289

325-
return html;
290+
return html || '';
326291
};
327292

328293

0 commit comments

Comments
 (0)