Browse Source

Refactor ?debug detection (#8923)

This fixes #8923 by not looking at the uri fragment at all. Also prevents e.g. ?nodebugwindow or ?mode=debug from opening the debug window.

svn changeset:23898/svn branch:6.8
tags/7.0.0.alpha3
Leif Åstrand 12 years ago
parent
commit
b18d9f7bb2

+ 13
- 10
src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java View File

@@ -16,6 +16,7 @@ import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArrayString;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.vaadin.terminal.gwt.client.ui.VUnknownComponent;

public class ApplicationConfiguration implements EntryPoint {
@@ -496,12 +497,15 @@ public class ApplicationConfiguration implements EntryPoint {
*
* @return true if client side is currently been debugged
*/
public native static boolean isDebugMode()
public static boolean isDebugMode() {
return isDebugAvailable()
&& Window.Location.getParameter("debug") != null;
}

private native static boolean isDebugAvailable()
/*-{
if($wnd.vaadin.debug) {
var parameters = $wnd.location.search;
var re = /debug[^\/]*$/;
return re.test(parameters);
return true;
} else {
return false;
}
@@ -512,11 +516,10 @@ public class ApplicationConfiguration implements EntryPoint {
*
* @return <code>true</code> if debug logging should be quiet
*/
public native static boolean isQuietDebugMode()
/*-{
var uri = $wnd.location;
var re = /debug=q[^\/]*$/;
return re.test(uri);
}-*/;
public static boolean isQuietDebugMode() {
String debugParameter = Window.Location.getParameter("debug");
return isDebugAvailable() && debugParameter != null
&& debugParameter.startsWith("q");
}

}

+ 71
- 1
tests/testbench/com/vaadin/tests/debug/DebugWindowPresent.html View File

@@ -13,7 +13,17 @@
</thead><tbody>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?restartApplication&amp;debug</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?restartApplication&amp;debug&amp;otherparam</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?debug&amp;restartApplication</td>
<td></td>
</tr>
<tr>
@@ -31,6 +41,66 @@
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?restartApplication&amp;mode=debug</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?nodebug&amp;restartApplication</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?restartApplication&amp;nodebug</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?restartApplication&amp;debug=quiet</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?debug=quiet&amp;restartApplication</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.debug.DebugWindowPresent?restartApplication&amp;debug=quiet#/asdf</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestsdebugDebugWindowPresent::Root/VDebugConsole[0]</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>

Loading…
Cancel
Save