/*
- * Copyright 2000-2015 JetBrains s.r.o.
+ * Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import com.intellij.ide.DataManager;
import com.intellij.ide.actions.BaseNavigateToSourceAction;
import com.intellij.ide.actions.ExternalJavaDocAction;
-import com.intellij.lang.documentation.CompositeDocumentationProvider;
import com.intellij.lang.documentation.DocumentationProvider;
import com.intellij.lang.documentation.ExternalDocumentationProvider;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.registry.Registry;
-import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.wm.ex.WindowManagerEx;
import com.intellij.pom.Navigatable;
import com.intellij.psi.PsiElement;
import com.intellij.ui.components.JBLayeredPane;
import com.intellij.ui.components.JBScrollPane;
import com.intellij.util.Consumer;
+import com.intellij.util.Url;
+import com.intellij.util.Urls;
import com.intellij.util.containers.HashMap;
import com.intellij.util.ui.GraphicsUtil;
import com.intellij.util.ui.JBDimension;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import org.jetbrains.ide.BuiltInServerManager;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.text.html.HTMLDocument;
import java.awt.*;
import java.awt.event.*;
+import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
import java.util.List;
if (element == null) return null;
URL url = (URL)key;
Image inMemory = myManager.getElementImage(element, url.toExternalForm());
- return inMemory != null ? inMemory : Toolkit.getDefaultToolkit().createImage(url);
+ if (inMemory != null) {
+ return inMemory;
+ }
+
+ Url parsedUrl = Urls.parseEncoded(url.toExternalForm());
+ BuiltInServerManager builtInServerManager = BuiltInServerManager.getInstance();
+ if (parsedUrl != null && builtInServerManager.isOnBuiltInWebServer(parsedUrl)) {
+ try {
+ url = new URL(builtInServerManager.addAuthToken(parsedUrl).toExternalForm());
+ }
+ catch (MalformedURLException e) {
+ LOGGER.warn(e);
+ }
+ }
+ return Toolkit.getDefaultToolkit().createImage(url);
}
};