ChangeScreen2: Preload CodeMirror CSS and JS
The JavaScript library for CodeMirror is several hundred KiBs. Although it does not change often and can be cached by browsers preloading while the user is looking at a change helps to hide any latency. Change-Id: I43fecd297983e26472030a412fde5c9d98491adb
This commit is contained in:
@@ -91,6 +91,8 @@ import com.google.gwtexpui.globalkey.client.KeyCommandSet;
|
||||
import com.google.gwtexpui.safehtml.client.SafeHtmlBuilder;
|
||||
import com.google.gwtorm.client.KeyUtil;
|
||||
|
||||
import net.codemirror.lib.CodeMirror;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumSet;
|
||||
@@ -511,6 +513,7 @@ public class ChangeScreen2 extends Screen {
|
||||
}
|
||||
|
||||
ChangeGlue.fireShowChange(changeInfo, changeInfo.revision(revision));
|
||||
CodeMirror.preload();
|
||||
startPoller();
|
||||
if (NewChangeScreenBar.show()) {
|
||||
add(new NewChangeScreenBar(changeId));
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package net.codemirror.lib;
|
||||
|
||||
import com.google.gerrit.client.diff.DisplaySide;
|
||||
import com.google.gerrit.client.rpc.CallbackGroup;
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
import com.google.gwt.dom.client.Element;
|
||||
import com.google.gwt.dom.client.NativeEvent;
|
||||
@@ -28,6 +29,10 @@ import net.codemirror.lib.TextMarker.FromTo;
|
||||
* @see <a href="http://codemirror.net/doc/manual.html#api">CodeMirror API</a>
|
||||
*/
|
||||
public class CodeMirror extends JavaScriptObject {
|
||||
public static void preload() {
|
||||
initLibrary(CallbackGroup.<Void> emptyCallback());
|
||||
}
|
||||
|
||||
public static void initLibrary(AsyncCallback<Void> cb) {
|
||||
Loader.initLibrary(cb);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user