diff options
34 files changed, 2971 insertions, 798 deletions
diff --git a/WebContent/VAADIN/themes/base/datefield/datefield.scss b/WebContent/VAADIN/themes/base/datefield/datefield.scss index e6309aadd3..21f544cb72 100644 --- a/WebContent/VAADIN/themes/base/datefield/datefield.scss +++ b/WebContent/VAADIN/themes/base/datefield/datefield.scss @@ -42,7 +42,7 @@ .#{$primaryStyleName}-calendarpanel-weeknumber { color: #999; border-right: 1px solid #ddd; - font-size: 0.9em; + font-size: 11.7px; } .#{$primaryStyleName}-calendarpanel-day, .#{$primaryStyleName}-calendarpanel-day-today { diff --git a/WebContent/VAADIN/themes/base/menubar/menubar.scss b/WebContent/VAADIN/themes/base/menubar/menubar.scss index 732f3d3444..b5f0752c9b 100644 --- a/WebContent/VAADIN/themes/base/menubar/menubar.scss +++ b/WebContent/VAADIN/themes/base/menubar/menubar.scss @@ -48,7 +48,7 @@ right: 0; width: 1em; height: 1em; - font-size: 0.9em; + font-size: 11.7px; } .#{$primaryStyleName}-menuitem-disabled, .#{$primaryStyleName} span.#{$primaryStyleName}-menuitem-disabled:hover, diff --git a/WebContent/VAADIN/themes/chameleon/common/common.scss b/WebContent/VAADIN/themes/chameleon/common/common.scss index 050d100673..2f3dc53ef3 100644 --- a/WebContent/VAADIN/themes/chameleon/common/common.scss +++ b/WebContent/VAADIN/themes/chameleon/common/common.scss @@ -25,7 +25,7 @@ $chameleon-line-height: 1.4; border: 1px solid #c0c0b9; padding: 1px 5px; color: #222; - font-size: 0.9em; + font-size: 11.7px; line-height: normal; -webkit-border-radius: 4px; -moz-border-radius: 4px; diff --git a/WebContent/VAADIN/themes/chameleon/components/button/button.scss b/WebContent/VAADIN/themes/chameleon/components/button/button.scss index 75970cdac7..cfb5ab2917 100644 --- a/WebContent/VAADIN/themes/chameleon/components/button/button.scss +++ b/WebContent/VAADIN/themes/chameleon/components/button/button.scss @@ -79,7 +79,7 @@ div.#{$primaryStyleName}-down .#{$primaryStyleName}-wrap { * Big ******************************************************************************/ .#{$primaryStyleName}-big { - font-size: 1.2em; + font-size: 15.6px; } @@ -87,7 +87,7 @@ div.#{$primaryStyleName}-down .#{$primaryStyleName}-wrap { * Small ******************************************************************************/ .#{$primaryStyleName}-small { - font-size: 0.85em; + font-size: 11.05px; font-weight: normal; } diff --git a/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss b/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss index bd9c89bb33..e63e96417c 100644 --- a/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss +++ b/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss @@ -69,7 +69,7 @@ input.#{$primaryStyleName}-textfield { margin: 0; padding: 0; height: auto !important; - font-size: 0.9em; + font-size: 11.7px; } .#{$primaryStyleName}-month .#{$primaryStyleName}-textfield { @@ -134,7 +134,7 @@ td.#{$primaryStyleName}-calendarpanel-nextyear { } .#{$primaryStyleName}-calendarpanel-header button { - font-size: 1em; + font-size: 13px; line-height: normal; width: 100%; padding: 0 .8em; @@ -205,7 +205,7 @@ td.#{$primaryStyleName}-calendarpanel-nextyear { .#{$primaryStyleName}-calendarpanel-weekdays strong { display: block; text-align: right; - font-size: 0.8em; + font-size: 10.4px; padding: .3em .5em .35em 0; height: 1.1em; color: #fff; @@ -272,7 +272,7 @@ td.#{$primaryStyleName}-calendarpanel-nextyear { .#{$primaryStyleName}-calendarpanel-time select { padding: 0; - font-size: 0.9em; + font-size: 11.7px; margin: 0; } diff --git a/WebContent/VAADIN/themes/chameleon/components/label/label.scss b/WebContent/VAADIN/themes/chameleon/components/label/label.scss index 5952ee2802..736c29f075 100644 --- a/WebContent/VAADIN/themes/chameleon/components/label/label.scss +++ b/WebContent/VAADIN/themes/chameleon/components/label/label.scss @@ -18,25 +18,25 @@ .#{$primaryStyleName}-h1, .#{$primaryStyleName} h1 { padding: .75em 0 .5em 0; - font-size: 1.85em; + font-size: 24.05px; } .#{$primaryStyleName}-h2, .#{$primaryStyleName} h2 { padding: .67em 0 .33em 0; - font-size: 1.4em; + font-size: 18.2px; } .#{$primaryStyleName}-h3, .#{$primaryStyleName} h3 { margin: .71em 0 .29em 0; - font-size: 1.1em; + font-size: 14.3px; } .#{$primaryStyleName}-h4, .#{$primaryStyleName} h4 { padding: .23em 0; - font-size: 1em; + font-size: 13px; } @@ -44,7 +44,7 @@ * Big ******************************************************************************/ .#{$primaryStyleName}-big { - font-size: 1.2em; + font-size: 15.6px; } @@ -52,7 +52,7 @@ * Small ******************************************************************************/ .#{$primaryStyleName}-small { - font-size: 0.9em; + font-size: 11.7px; line-height: 1.3; opacity: .8; filter: alpha(opacity=80); @@ -63,7 +63,7 @@ * Tiny ******************************************************************************/ .#{$primaryStyleName}-tiny { - font-size: 0.85em; + font-size: 11.05px; line-height: 1.2; opacity: .7; filter: alpha(opacity=70); diff --git a/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss b/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss index 1218b476f5..fbf78d40c4 100644 --- a/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss +++ b/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss @@ -4,7 +4,7 @@ div.#{$primaryStyleName} { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; - font-size: 16px; + font-size: 16px; -webkit-box-shadow: 0 2px 5px rgba(0,0,0,.7); -moz-box-shadow: 0 2px 5px rgba(0,0,0,.7); box-shadow: 0 2px 5px rgba(0,0,0,.7); diff --git a/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss b/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss index bc6a8f555c..bae827b484 100644 --- a/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss +++ b/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss @@ -2,7 +2,7 @@ .#{$primaryStyleName}-caption { background: #b9dcff; - font-size: 1.2em; + font-size: 15.6px; border: 1px solid #b3b3b3; border-bottom: none; padding: .2em .6em; @@ -84,7 +84,7 @@ div.#{$primaryStyleName}-content-light { -webkit-border-radius: 3px; -moz-border-radius: 3px; margin: 1px 0; - font-size: 1em; + font-size: 13px; line-height: 1.2; padding: .3em .6em; } diff --git a/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss b/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss index 7810e818bf..7dac94fe9d 100644 --- a/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss +++ b/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss @@ -53,11 +53,11 @@ } &.v-app .#{$primaryStyleName}-suggestpopup-small td { - font-size: .85em; + font-size: 11.05px; } &.v-app .#{$primaryStyleName}-suggestpopup-big td { - font-size: 1.1em; + font-size: 14.3px; } .#{$primaryStyleName}-big .#{$primaryStyleName}-button { @@ -112,7 +112,7 @@ } .#{$primaryStyleName}-status { - font-size: .85em; + font-size: 11.05px; margin: 1px 0 -3px; user-select: none; -webkit-user-select: none; @@ -126,19 +126,19 @@ } .#{$primaryStyleName}-suggestpopup-small .#{$primaryStyleName}-status { - font-size: .8em; + font-size: 10.4px; } .#{$primaryStyleName}-suggestpopup-big .#{$primaryStyleName}-status { - font-size: .9em; + font-size: 11.7px; } .v-select-small .v-select-select { - font-size: 0.8em; + font-size: 10.4px; } .v-select-big .v-select-select { - font-size: 1.2em; + font-size: 15.6px; } diff --git a/WebContent/VAADIN/themes/chameleon/components/table/table.scss b/WebContent/VAADIN/themes/chameleon/components/table/table.scss index b3ebf44d63..41f6b2edba 100644 --- a/WebContent/VAADIN/themes/chameleon/components/table/table.scss +++ b/WebContent/VAADIN/themes/chameleon/components/table/table.scss @@ -96,7 +96,7 @@ div.#{$primaryStyleName}-focus-slot-right { } .#{$primaryStyleName}-scrollposition { - font-size: 0.9em; + font-size: 11.7px; opacity: .85; filter: alpha(opacity=85); } @@ -106,7 +106,7 @@ div.#{$primaryStyleName}-focus-slot-right { ******************************************************************************/ .#{$primaryStyleName}-small .#{$primaryStyleName}-caption-container, .#{$primaryStyleName}-small .#{$primaryStyleName}-body { - font-size: 0.85em; + font-size: 11.05px; } .#{$primaryStyleName}-small .#{$primaryStyleName}-resizer, @@ -124,7 +124,7 @@ div.#{$primaryStyleName}-focus-slot-right { ******************************************************************************/ .#{$primaryStyleName}-big .#{$primaryStyleName}-caption-container, .#{$primaryStyleName}-big .#{$primaryStyleName}-body { - font-size: 1.2em; + font-size: 15.6px; } .#{$primaryStyleName}-big .#{$primaryStyleName}-caption-container { diff --git a/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss b/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss index 860d91a6e7..787a4a4f91 100644 --- a/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss +++ b/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss @@ -74,7 +74,7 @@ textarea.v-textarea-readonly { .v-datefield-small .v-datefield-textfield, .v-datefield-small .v-datefield-button, .v-filterselect-small .v-filterselect-input { - font-size: 0.85em; + font-size: 11.05px; } @@ -86,7 +86,7 @@ textarea.v-textarea-readonly { .v-datefield-big .v-datefield-textfield, .v-datefield-big .v-datefield-button, .v-filterselect-big .v-filterselect-input { - font-size: 1.2em; + font-size: 15.6px; } input.#{$primaryStyleName}-big[type=text], diff --git a/WebContent/VAADIN/themes/chameleon/compound/compound.scss b/WebContent/VAADIN/themes/chameleon/compound/compound.scss index b3f0e72f8f..43a8717dbb 100644 --- a/WebContent/VAADIN/themes/chameleon/compound/compound.scss +++ b/WebContent/VAADIN/themes/chameleon/compound/compound.scss @@ -66,7 +66,7 @@ .sidebar-menu { .v-label { - font-size: 0.85em; + font-size: 11.05px; text-transform: uppercase; font-weight: bold; letter-spacing: 0.03em; diff --git a/WebContent/VAADIN/themes/liferay/button/button.scss b/WebContent/VAADIN/themes/liferay/button/button.scss index 9835628d31..c604f26af9 100644 --- a/WebContent/VAADIN/themes/liferay/button/button.scss +++ b/WebContent/VAADIN/themes/liferay/button/button.scss @@ -28,7 +28,7 @@ .v-button .v-button-wrap, .v-disabled.v-button .v-button-wrap { display: block; - font-size: 11px; + font-size: $font-size; font-weight: bold; border: 1px solid #c8c9ca; border-right-color: #9e9e9e; @@ -75,7 +75,7 @@ button.v-nativebutton-link-pressed, border-style: none; background: transparent; padding: 0; - font-size: inherit; + font-size: $font-size; -webkit-box-shadow: none; -mox-box-shadow: none; -webkit-border-radius: 0; diff --git a/WebContent/VAADIN/themes/runo/common/common.scss b/WebContent/VAADIN/themes/runo/common/common.scss index 9d4b4a4858..36447d9593 100644 --- a/WebContent/VAADIN/themes/runo/common/common.scss +++ b/WebContent/VAADIN/themes/runo/common/common.scss @@ -4,8 +4,8 @@ background: #e9eced url(img/main-bg.png) repeat-x; font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", geneva, helvetica, arial, tahoma, verdana, sans-serif; color: #464f52; - font-size: 13px; - line-height: 18px; + font-size: $font-size; + line-height: $line-height; } /* Global font styles */ &.v-app, @@ -32,7 +32,7 @@ .v-drag-element { font-family: "Trebuchet MS", geneva, helvetica, arial, tahoma, verdana, sans-serif; color: #464f52; - font-size: 13px; + font-size: $font-size; } &.v-app select, .v-window select { diff --git a/WebContent/VAADIN/themes/runo/label/label.scss b/WebContent/VAADIN/themes/runo/label/label.scss index 926f1d2cc3..50792d61a1 100644 --- a/WebContent/VAADIN/themes/runo/label/label.scss +++ b/WebContent/VAADIN/themes/runo/label/label.scss @@ -47,7 +47,7 @@ } .#{$primaryStyleName}-small { - font-size: .87em; + font-size: 11.31px; line-height: 1.4; color: #707679; } diff --git a/WebContent/VAADIN/themes/runo/notification/notification.scss b/WebContent/VAADIN/themes/runo/notification/notification.scss index af0a2edc32..b8ffecf243 100644 --- a/WebContent/VAADIN/themes/runo/notification/notification.scss +++ b/WebContent/VAADIN/themes/runo/notification/notification.scss @@ -10,7 +10,7 @@ -webkit-border-radius: 3px; border-radius: 3px; overflow: hidden; - font-size: 1.2em; + font-size: 15.6px; -webkit-box-shadow: 0 3px 10px rgba(0,0,0,.3); -moz-box-shadow: 0 3px 10px rgba(0,0,0,.3); margin: 10px; @@ -46,7 +46,7 @@ .#{$primaryStyleName}-tray h1 { display: block; font-weight: bold; - font-size: 0.9em; + font-size: 11.7px; line-height: 1; background: #3b4245; padding: 2px 10px; @@ -57,14 +57,14 @@ } .#{$primaryStyleName}-tray p { display: block; - font-size: 0.8em; + font-size: 10.4px; line-height: 1.2; margin: 4px 10px 5px 10px; color: #e4e7ea; } .#{$primaryStyleName}-system { background-color: #ff0a0a; - font-size: .9em; + font-size: 11.7px; padding: 14px 32px; } diff --git a/client-compiler/src/com/vaadin/sass/linker/SassLinker.java b/client-compiler/src/com/vaadin/sass/linker/SassLinker.java index a568ca9672..88178ba1d0 100644 --- a/client-compiler/src/com/vaadin/sass/linker/SassLinker.java +++ b/client-compiler/src/com/vaadin/sass/linker/SassLinker.java @@ -65,6 +65,10 @@ public class SassLinker extends AbstractLinker { // Create the temporary files. String partialPath = resource.getPartialPath(); if (partialPath.endsWith(".scss")) { + // In my opinion, the SCSS file does not need to be + // output to the web content folder, as they can't + // be used there + toReturn.remove(resource); String fileName = partialPath; File path = tempFolder; @@ -89,11 +93,6 @@ public class SassLinker extends AbstractLinker { // Store the file info for the compilation scssFiles.add(new FileInfo(tempfile, partialPath)); - - // In my opinion, the SCSS file does not need to be - // output to the web content folder, as they can't - // be used there - toReturn.remove(resource); } else { logger.log(TreeLogger.WARN, "Duplicate file " + tempfile.getPath()); @@ -180,7 +179,7 @@ public class SassLinker extends AbstractLinker { File tempDir = new File(baseTempPath + File.separator + partialPath); if (!tempDir.exists()) { - tempDir.mkdir(); + tempDir.mkdirs(); } tempDir.deleteOnExit(); diff --git a/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java b/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java index ac1ae72877..8dfba0649f 100644 --- a/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java +++ b/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java @@ -283,7 +283,7 @@ public class VDragAndDropManager { } /* Singleton */ - private VDragAndDropManager() { + protected VDragAndDropManager() { } private NativePreviewHandler defaultDragAndDropEventHandler = new DefaultDragAndDropEventHandler(); diff --git a/server/src/com/vaadin/data/util/HierarchicalContainer.java b/server/src/com/vaadin/data/util/HierarchicalContainer.java index 8338e3c190..6505a96097 100644 --- a/server/src/com/vaadin/data/util/HierarchicalContainer.java +++ b/server/src/com/vaadin/data/util/HierarchicalContainer.java @@ -23,6 +23,8 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import com.vaadin.data.Container; import com.vaadin.data.Item; @@ -79,7 +81,12 @@ public class HierarchicalContainer extends IndexedContainer implements */ private boolean includeParentsWhenFiltering = true; - private boolean contentChangedEventsDisabled = false; + /** + * Counts how many nested contents change disable calls are in progress. + * + * Pending events are only fired when the counter reaches zero again. + */ + private int contentChangedEventsDisabledCount = 0; private boolean contentsChangedEventPending; @@ -401,21 +408,24 @@ public class HierarchicalContainer extends IndexedContainer implements @Override public Object addItem() { disableContentsChangeEvents(); - final Object itemId = super.addItem(); - if (itemId == null) { - return null; - } + try { + final Object itemId = super.addItem(); + if (itemId == null) { + return null; + } - if (!roots.contains(itemId)) { - roots.add(itemId); - if (filteredRoots != null) { - if (passesFilters(itemId)) { - filteredRoots.add(itemId); + if (!roots.contains(itemId)) { + roots.add(itemId); + if (filteredRoots != null) { + if (passesFilters(itemId)) { + filteredRoots.add(itemId); + } } } + return itemId; + } finally { + enableAndFireContentsChangeEvents(); } - enableAndFireContentsChangeEvents(); - return itemId; } @Override @@ -429,19 +439,28 @@ public class HierarchicalContainer extends IndexedContainer implements } private boolean contentsChangeEventsOn() { - return !contentChangedEventsDisabled; + return contentChangedEventsDisabledCount == 0; } private void disableContentsChangeEvents() { - contentChangedEventsDisabled = true; + contentChangedEventsDisabledCount++; } private void enableAndFireContentsChangeEvents() { - contentChangedEventsDisabled = false; - if (contentsChangedEventPending) { - fireItemSetChange(); + if (contentChangedEventsDisabledCount <= 0) { + getLogger() + .log(Level.WARNING, + "Mismatched calls to disable and enable contents change events in HierarchicalContainer"); + contentChangedEventsDisabledCount = 0; + } else { + contentChangedEventsDisabledCount--; + } + if (contentChangedEventsDisabledCount == 0) { + if (contentsChangedEventPending) { + fireItemSetChange(); + } + contentsChangedEventPending = false; } - contentsChangedEventPending = false; } /* @@ -452,20 +471,23 @@ public class HierarchicalContainer extends IndexedContainer implements @Override public Item addItem(Object itemId) { disableContentsChangeEvents(); - final Item item = super.addItem(itemId); - if (item == null) { - return null; - } + try { + final Item item = super.addItem(itemId); + if (item == null) { + return null; + } - roots.add(itemId); + roots.add(itemId); - if (filteredRoots != null) { - if (passesFilters(itemId)) { - filteredRoots.add(itemId); + if (filteredRoots != null) { + if (passesFilters(itemId)) { + filteredRoots.add(itemId); + } } + return item; + } finally { + enableAndFireContentsChangeEvents(); } - enableAndFireContentsChangeEvents(); - return item; } /* @@ -476,25 +498,28 @@ public class HierarchicalContainer extends IndexedContainer implements @Override public boolean removeAllItems() { disableContentsChangeEvents(); - final boolean success = super.removeAllItems(); - - if (success) { - roots.clear(); - parent.clear(); - children.clear(); - noChildrenAllowed.clear(); - if (filteredRoots != null) { - filteredRoots = null; - } - if (filteredChildren != null) { - filteredChildren = null; - } - if (filteredParent != null) { - filteredParent = null; + try { + final boolean success = super.removeAllItems(); + + if (success) { + roots.clear(); + parent.clear(); + children.clear(); + noChildrenAllowed.clear(); + if (filteredRoots != null) { + filteredRoots = null; + } + if (filteredChildren != null) { + filteredChildren = null; + } + if (filteredParent != null) { + filteredParent = null; + } } + return success; + } finally { + enableAndFireContentsChangeEvents(); } - enableAndFireContentsChangeEvents(); - return success; } /* @@ -505,68 +530,71 @@ public class HierarchicalContainer extends IndexedContainer implements @Override public boolean removeItem(Object itemId) { disableContentsChangeEvents(); - final boolean success = super.removeItem(itemId); + try { + final boolean success = super.removeItem(itemId); - if (success) { - // Remove from roots if this was a root - if (roots.remove(itemId)) { + if (success) { + // Remove from roots if this was a root + if (roots.remove(itemId)) { - // If filtering is enabled we might need to remove it from the - // filtered list also - if (filteredRoots != null) { - filteredRoots.remove(itemId); + // If filtering is enabled we might need to remove it from + // the filtered list also + if (filteredRoots != null) { + filteredRoots.remove(itemId); + } } - } - // Clear the children list. Old children will now become root nodes - LinkedList<Object> childNodeIds = children.remove(itemId); - if (childNodeIds != null) { - if (filteredChildren != null) { - filteredChildren.remove(itemId); - } - for (Object childId : childNodeIds) { - setParent(childId, null); + // Clear the children list. Old children will now become root + // nodes + LinkedList<Object> childNodeIds = children.remove(itemId); + if (childNodeIds != null) { + if (filteredChildren != null) { + filteredChildren.remove(itemId); + } + for (Object childId : childNodeIds) { + setParent(childId, null); + } } - } - // Parent of the item that we are removing will contain the item id - // in its children list - final Object parentItemId = parent.get(itemId); - if (parentItemId != null) { - final LinkedList<Object> c = children.get(parentItemId); - if (c != null) { - c.remove(itemId); + // Parent of the item that we are removing will contain the item + // id in its children list + final Object parentItemId = parent.get(itemId); + if (parentItemId != null) { + final LinkedList<Object> c = children.get(parentItemId); + if (c != null) { + c.remove(itemId); - if (c.isEmpty()) { - children.remove(parentItemId); - } + if (c.isEmpty()) { + children.remove(parentItemId); + } - // Found in the children list so might also be in the - // filteredChildren list - if (filteredChildren != null) { - LinkedList<Object> f = filteredChildren - .get(parentItemId); - if (f != null) { - f.remove(itemId); - if (f.isEmpty()) { - filteredChildren.remove(parentItemId); + // Found in the children list so might also be in the + // filteredChildren list + if (filteredChildren != null) { + LinkedList<Object> f = filteredChildren + .get(parentItemId); + if (f != null) { + f.remove(itemId); + if (f.isEmpty()) { + filteredChildren.remove(parentItemId); + } } } } } + parent.remove(itemId); + if (filteredParent != null) { + // Item id no longer has a parent as the item id is not in + // the container. + filteredParent.remove(itemId); + } + noChildrenAllowed.remove(itemId); } - parent.remove(itemId); - if (filteredParent != null) { - // Item id no longer has a parent as the item id is not in the - // container. - filteredParent.remove(itemId); - } - noChildrenAllowed.remove(itemId); - } - - enableAndFireContentsChangeEvents(); - return success; + return success; + } finally { + enableAndFireContentsChangeEvents(); + } } /** @@ -579,9 +607,12 @@ public class HierarchicalContainer extends IndexedContainer implements */ public boolean removeItemRecursively(Object itemId) { disableContentsChangeEvents(); - boolean removeItemRecursively = removeItemRecursively(this, itemId); - enableAndFireContentsChangeEvents(); - return removeItemRecursively; + try { + boolean removeItemRecursively = removeItemRecursively(this, itemId); + return removeItemRecursively; + } finally { + enableAndFireContentsChangeEvents(); + } } /** @@ -821,4 +852,8 @@ public class HierarchicalContainer extends IndexedContainer implements return super.passesFilters(itemId); } } + + private static final Logger getLogger() { + return Logger.getLogger(HierarchicalContainer.class.getName()); + } } diff --git a/server/src/com/vaadin/server/VaadinServlet.java b/server/src/com/vaadin/server/VaadinServlet.java index b099767b4f..fbb3750b3b 100644 --- a/server/src/com/vaadin/server/VaadinServlet.java +++ b/server/src/com/vaadin/server/VaadinServlet.java @@ -878,6 +878,23 @@ public class VaadinServlet extends HttpServlet implements Constants { response.setHeader("Cache-Control", cacheControl); } + writeStaticResourceResponse(request, response, resourceUrl); + } + + /** + * Writes the contents of the given resourceUrl in the response. Can be + * overridden to add/modify response headers and similar. + * + * @param request + * The request for the resource + * @param response + * The response + * @param resourceUrl + * The url to send + * @throws IOException + */ + protected void writeStaticResourceResponse(HttpServletRequest request, + HttpServletResponse response, URL resourceUrl) throws IOException { // Write the resource to the client. final OutputStream os = response.getOutputStream(); final byte buffer[] = new byte[DEFAULT_BUFFER_SIZE]; diff --git a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java index 4b98815a4b..b259e7b69f 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java +++ b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java @@ -44,6 +44,7 @@ import com.vaadin.sass.internal.tree.MixinNode; import com.vaadin.sass.internal.tree.NestPropertiesNode; import com.vaadin.sass.internal.tree.Node; import com.vaadin.sass.internal.tree.RuleNode; +import com.vaadin.sass.internal.tree.SimpleNode; import com.vaadin.sass.internal.tree.VariableNode; import com.vaadin.sass.internal.tree.WhileNode; import com.vaadin.sass.internal.tree.controldirective.EachDefNode; @@ -293,6 +294,13 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler { nodeStack.peek().appendChild(node); } + // rule that is passed to the output as-is (except variable value + // substitution) - no children + public void unrecognizedRule(String text) { + SimpleNode node = new SimpleNode(text); + nodeStack.peek().appendChild(node); + } + @Override public void endSelector(SelectorList arg0) throws CSSException { // TODO Auto-generated method stub diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java index d2575e3764..ea2f261475 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java @@ -567,6 +567,12 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } break; + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case IF_SYM: ifDirective(); break; @@ -605,9 +611,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if ((ret == null) || (ret.length() == 0)) { {if (true) return;} } - reportWarningSkipText(l, ret); if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(l, ret); } } label_8: @@ -803,6 +810,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { case COLON: case INTERPOLATION: case NONASCII: + case DEBUG_SYM: + case WARN_SYM: case STRING: case IDENT: case NUMBER: @@ -826,6 +835,12 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { break label_15; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case LBRACKET: case ANY: case PARENT: @@ -1210,9 +1225,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { String ret; n = jj_consume_token(ATKEYWORD); ret=skipStatement(); - reportWarningSkipText(getLocator(), ret); if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(getLocator(), ret); } } @@ -1302,9 +1318,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { String ret; Locator loc = getLocator(); ret=skipStatement(); - reportWarningSkipText(loc, ret); if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(loc, ret); } } @@ -1417,7 +1434,8 @@ char connector = ' '; Token n; String name = ""; String value = ""; - n = jj_consume_token(MICROSOFT_RULE); + // This is not really taking the syntax of filter rules into account + n = jj_consume_token(MICROSOFT_RULE); label_36: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -1443,6 +1461,14 @@ char connector = ' '; n = jj_consume_token(NUMBER); value += n.image; break; + case STRING: + n = jj_consume_token(STRING); + value += n.image; + break; + case COMMA: + n = jj_consume_token(COMMA); + value += n.image; + break; case INTERPOLATION: n = jj_consume_token(INTERPOLATION); value += n.image; @@ -1480,10 +1506,12 @@ char connector = ' '; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: case EQ: + case COMMA: case DOT: case RPARAN: case COLON: case INTERPOLATION: + case STRING: case IDENT: case NUMBER: case FUNCTION: @@ -1606,6 +1634,8 @@ char connector = ' '; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EACH_SYM: case IF_SYM: case EXTEND_SYM: @@ -1657,6 +1687,8 @@ char connector = ' '; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -2485,6 +2517,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EXTEND_SYM: case IDENT: case VARIABLE: @@ -2515,6 +2549,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -2631,6 +2667,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EXTEND_SYM: case IDENT: case VARIABLE: @@ -2661,6 +2699,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -2829,6 +2869,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EXTEND_SYM: case IDENT: case VARIABLE: @@ -2865,6 +2907,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -3019,6 +3063,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EACH_SYM: case IF_SYM: case EXTEND_SYM: @@ -3065,6 +3111,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -3955,10 +4003,42 @@ boolean isPseudoElement = false; throw new Error("Missing return statement in function"); } - void debugDirective() throws ParseException { + final public void debugDirective() throws ParseException { + jj_consume_token(DEBUG_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. + System.out.println(content); + label_127: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[182] = jj_gen; + break label_127; + } + jj_consume_token(S); + } } - void warnDirective() throws ParseException { + final public void warnDirective() throws ParseException { + jj_consume_token(WARN_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. + System.err.println(content); + label_128: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[183] = jj_gen; + break label_128; + } + jj_consume_token(S); + } } final public Node forDirective() throws ParseException { @@ -3981,20 +4061,20 @@ boolean isPseudoElement = false; exclusive = false; break; default: - jj_la1[182] = jj_gen; + jj_la1[184] = jj_gen; jj_consume_token(-1); throw new ParseException(); } to = skipStatementUntilLeftBrace(); - label_127: + label_129: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[183] = jj_gen; - break label_127; + jj_la1[185] = jj_gen; + break label_129; } jj_consume_token(S); } @@ -4015,31 +4095,31 @@ boolean isPseudoElement = false; final public void extendDirective() throws ParseException { ArrayList<String> list; jj_consume_token(EXTEND_SYM); - label_128: + label_130: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[184] = jj_gen; - break label_128; + jj_la1[186] = jj_gen; + break label_130; } jj_consume_token(S); } list = selectorList(); - label_129: + label_131: while (true) { jj_consume_token(SEMICOLON); - label_130: + label_132: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[185] = jj_gen; - break label_130; + jj_la1[187] = jj_gen; + break label_132; } jj_consume_token(S); } @@ -4048,8 +4128,8 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[186] = jj_gen; - break label_129; + jj_la1[188] = jj_gen; + break label_131; } } documentHandler.extendDirective(list); @@ -4076,28 +4156,28 @@ boolean isPseudoElement = false; LexicalUnit exp; name = property(); jj_consume_token(COLON); - label_131: + label_133: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[187] = jj_gen; - break label_131; + jj_la1[189] = jj_gen; + break label_133; } jj_consume_token(S); } jj_consume_token(LBRACE); - label_132: + label_134: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[188] = jj_gen; - break label_132; + jj_la1[190] = jj_gen; + break label_134; } jj_consume_token(S); } @@ -4107,29 +4187,29 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[189] = jj_gen; + jj_la1[191] = jj_gen; ; } - label_133: + label_135: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[190] = jj_gen; - break label_133; + jj_la1[192] = jj_gen; + break label_135; } jj_consume_token(SEMICOLON); - label_134: + label_136: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[191] = jj_gen; - break label_134; + jj_la1[193] = jj_gen; + break label_136; } jj_consume_token(S); } @@ -4138,21 +4218,21 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[192] = jj_gen; + jj_la1[194] = jj_gen; ; } } jj_consume_token(RBRACE); documentHandler.endNestedProperties(name); - label_135: + label_137: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[193] = jj_gen; - break label_135; + jj_la1[195] = jj_gen; + break label_137; } jj_consume_token(S); } @@ -4167,11 +4247,17 @@ LexicalUnit exp; styleRule(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case IDENT: declarationOrNestedProperties(); break; default: - jj_la1[194] = jj_gen; + jj_la1[196] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4215,15 +4301,15 @@ LexicalUnit exp; name = property(); save = token; jj_consume_token(COLON); - label_136: + label_138: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[195] = jj_gen; - break label_136; + jj_la1[197] = jj_gen; + break label_138; } jj_consume_token(S); } @@ -4262,7 +4348,7 @@ LexicalUnit exp; important = prio(); break; default: - jj_la1[196] = jj_gen; + jj_la1[198] = jj_gen; ; } Token next = getToken(1); @@ -4280,15 +4366,15 @@ LexicalUnit exp; break; case LBRACE: jj_consume_token(LBRACE); - label_137: + label_139: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[197] = jj_gen; - break label_137; + jj_la1[199] = jj_gen; + break label_139; } jj_consume_token(S); } @@ -4298,29 +4384,29 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[198] = jj_gen; + jj_la1[200] = jj_gen; ; } - label_138: + label_140: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[199] = jj_gen; - break label_138; + jj_la1[201] = jj_gen; + break label_140; } jj_consume_token(SEMICOLON); - label_139: + label_141: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[200] = jj_gen; - break label_139; + jj_la1[202] = jj_gen; + break label_141; } jj_consume_token(S); } @@ -4329,27 +4415,27 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[201] = jj_gen; + jj_la1[203] = jj_gen; ; } } jj_consume_token(RBRACE); - label_140: + label_142: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[202] = jj_gen; - break label_140; + jj_la1[204] = jj_gen; + break label_142; } jj_consume_token(S); } documentHandler.endNestedProperties(name); break; default: - jj_la1[203] = jj_gen; + jj_la1[205] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4399,15 +4485,15 @@ LexicalUnit exp; name = property(); save = token; jj_consume_token(COLON); - label_141: + label_143: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[204] = jj_gen; - break label_141; + jj_la1[206] = jj_gen; + break label_143; } jj_consume_token(S); } @@ -4417,7 +4503,7 @@ LexicalUnit exp; important = prio(); break; default: - jj_la1[205] = jj_gen; + jj_la1[207] = jj_gen; ; } documentHandler.property(name, exp, important); @@ -4460,15 +4546,15 @@ LexicalUnit exp; */ final public boolean prio() throws ParseException { jj_consume_token(IMPORTANT_SYM); - label_142: + label_144: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[206] = jj_gen; - break label_142; + jj_la1[208] = jj_gen; + break label_144; } jj_consume_token(S); } @@ -4478,15 +4564,15 @@ LexicalUnit exp; final public boolean guarded() throws ParseException { jj_consume_token(GUARDED_SYM); - label_143: + label_145: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[207] = jj_gen; - break label_143; + jj_la1[209] = jj_gen; + break label_145; } jj_consume_token(S); } @@ -4502,15 +4588,15 @@ LexicalUnit exp; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DIV: n = jj_consume_token(DIV); - label_144: + label_146: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[208] = jj_gen; - break label_144; + jj_la1[210] = jj_gen; + break label_146; } jj_consume_token(S); } @@ -4520,15 +4606,15 @@ LexicalUnit exp; break; case COMMA: n = jj_consume_token(COMMA); - label_145: + label_147: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[209] = jj_gen; - break label_145; + jj_la1[211] = jj_gen; + break label_147; } jj_consume_token(S); } @@ -4537,7 +4623,7 @@ LexicalUnit exp; prev);} break; default: - jj_la1[210] = jj_gen; + jj_la1[212] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4552,12 +4638,12 @@ LexicalUnit exp; char op; first = term(null); res = first; - label_146: + label_148: while (true) { if (jj_2_12(2)) { ; } else { - break label_146; + break label_148; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: @@ -4565,7 +4651,7 @@ LexicalUnit exp; res = operator(res); break; default: - jj_la1[211] = jj_gen; + jj_la1[213] = jj_gen; ; } res = term(res); @@ -4588,7 +4674,7 @@ LexicalUnit exp; {if (true) return '+';} break; default: - jj_la1[212] = jj_gen; + jj_la1[214] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4636,7 +4722,7 @@ LexicalUnit exp; result = variableTerm(prev); break; default: - jj_la1[213] = jj_gen; + jj_la1[215] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4687,7 +4773,7 @@ LexicalUnitImpl result = null; op = unaryOperator(); break; default: - jj_la1[214] = jj_gen; + jj_la1[216] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -4792,7 +4878,7 @@ LexicalUnitImpl result = null; result = function(op, prev); break; default: - jj_la1[215] = jj_gen; + jj_la1[217] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4819,7 +4905,7 @@ LexicalUnitImpl result = null; s+="."; break; default: - jj_la1[216] = jj_gen; + jj_la1[218] = jj_gen; ; } n = jj_consume_token(IDENT); @@ -4866,25 +4952,25 @@ LexicalUnitImpl result = null; result = unicode(prev); break; default: - jj_la1[217] = jj_gen; + jj_la1[219] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[218] = jj_gen; + jj_la1[220] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - label_147: + label_149: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[219] = jj_gen; - break label_147; + jj_la1[221] = jj_gen; + break label_149; } jj_consume_token(S); } @@ -4900,15 +4986,15 @@ LexicalUnitImpl result = null; Token n; LexicalUnit params = null; n = jj_consume_token(FUNCTION); - label_148: + label_150: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[220] = jj_gen; - break label_148; + jj_la1[222] = jj_gen; + break label_150; } jj_consume_token(S); } @@ -4950,7 +5036,7 @@ LexicalUnitImpl result = null; params = expr(); break; default: - jj_la1[221] = jj_gen; + jj_la1[223] = jj_gen; ; } jj_consume_token(RPARAN); @@ -5421,15 +5507,15 @@ LexicalUnitImpl result = null; */ final public void _parseRule() throws ParseException { String ret = null; - label_149: + label_151: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[222] = jj_gen; - break label_149; + jj_la1[224] = jj_gen; + break label_151; } jj_consume_token(S); } @@ -5437,6 +5523,12 @@ LexicalUnitImpl result = null; case IMPORT_SYM: importDeclaration(); break; + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case LBRACKET: case ANY: case PARENT: @@ -5457,13 +5549,13 @@ LexicalUnitImpl result = null; fontFace(); break; default: - jj_la1[223] = jj_gen; + jj_la1[225] = jj_gen; ret = skipStatement(); if ((ret == null) || (ret.length() == 0)) { {if (true) return;} } if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); } else { {if (true) throw new CSSParseException("unrecognize rule: " + ret, getLocator());} @@ -5472,15 +5564,15 @@ LexicalUnitImpl result = null; } final public void _parseImportRule() throws ParseException { - label_150: + label_152: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[224] = jj_gen; - break label_150; + jj_la1[226] = jj_gen; + break label_152; } jj_consume_token(S); } @@ -5488,15 +5580,15 @@ LexicalUnitImpl result = null; } final public void _parseMediaRule() throws ParseException { - label_151: + label_153: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[225] = jj_gen; - break label_151; + jj_la1[227] = jj_gen; + break label_153; } jj_consume_token(S); } @@ -5504,15 +5596,15 @@ LexicalUnitImpl result = null; } final public void _parseDeclarationBlock() throws ParseException { - label_152: + label_154: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[226] = jj_gen; - break label_152; + jj_la1[228] = jj_gen; + break label_154; } jj_consume_token(S); } @@ -5521,29 +5613,29 @@ LexicalUnitImpl result = null; declaration(); break; default: - jj_la1[227] = jj_gen; + jj_la1[229] = jj_gen; ; } - label_153: + label_155: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[228] = jj_gen; - break label_153; + jj_la1[230] = jj_gen; + break label_155; } jj_consume_token(SEMICOLON); - label_154: + label_156: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[229] = jj_gen; - break label_154; + jj_la1[231] = jj_gen; + break label_156; } jj_consume_token(S); } @@ -5552,7 +5644,7 @@ LexicalUnitImpl result = null; declaration(); break; default: - jj_la1[230] = jj_gen; + jj_la1[232] = jj_gen; ; } } @@ -5561,15 +5653,15 @@ LexicalUnitImpl result = null; final public ArrayList<String> _parseSelectors() throws ParseException { ArrayList<String> p = null; try { - label_155: + label_157: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[231] = jj_gen; - break label_155; + jj_la1[233] = jj_gen; + break label_157; } jj_consume_token(S); } @@ -5665,71 +5757,61 @@ LexicalUnitImpl result = null; finally { jj_save(11, xla); } } - private boolean jj_3R_310() { - if (jj_3R_269()) return true; - return false; - } - - private boolean jj_3R_229() { - if (jj_3R_251()) return true; - return false; - } - - private boolean jj_3R_285() { - if (jj_3R_279()) return true; - if (jj_scan_token(COLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_310()) { - jj_scanpos = xsp; - if (jj_3R_311()) return true; - } + private boolean jj_3_1() { + if (jj_3R_158()) return true; return false; } - private boolean jj_3_1() { - if (jj_3R_156()) return true; + private boolean jj_3R_232() { + if (jj_3R_254()) return true; return false; } - private boolean jj_3R_270() { - if (jj_3R_285()) return true; + private boolean jj_3_11() { + if (jj_3R_167()) return true; return false; } - private boolean jj_3R_228() { - if (jj_3R_250()) return true; + private boolean jj_3_4() { + if (jj_3R_160()) return true; + if (jj_3R_161()) return true; return false; } - private boolean jj_3_4() { - if (jj_3R_158()) return true; - if (jj_3R_159()) return true; + private boolean jj_3R_259() { + Token xsp; + xsp = jj_scanpos; + if (jj_3_11()) { + jj_scanpos = xsp; + if (jj_3R_274()) { + jj_scanpos = xsp; + if (jj_3R_275()) { + jj_scanpos = xsp; + if (jj_3R_276()) return true; + } + } + } return false; } - private boolean jj_3R_226() { + private boolean jj_3R_230() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_3R_225()) return true; + if (jj_3R_229()) return true; return false; } private boolean jj_3_5() { - if (jj_3R_156()) return true; + if (jj_3R_158()) return true; return false; } - private boolean jj_3R_225() { - if (jj_3R_159()) return true; + private boolean jj_3R_229() { + if (jj_3R_161()) return true; Token xsp; while (true) { xsp = jj_scanpos; @@ -5742,55 +5824,55 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3_11() { - if (jj_3R_165()) return true; + private boolean jj_3R_264() { + if (jj_3R_273()) return true; return false; } - private boolean jj_3R_255() { + private boolean jj_3R_248() { + if (jj_scan_token(FUNCTION)) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3_11()) { - jj_scanpos = xsp; - if (jj_3R_270()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } + xsp = jj_scanpos; + if (jj_3R_264()) jj_scanpos = xsp; + if (jj_scan_token(RPARAN)) return true; return false; } - private boolean jj_3R_180() { - if (jj_3R_225()) return true; + private boolean jj_3R_182() { + if (jj_3R_229()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_226()) { jj_scanpos = xsp; break; } + if (jj_3R_230()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_260() { - if (jj_3R_269()) return true; + private boolean jj_3R_228() { + if (jj_3R_252()) return true; return false; } private boolean jj_3_2() { - if (jj_3R_156()) return true; + if (jj_3R_158()) return true; return false; } - private boolean jj_3R_244() { - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_260()) jj_scanpos = xsp; - if (jj_scan_token(RPARAN)) return true; + private boolean jj_3R_227() { + if (jj_3R_251()) return true; return false; } - private boolean jj_3R_253() { + private boolean jj_3R_226() { + if (jj_3R_250()) return true; + return false; + } + + private boolean jj_3R_257() { if (jj_scan_token(EACH_SYM)) return true; Token xsp; while (true) { @@ -5806,31 +5888,31 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_224() { - if (jj_3R_248()) return true; + private boolean jj_3R_272() { + if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_181() { + private boolean jj_3R_183() { Token xsp; xsp = jj_scanpos; - if (jj_3R_227()) { + if (jj_3R_231()) { jj_scanpos = xsp; if (jj_3_2()) { jj_scanpos = xsp; - if (jj_3R_228()) { + if (jj_3R_232()) { jj_scanpos = xsp; - if (jj_3R_229()) { + if (jj_3R_233()) { jj_scanpos = xsp; - if (jj_3R_230()) { + if (jj_3R_234()) { jj_scanpos = xsp; - if (jj_3R_231()) { + if (jj_3R_235()) { jj_scanpos = xsp; - if (jj_3R_232()) { + if (jj_3R_236()) { jj_scanpos = xsp; if (jj_3_3()) { jj_scanpos = xsp; - if (jj_3R_233()) return true; + if (jj_3R_237()) return true; } } } @@ -5842,23 +5924,29 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_227() { - if (jj_3R_249()) return true; - return false; - } - - private boolean jj_3R_223() { - if (jj_3R_247()) return true; + private boolean jj_3R_231() { + if (jj_3R_253()) return true; return false; } - private boolean jj_3R_222() { - if (jj_3R_246()) return true; + private boolean jj_3R_256() { + if (jj_scan_token(EXTEND_SYM)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (jj_3R_182()) return true; + if (jj_3R_272()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_272()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_165() { - if (jj_3R_180()) return true; + private boolean jj_3R_167() { + if (jj_3R_182()) return true; if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { @@ -5867,7 +5955,7 @@ LexicalUnitImpl result = null; } while (true) { xsp = jj_scanpos; - if (jj_3R_181()) { jj_scanpos = xsp; break; } + if (jj_3R_183()) { jj_scanpos = xsp; break; } } if (jj_scan_token(RBRACE)) return true; while (true) { @@ -5877,28 +5965,20 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_268() { - if (jj_scan_token(SEMICOLON)) return true; + private boolean jj_3R_249() { + if (jj_scan_token(DOT)) return true; return false; } - private boolean jj_3R_252() { - if (jj_scan_token(EXTEND_SYM)) return true; + private boolean jj_3R_225() { Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_3R_180()) return true; - if (jj_3R_268()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_268()) { jj_scanpos = xsp; break; } - } + xsp = jj_scanpos; + if (jj_3R_249()) jj_scanpos = xsp; + if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_278() { + private boolean jj_3R_284() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(75)) { @@ -5953,7 +6033,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_281() { + private boolean jj_3R_287() { if (jj_scan_token(FUNCTION)) return true; Token xsp; while (true) { @@ -5963,7 +6043,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_279() { + private boolean jj_3R_285() { if (jj_scan_token(IDENT)) return true; Token xsp; while (true) { @@ -5973,7 +6053,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_256() { + private boolean jj_3R_224() { + if (jj_scan_token(STRING)) return true; + return false; + } + + private boolean jj_3R_260() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -5983,105 +6068,140 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_245() { - if (jj_scan_token(DOT)) return true; + private boolean jj_3R_223() { + if (jj_3R_248()) return true; return false; } - private boolean jj_3R_221() { + private boolean jj_3R_181() { Token xsp; xsp = jj_scanpos; - if (jj_3R_245()) jj_scanpos = xsp; - if (jj_scan_token(IDENT)) return true; + if (jj_3R_224()) { + jj_scanpos = xsp; + if (jj_3R_225()) { + jj_scanpos = xsp; + if (jj_3R_226()) { + jj_scanpos = xsp; + if (jj_3R_227()) { + jj_scanpos = xsp; + if (jj_3R_228()) return true; + } + } + } + } return false; } - private boolean jj_3R_193() { - if (jj_scan_token(S)) return true; + private boolean jj_3R_222() { + if (jj_scan_token(DIMEN)) return true; return false; } - private boolean jj_3R_220() { - if (jj_scan_token(STRING)) return true; + private boolean jj_3R_197() { + if (jj_scan_token(S)) return true; return false; } - private boolean jj_3R_192() { - if (jj_scan_token(DOT)) return true; + private boolean jj_3R_221() { + if (jj_scan_token(KHZ)) return true; return false; } - private boolean jj_3R_219() { - if (jj_3R_244()) return true; + private boolean jj_3R_196() { + if (jj_scan_token(DOT)) return true; return false; } - private boolean jj_3R_191() { + private boolean jj_3R_195() { if (jj_scan_token(EQ)) return true; return false; } - private boolean jj_3R_179() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_220()) { - jj_scanpos = xsp; - if (jj_3R_221()) { - jj_scanpos = xsp; - if (jj_3R_222()) { - jj_scanpos = xsp; - if (jj_3R_223()) { - jj_scanpos = xsp; - if (jj_3R_224()) return true; - } - } - } - } + private boolean jj_3R_194() { + if (jj_scan_token(RPARAN)) return true; return false; } - private boolean jj_3R_190() { - if (jj_scan_token(RPARAN)) return true; + private boolean jj_3R_220() { + if (jj_scan_token(HZ)) return true; return false; } - private boolean jj_3R_189() { + private boolean jj_3R_193() { if (jj_scan_token(FUNCTION)) return true; return false; } - private boolean jj_3R_188() { + private boolean jj_3R_192() { if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3R_187() { + private boolean jj_3R_292() { + if (jj_scan_token(WARN_SYM)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_191() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_186() { + private boolean jj_3R_219() { + if (jj_scan_token(MS)) return true; + return false; + } + + private boolean jj_3R_190() { + if (jj_scan_token(COMMA)) return true; + return false; + } + + private boolean jj_3R_265() { + if (jj_3R_284()) return true; + return false; + } + + private boolean jj_3R_189() { + if (jj_scan_token(STRING)) return true; + return false; + } + + private boolean jj_3R_188() { if (jj_scan_token(NUMBER)) return true; return false; } - private boolean jj_3R_261() { - if (jj_3R_278()) return true; + private boolean jj_3R_218() { + if (jj_scan_token(SECOND)) return true; return false; } - private boolean jj_3R_185() { + private boolean jj_3R_253() { + if (jj_scan_token(IF_SYM)) return true; + Token xsp; + if (jj_3R_265()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_265()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(LBRACE)) return true; + return false; + } + + private boolean jj_3R_187() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_168() { + private boolean jj_3R_170() { Token xsp; xsp = jj_scanpos; - if (jj_3R_185()) { - jj_scanpos = xsp; - if (jj_3R_186()) { - jj_scanpos = xsp; if (jj_3R_187()) { jj_scanpos = xsp; if (jj_3R_188()) { @@ -6094,7 +6214,17 @@ LexicalUnitImpl result = null; jj_scanpos = xsp; if (jj_3R_192()) { jj_scanpos = xsp; - if (jj_3R_193()) return true; + if (jj_3R_193()) { + jj_scanpos = xsp; + if (jj_3R_194()) { + jj_scanpos = xsp; + if (jj_3R_195()) { + jj_scanpos = xsp; + if (jj_3R_196()) { + jj_scanpos = xsp; + if (jj_3R_197()) return true; + } + } } } } @@ -6106,29 +6236,32 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_249() { - if (jj_scan_token(IF_SYM)) return true; + private boolean jj_3R_217() { + if (jj_scan_token(GRAD)) return true; + return false; + } + + private boolean jj_3R_216() { + if (jj_scan_token(RAD)) return true; + return false; + } + + private boolean jj_3R_291() { + if (jj_scan_token(DEBUG_SYM)) return true; Token xsp; - if (jj_3R_261()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_261()) { jj_scanpos = xsp; break; } + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_scan_token(LBRACE)) return true; - return false; - } - - private boolean jj_3R_218() { - if (jj_scan_token(DIMEN)) return true; return false; } - private boolean jj_3R_217() { - if (jj_scan_token(KHZ)) return true; + private boolean jj_3R_215() { + if (jj_scan_token(DEG)) return true; return false; } - private boolean jj_3R_157() { + private boolean jj_3R_159() { if (jj_scan_token(MICROSOFT_RULE)) return true; Token xsp; while (true) { @@ -6136,47 +6269,52 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } if (jj_scan_token(COLON)) return true; - if (jj_3R_168()) return true; + if (jj_3R_170()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_168()) { jj_scanpos = xsp; break; } + if (jj_3R_170()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_239() { - if (jj_scan_token(SIBLING)) return true; + private boolean jj_3R_214() { + if (jj_scan_token(EXS)) return true; return false; } - private boolean jj_3R_216() { - if (jj_scan_token(HZ)) return true; + private boolean jj_3R_243() { + if (jj_scan_token(SIBLING)) return true; return false; } - private boolean jj_3R_238() { + private boolean jj_3R_242() { if (jj_scan_token(PRECEDES)) return true; return false; } - private boolean jj_3R_215() { - if (jj_scan_token(MS)) return true; + private boolean jj_3R_213() { + if (jj_scan_token(EMS)) return true; return false; } - private boolean jj_3R_237() { + private boolean jj_3R_241() { if (jj_scan_token(PLUS)) return true; return false; } - private boolean jj_3R_194() { + private boolean jj_3R_212() { + if (jj_scan_token(PX)) return true; + return false; + } + + private boolean jj_3R_198() { Token xsp; xsp = jj_scanpos; - if (jj_3R_237()) { + if (jj_3R_241()) { jj_scanpos = xsp; - if (jj_3R_238()) { + if (jj_3R_242()) { jj_scanpos = xsp; - if (jj_3R_239()) return true; + if (jj_3R_243()) return true; } } while (true) { @@ -6186,17 +6324,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_214() { - if (jj_scan_token(SECOND)) return true; - return false; - } - - private boolean jj_3R_213() { - if (jj_scan_token(GRAD)) return true; + private boolean jj_3R_211() { + if (jj_scan_token(IN)) return true; return false; } - private boolean jj_3R_171() { + private boolean jj_3R_173() { if (jj_scan_token(SIBLING)) return true; Token xsp; while (true) { @@ -6206,7 +6339,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_170() { + private boolean jj_3R_172() { if (jj_scan_token(PRECEDES)) return true; Token xsp; while (true) { @@ -6216,36 +6349,36 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_212() { - if (jj_scan_token(RAD)) return true; + private boolean jj_3R_210() { + if (jj_scan_token(PC)) return true; return false; } - private boolean jj_3R_172() { + private boolean jj_3R_174() { if (jj_scan_token(S)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_194()) jj_scanpos = xsp; + if (jj_3R_198()) jj_scanpos = xsp; return false; } - private boolean jj_3R_158() { + private boolean jj_3R_160() { Token xsp; xsp = jj_scanpos; - if (jj_3R_169()) { + if (jj_3R_171()) { jj_scanpos = xsp; - if (jj_3R_170()) { + if (jj_3R_172()) { jj_scanpos = xsp; - if (jj_3R_171()) { + if (jj_3R_173()) { jj_scanpos = xsp; - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; } } } return false; } - private boolean jj_3R_169() { + private boolean jj_3R_171() { if (jj_scan_token(PLUS)) return true; Token xsp; while (true) { @@ -6255,101 +6388,58 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_211() { - if (jj_scan_token(DEG)) return true; - return false; - } - - private boolean jj_3R_210() { - if (jj_scan_token(EXS)) return true; + private boolean jj_3R_209() { + if (jj_scan_token(MM)) return true; return false; } - private boolean jj_3R_209() { - if (jj_scan_token(EMS)) return true; + private boolean jj_3R_208() { + if (jj_scan_token(CM)) return true; return false; } - private boolean jj_3R_208() { - if (jj_scan_token(PX)) return true; + private boolean jj_3R_207() { + if (jj_scan_token(PT)) return true; return false; } - private boolean jj_3R_254() { - if (jj_3R_256()) return true; + private boolean jj_3R_258() { + if (jj_3R_260()) return true; if (jj_scan_token(COLON)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_3R_269()) return true; - return false; - } - - private boolean jj_3R_207() { - if (jj_scan_token(IN)) return true; + if (jj_3R_273()) return true; return false; } private boolean jj_3R_206() { - if (jj_scan_token(PC)) return true; - return false; - } - - private boolean jj_3R_205() { - if (jj_scan_token(MM)) return true; - return false; - } - - private boolean jj_3R_204() { - if (jj_scan_token(CM)) return true; - return false; - } - - private boolean jj_3R_203() { - if (jj_scan_token(PT)) return true; - return false; - } - - private boolean jj_3R_202() { if (jj_scan_token(PERCENTAGE)) return true; return false; } - private boolean jj_3R_184() { - if (jj_3R_236()) return true; + private boolean jj_3R_186() { + if (jj_3R_240()) return true; return false; } - private boolean jj_3R_201() { + private boolean jj_3R_205() { if (jj_scan_token(NUMBER)) return true; return false; } - private boolean jj_3R_200() { - if (jj_3R_243()) return true; - return false; - } - - private boolean jj_3R_196() { - if (jj_scan_token(HASH)) return true; + private boolean jj_3R_204() { + if (jj_3R_247()) return true; return false; } - private boolean jj_3R_178() { + private boolean jj_3R_180() { Token xsp; xsp = jj_scanpos; - if (jj_3R_200()) jj_scanpos = xsp; + if (jj_3R_204()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_201()) { - jj_scanpos = xsp; - if (jj_3R_202()) { - jj_scanpos = xsp; - if (jj_3R_203()) { - jj_scanpos = xsp; - if (jj_3R_204()) { - jj_scanpos = xsp; if (jj_3R_205()) { jj_scanpos = xsp; if (jj_3R_206()) { @@ -6378,7 +6468,15 @@ LexicalUnitImpl result = null; jj_scanpos = xsp; if (jj_3R_218()) { jj_scanpos = xsp; - if (jj_3R_219()) return true; + if (jj_3R_219()) { + jj_scanpos = xsp; + if (jj_3R_220()) { + jj_scanpos = xsp; + if (jj_3R_221()) { + jj_scanpos = xsp; + if (jj_3R_222()) { + jj_scanpos = xsp; + if (jj_3R_223()) return true; } } } @@ -6400,12 +6498,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_161() { + private boolean jj_3R_163() { Token xsp; xsp = jj_scanpos; - if (jj_3R_178()) { + if (jj_3R_180()) { jj_scanpos = xsp; - if (jj_3R_179()) return true; + if (jj_3R_181()) return true; } while (true) { xsp = jj_scanpos; @@ -6414,104 +6512,124 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_299() { - if (jj_scan_token(IDENT)) return true; + private boolean jj_3R_250() { + if (jj_scan_token(HASH)) return true; return false; } - private boolean jj_3R_300() { - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} + private boolean jj_3R_240() { + if (jj_3R_260()) return true; return false; } - private boolean jj_3R_246() { + private boolean jj_3R_200() { if (jj_scan_token(HASH)) return true; return false; } - private boolean jj_3R_236() { - if (jj_3R_256()) return true; + private boolean jj_3R_307() { + if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_183() { - if (jj_3R_161()) return true; + private boolean jj_3R_185() { + if (jj_3R_163()) return true; return false; } - private boolean jj_3R_167() { + private boolean jj_3R_169() { Token xsp; xsp = jj_scanpos; - if (jj_3R_183()) { + if (jj_3R_185()) { jj_scanpos = xsp; - if (jj_3R_184()) return true; + if (jj_3R_186()) return true; } return false; } - private boolean jj_3R_247() { + private boolean jj_3R_251() { if (jj_scan_token(URL)) return true; return false; } - private boolean jj_3R_166() { - if (jj_3R_182()) return true; + private boolean jj_3R_308() { + if (jj_scan_token(FUNCTION)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} return false; } - private boolean jj_3R_298() { - if (jj_scan_token(COLON)) return true; + private boolean jj_3R_168() { + if (jj_3R_184()) return true; return false; } - private boolean jj_3R_259() { + private boolean jj_3R_263() { if (jj_scan_token(PLUS)) return true; return false; } - private boolean jj_3R_198() { - if (jj_scan_token(COLON)) return true; + private boolean jj_3R_247() { Token xsp; xsp = jj_scanpos; - if (jj_3R_298()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_299()) { + if (jj_3R_262()) { jj_scanpos = xsp; - if (jj_3R_300()) return true; + if (jj_3R_263()) return true; } return false; } - private boolean jj_3R_243() { + private boolean jj_3R_262() { + if (jj_scan_token(MINUS)) return true; + return false; + } + + private boolean jj_3_12() { Token xsp; xsp = jj_scanpos; - if (jj_3R_258()) { - jj_scanpos = xsp; - if (jj_3R_259()) return true; + if (jj_3R_168()) jj_scanpos = xsp; + if (jj_3R_169()) return true; + return false; + } + + private boolean jj_3R_273() { + if (jj_3R_169()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_12()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_258() { - if (jj_scan_token(MINUS)) return true; + private boolean jj_3R_306() { + if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3_12() { + private boolean jj_3R_252() { + if (jj_scan_token(UNICODERANGE)) return true; + return false; + } + + private boolean jj_3R_202() { + if (jj_scan_token(COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_166()) jj_scanpos = xsp; - if (jj_3R_167()) return true; + if (jj_3R_306()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_307()) { + jj_scanpos = xsp; + if (jj_3R_308()) return true; + } return false; } - private boolean jj_3R_164() { + private boolean jj_3R_166() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -6532,27 +6650,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_269() { - if (jj_3R_167()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_12()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3_10() { - if (jj_3R_164()) return true; - return false; - } - - private boolean jj_3R_248() { - if (jj_scan_token(UNICODERANGE)) return true; - return false; - } - - private boolean jj_3R_235() { + private boolean jj_3R_239() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { @@ -6562,22 +6660,22 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_264() { - if (jj_3R_280()) return true; + private boolean jj_3_10() { + if (jj_3R_166()) return true; return false; } - private boolean jj_3R_182() { + private boolean jj_3R_184() { Token xsp; xsp = jj_scanpos; - if (jj_3R_234()) { + if (jj_3R_238()) { jj_scanpos = xsp; - if (jj_3R_235()) return true; + if (jj_3R_239()) return true; } return false; } - private boolean jj_3R_234() { + private boolean jj_3R_238() { if (jj_scan_token(DIV)) return true; Token xsp; while (true) { @@ -6587,7 +6685,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_162() { + private boolean jj_3R_268() { + if (jj_3R_286()) return true; + return false; + } + + private boolean jj_3R_164() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -6609,61 +6712,61 @@ LexicalUnitImpl result = null; } private boolean jj_3_9() { - if (jj_3R_163()) return true; + if (jj_3R_165()) return true; return false; } - private boolean jj_3R_321() { + private boolean jj_3R_329() { if (jj_scan_token(STRING)) return true; return false; } - private boolean jj_3R_319() { + private boolean jj_3R_327() { if (jj_scan_token(STARMATCH)) return true; return false; } - private boolean jj_3R_320() { + private boolean jj_3R_328() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_318() { + private boolean jj_3R_326() { if (jj_scan_token(DOLLARMATCH)) return true; return false; } - private boolean jj_3R_266() { + private boolean jj_3R_270() { if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_317() { + private boolean jj_3R_325() { if (jj_scan_token(CARETMATCH)) return true; return false; } - private boolean jj_3R_316() { + private boolean jj_3R_324() { if (jj_scan_token(DASHMATCH)) return true; return false; } - private boolean jj_3R_315() { + private boolean jj_3R_323() { if (jj_scan_token(INCLUDES)) return true; return false; } - private boolean jj_3R_272() { + private boolean jj_3R_278() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_314() { + private boolean jj_3R_322() { if (jj_scan_token(EQ)) return true; return false; } - private boolean jj_3R_163() { + private boolean jj_3R_165() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -6684,20 +6787,20 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_305() { + private boolean jj_3R_313() { Token xsp; xsp = jj_scanpos; - if (jj_3R_314()) { + if (jj_3R_322()) { jj_scanpos = xsp; - if (jj_3R_315()) { + if (jj_3R_323()) { jj_scanpos = xsp; - if (jj_3R_316()) { + if (jj_3R_324()) { jj_scanpos = xsp; - if (jj_3R_317()) { + if (jj_3R_325()) { jj_scanpos = xsp; - if (jj_3R_318()) { + if (jj_3R_326()) { jj_scanpos = xsp; - if (jj_3R_319()) return true; + if (jj_3R_327()) return true; } } } @@ -6708,9 +6811,9 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_320()) { + if (jj_3R_328()) { jj_scanpos = xsp; - if (jj_3R_321()) return true; + if (jj_3R_329()) return true; } while (true) { xsp = jj_scanpos; @@ -6719,12 +6822,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_284() { - if (jj_scan_token(COMMA)) return true; - return false; - } - - private boolean jj_3R_199() { + private boolean jj_3R_203() { if (jj_scan_token(LBRACKET)) return true; Token xsp; while (true) { @@ -6737,17 +6835,27 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_305()) jj_scanpos = xsp; + if (jj_3R_313()) jj_scanpos = xsp; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_233() { - if (jj_3R_255()) return true; + private boolean jj_3R_237() { + if (jj_3R_259()) return true; return false; } - private boolean jj_3R_283() { + private boolean jj_3R_321() { + if (jj_scan_token(INTERPOLATION)) return true; + return false; + } + + private boolean jj_3R_290() { + if (jj_scan_token(COMMA)) return true; + return false; + } + + private boolean jj_3R_289() { if (jj_scan_token(IDENT)) return true; Token xsp; while (true) { @@ -6757,22 +6865,17 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_313() { - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - - private boolean jj_3R_263() { - if (jj_3R_256()) return true; + private boolean jj_3R_267() { + if (jj_3R_260()) return true; return false; } - private boolean jj_3R_242() { + private boolean jj_3R_246() { if (jj_scan_token(PARENT)) return true; return false; } - private boolean jj_3R_156() { + private boolean jj_3R_158() { Token xsp; xsp = jj_scanpos; if (jj_3_8()) { @@ -6786,80 +6889,80 @@ LexicalUnitImpl result = null; } private boolean jj_3_8() { - if (jj_3R_162()) return true; + if (jj_3R_164()) return true; return false; } - private boolean jj_3R_241() { + private boolean jj_3R_245() { if (jj_scan_token(ANY)) return true; return false; } - private boolean jj_3R_267() { - if (jj_3R_283()) return true; + private boolean jj_3R_271() { + if (jj_3R_289()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_284()) { jj_scanpos = xsp; break; } + if (jj_3R_290()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_257() { + private boolean jj_3R_261() { Token xsp; xsp = jj_scanpos; - if (jj_3R_271()) { + if (jj_3R_277()) { jj_scanpos = xsp; - if (jj_3R_272()) return true; + if (jj_3R_278()) return true; } return false; } - private boolean jj_3R_271() { + private boolean jj_3R_277() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_280() { + private boolean jj_3R_286() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_195() { + private boolean jj_3R_199() { Token xsp; xsp = jj_scanpos; - if (jj_3R_240()) { + if (jj_3R_244()) { jj_scanpos = xsp; - if (jj_3R_241()) { + if (jj_3R_245()) { jj_scanpos = xsp; - if (jj_3R_242()) return true; + if (jj_3R_246()) return true; } } return false; } - private boolean jj_3R_240() { + private boolean jj_3R_244() { Token xsp; - if (jj_3R_257()) return true; + if (jj_3R_261()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_257()) { jj_scanpos = xsp; break; } + if (jj_3R_261()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_265() { - if (jj_3R_281()) return true; - if (jj_3R_282()) return true; + private boolean jj_3R_269() { + if (jj_3R_287()) return true; + if (jj_3R_288()) return true; return false; } - private boolean jj_3R_262() { - if (jj_3R_279()) return true; + private boolean jj_3R_266() { + if (jj_3R_285()) return true; return false; } - private boolean jj_3R_250() { + private boolean jj_3R_254() { if (jj_scan_token(INCLUDE_SYM)) return true; Token xsp; while (true) { @@ -6867,108 +6970,108 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_262()) { + if (jj_3R_266()) { jj_scanpos = xsp; - if (jj_3R_263()) { + if (jj_3R_267()) { jj_scanpos = xsp; - if (jj_3R_264()) { + if (jj_3R_268()) { jj_scanpos = xsp; - if (jj_3R_265()) return true; + if (jj_3R_269()) return true; } } } - if (jj_3R_266()) return true; + if (jj_3R_270()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_266()) { jj_scanpos = xsp; break; } + if (jj_3R_270()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_309() { - if (jj_3R_198()) return true; + private boolean jj_3R_317() { + if (jj_3R_202()) return true; return false; } - private boolean jj_3R_312() { + private boolean jj_3R_320() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_293() { + private boolean jj_3R_301() { Token xsp; xsp = jj_scanpos; - if (jj_3R_312()) { + if (jj_3R_320()) { jj_scanpos = xsp; - if (jj_3R_313()) return true; + if (jj_3R_321()) return true; } return false; } - private boolean jj_3R_307() { - if (jj_3R_197()) return true; - return false; - } - - private boolean jj_3R_251() { - if (jj_scan_token(MEDIA_SYM)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_3R_267()) return true; - if (jj_scan_token(LBRACE)) return true; + private boolean jj_3R_315() { + if (jj_3R_201()) return true; return false; } private boolean jj_3_3() { - if (jj_3R_157()) return true; + if (jj_3R_159()) return true; return false; } - private boolean jj_3R_304() { - if (jj_3R_198()) return true; + private boolean jj_3R_312() { + if (jj_3R_202()) return true; return false; } - private boolean jj_3R_302() { - if (jj_3R_197()) return true; + private boolean jj_3R_310() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_292() { - if (jj_3R_198()) return true; + private boolean jj_3R_300() { + if (jj_3R_202()) return true; return false; } - private boolean jj_3R_197() { + private boolean jj_3R_201() { if (jj_scan_token(DOT)) return true; Token xsp; - if (jj_3R_293()) return true; + if (jj_3R_301()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_293()) { jj_scanpos = xsp; break; } + if (jj_3R_301()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_297() { - if (jj_3R_198()) return true; + private boolean jj_3R_305() { + if (jj_3R_202()) return true; return false; } - private boolean jj_3R_295() { - if (jj_3R_197()) return true; + private boolean jj_3R_303() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_282() { - if (jj_3R_167()) return true; + private boolean jj_3R_255() { + if (jj_scan_token(MEDIA_SYM)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (jj_3R_271()) return true; + if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_160() { + private boolean jj_3R_288() { + if (jj_3R_169()) return true; + return false; + } + + private boolean jj_3R_162() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { @@ -6978,200 +7081,215 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_232() { - if (jj_3R_254()) return true; + private boolean jj_3R_236() { + if (jj_3R_258()) return true; return false; } - private boolean jj_3R_308() { - if (jj_3R_199()) return true; + private boolean jj_3R_316() { + if (jj_3R_203()) return true; return false; } - private boolean jj_3R_306() { - if (jj_3R_196()) return true; + private boolean jj_3R_314() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_277() { + private boolean jj_3R_283() { Token xsp; xsp = jj_scanpos; - if (jj_3R_306()) { + if (jj_3R_314()) { jj_scanpos = xsp; - if (jj_3R_307()) { + if (jj_3R_315()) { jj_scanpos = xsp; - if (jj_3R_308()) { + if (jj_3R_316()) { jj_scanpos = xsp; - if (jj_3R_309()) return true; + if (jj_3R_317()) return true; } } } return false; } - private boolean jj_3R_301() { - if (jj_3R_196()) return true; + private boolean jj_3R_276() { + if (jj_3R_293()) return true; return false; } - private boolean jj_3R_276() { + private boolean jj_3R_309() { + if (jj_3R_200()) return true; + return false; + } + + private boolean jj_3R_282() { Token xsp; xsp = jj_scanpos; - if (jj_3R_301()) { + if (jj_3R_309()) { jj_scanpos = xsp; - if (jj_3R_302()) { + if (jj_3R_310()) { jj_scanpos = xsp; - if (jj_3R_303()) { + if (jj_3R_311()) { jj_scanpos = xsp; - if (jj_3R_304()) return true; + if (jj_3R_312()) return true; } } } return false; } - private boolean jj_3R_289() { - if (jj_3R_198()) return true; + private boolean jj_3R_297() { + if (jj_3R_202()) return true; return false; } private boolean jj_3_7() { Token xsp; xsp = jj_scanpos; - if (jj_3R_160()) jj_scanpos = xsp; - if (jj_3R_161()) return true; + if (jj_3R_162()) jj_scanpos = xsp; + if (jj_3R_163()) return true; return false; } - private boolean jj_3R_303() { - if (jj_3R_199()) return true; + private boolean jj_3R_311() { + if (jj_3R_203()) return true; return false; } - private boolean jj_3R_294() { - if (jj_3R_196()) return true; + private boolean jj_3R_302() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_275() { + private boolean jj_3R_281() { Token xsp; xsp = jj_scanpos; - if (jj_3R_294()) { + if (jj_3R_302()) { jj_scanpos = xsp; - if (jj_3R_295()) { + if (jj_3R_303()) { jj_scanpos = xsp; - if (jj_3R_296()) { + if (jj_3R_304()) { jj_scanpos = xsp; - if (jj_3R_297()) return true; + if (jj_3R_305()) return true; } } } return false; } - private boolean jj_3R_291() { - if (jj_3R_199()) return true; + private boolean jj_3R_299() { + if (jj_3R_203()) return true; return false; } - private boolean jj_3R_296() { - if (jj_3R_199()) return true; + private boolean jj_3R_304() { + if (jj_3R_203()) return true; return false; } - private boolean jj_3R_290() { - if (jj_3R_197()) return true; + private boolean jj_3R_319() { + if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_287() { - if (jj_3R_197()) return true; + private boolean jj_3R_298() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_274() { + private boolean jj_3R_295() { + if (jj_3R_201()) return true; + return false; + } + + private boolean jj_3R_280() { Token xsp; xsp = jj_scanpos; - if (jj_3R_290()) { + if (jj_3R_298()) { jj_scanpos = xsp; - if (jj_3R_291()) { + if (jj_3R_299()) { jj_scanpos = xsp; - if (jj_3R_292()) return true; + if (jj_3R_300()) return true; } } return false; } - private boolean jj_3R_231() { - if (jj_3R_253()) return true; + private boolean jj_3R_235() { + if (jj_3R_257()) return true; return false; } - private boolean jj_3R_177() { - if (jj_3R_199()) return true; + private boolean jj_3R_275() { + if (jj_3R_292()) return true; + return false; + } + + private boolean jj_3R_179() { + if (jj_3R_203()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_277()) { jj_scanpos = xsp; break; } + if (jj_3R_283()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_176() { - if (jj_3R_198()) return true; + private boolean jj_3R_178() { + if (jj_3R_202()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_276()) { jj_scanpos = xsp; break; } + if (jj_3R_282()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_288() { - if (jj_3R_199()) return true; + private boolean jj_3R_318() { + if (jj_3R_273()) return true; return false; } - private boolean jj_3R_311() { - if (jj_scan_token(LBRACE)) return true; + private boolean jj_3R_296() { + if (jj_3R_203()) return true; return false; } - private boolean jj_3R_175() { - if (jj_3R_197()) return true; + private boolean jj_3R_177() { + if (jj_3R_201()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_275()) { jj_scanpos = xsp; break; } + if (jj_3R_281()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_286() { - if (jj_3R_196()) return true; + private boolean jj_3R_294() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_174() { - if (jj_3R_196()) return true; + private boolean jj_3R_176() { + if (jj_3R_200()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_274()) { jj_scanpos = xsp; break; } + if (jj_3R_280()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_273() { + private boolean jj_3R_279() { Token xsp; xsp = jj_scanpos; - if (jj_3R_286()) { + if (jj_3R_294()) { jj_scanpos = xsp; - if (jj_3R_287()) { + if (jj_3R_295()) { jj_scanpos = xsp; - if (jj_3R_288()) { + if (jj_3R_296()) { jj_scanpos = xsp; - if (jj_3R_289()) return true; + if (jj_3R_297()) return true; } } } @@ -7179,32 +7297,48 @@ LexicalUnitImpl result = null; } private boolean jj_3_6() { - if (jj_3R_156()) return true; + if (jj_3R_158()) return true; return false; } - private boolean jj_3R_173() { - if (jj_3R_195()) return true; + private boolean jj_3R_175() { + if (jj_3R_199()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_273()) { jj_scanpos = xsp; break; } + if (jj_3R_279()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_159() { + private boolean jj_3R_293() { + if (jj_3R_285()) return true; + if (jj_scan_token(COLON)) return true; Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } xsp = jj_scanpos; - if (jj_3R_173()) { - jj_scanpos = xsp; - if (jj_3R_174()) { + if (jj_3R_318()) { jj_scanpos = xsp; + if (jj_3R_319()) return true; + } + return false; + } + + private boolean jj_3R_161() { + Token xsp; + xsp = jj_scanpos; if (jj_3R_175()) { jj_scanpos = xsp; if (jj_3R_176()) { jj_scanpos = xsp; - if (jj_3R_177()) return true; + if (jj_3R_177()) { + jj_scanpos = xsp; + if (jj_3R_178()) { + jj_scanpos = xsp; + if (jj_3R_179()) return true; } } } @@ -7212,8 +7346,18 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_230() { - if (jj_3R_252()) return true; + private boolean jj_3R_234() { + if (jj_3R_256()) return true; + return false; + } + + private boolean jj_3R_274() { + if (jj_3R_291()) return true; + return false; + } + + private boolean jj_3R_233() { + if (jj_3R_255()) return true; return false; } @@ -7227,7 +7371,7 @@ LexicalUnitImpl result = null; private Token jj_scanpos, jj_lastpos; private int jj_la; private int jj_gen; - final private int[] jj_la1 = new int[232]; + final private int[] jj_la1 = new int[234]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -7239,16 +7383,16 @@ LexicalUnitImpl result = null; jj_la1_init_3(); } private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x0,0xd0000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xd3f45400,0xd3f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x3f45400,0x2,0x2,0x2,0x3100000,0x2,0x3100000,0x3100002,0x2,0x80002,0x80002,0x2,0x2,0x2,0x2,0x2,0xd0000000,0x0,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0xd0000000,0x0,0x0,0x0,0x0,0xc0000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x4d380002,0x2,0xd0000000,0xd0000000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0xd0000000,0xd0000000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x8400000,0x8400000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xd0000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,}; + jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x0,0xd0000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xd3f45400,0xd3f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x3f45400,0x2,0x2,0x2,0x3100000,0x2,0x3100000,0x3100002,0x2,0x480002,0x480002,0x2,0x2,0x2,0x2,0x2,0xd0000000,0x0,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0xd0000000,0x0,0x0,0x0,0x0,0xc0000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x4d380002,0x2,0xd0000000,0xd0000000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0xd0000000,0xd0000000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x8400000,0x8400000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xd0000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,}; } private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x50600181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x381,0x381,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x185,0x185,0x0,0x0,0x0,0x0,0x0,0x50400181,0x40000000,0x10400000,0x181,0x0,0x0,0x0,0x0,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x181,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x400181,0x400181,0x0,0x80000000,0x0,0x7e,0x0,0x0,0x400181,0x400181,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x400181,0x400000,0x181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x50400181,0x400000,0x50000181,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x81,0x0,0x80,0x0,0x0,0x81,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56600181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000381,0x6000381,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x185,0x185,0x0,0x0,0x0,0x0,0x0,0x56400181,0x40000000,0x10400000,0x6000181,0x0,0x0,0x0,0x0,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x181,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x6400181,0x6400181,0x0,0x80000000,0x0,0x7e,0x0,0x0,0x6400181,0x6400181,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x6400181,0x400000,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56400181,0x400000,0x56000181,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x81,0x0,0x80,0x0,0x0,0x81,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x800,0xa0000880,0x0,0x0,0x0,0x0,0x440,0x0,0x80,0x0,0x0,0x0,0xe00015c0,0xe00015c0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0xc0001540,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0xa0000889,0x0,0x80000801,0x20000080,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000080,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x0,0x0,0x980,0x0,0xa0000881,0xa0000881,0x0,0x0,0x0,0x980,0x10,0x0,0xa0000881,0xa0000881,0x0,0x980,0x0,0x0,0x0,0x880,0x0,0xa0000881,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xa0000881,0x80000000,0x20000881,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x3ffffdc0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x3ffffdc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x1ffff100,0x0,0x200004c0,0x3ffff5c0,0x0,0x0,0x3ffffdc0,0x0,0xe0000080,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x800,0xa0000880,0x0,0x0,0x0,0x0,0x440,0x0,0x80,0x0,0x0,0x0,0xe00015c0,0xe00015c0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0xc0001540,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x0,0x0,0x0,0x0,0x0,0xa0000889,0x0,0x80000801,0x20000080,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000080,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x0,0x0,0x980,0x0,0xa0000881,0xa0000881,0x0,0x0,0x0,0x980,0x10,0x0,0xa0000881,0xa0000881,0x0,0x980,0x0,0x0,0x0,0x880,0x0,0xa0000881,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xa0000881,0x80000000,0x20000881,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x3ffffdc0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x3ffffdc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x1ffff100,0x0,0x200004c0,0x3ffff5c0,0x0,0x0,0x3ffffdc0,0x0,0xe0000080,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x1,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x6,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x40000,0x0,0x4000,0x44000,0x0,0x0,0x44000,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x1,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x6,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x40000,0x0,0x4000,0x44000,0x0,0x0,0x44000,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } final private JJCalls[] jj_2_rtns = new JJCalls[12]; private boolean jj_rescan = false; @@ -7260,7 +7404,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7270,7 +7414,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7280,7 +7424,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7290,7 +7434,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7407,7 +7551,7 @@ LexicalUnitImpl result = null; la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 232; i++) { + for (int i = 0; i < 234; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<<j)) != 0) { diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj index dfb12de6d6..81a7b10531 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj @@ -743,15 +743,16 @@ void afterImportDeclaration() : } { ( - ( (LOOKAHEAD(5)listModifyDirective()|variable()) | ifDirective()|mixinDirective()| eachDirective() | includeDirective() | styleRule() | media()| page() | fontFace() + ( (LOOKAHEAD(5)listModifyDirective()|variable()) | debugDirective() | warnDirective() | ifDirective()|mixinDirective()| eachDirective() | includeDirective() | styleRule() | media()| page() | fontFace() | { l = getLocator(); } ret=skipStatement() { if ((ret == null) || (ret.length() == 0)) { return; } - reportWarningSkipText(l, ret); if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(l, ret); } } ) @@ -820,7 +821,7 @@ void media() : <MEDIA_SYM> ( <S> )* mediaStatement(ml) { start = true; documentHandler.startMedia(ml); } - <LBRACE> ( <S> )* ( styleRule() | skipUnknownRule() )* <RBRACE> ( <S> )* + <LBRACE> ( <S> )* ( debugDirective() | warnDirective() | styleRule() | skipUnknownRule() )* <RBRACE> ( <S> )* } catch (ParseException e) { reportError(getLocator(), e); skipStatement(); @@ -933,9 +934,10 @@ void atRuleDeclaration() : n=<ATKEYWORD> { ret=skipStatement(); - reportWarningSkipText(getLocator(), ret); if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(getLocator(), ret); } } } @@ -972,9 +974,10 @@ void skipUnknownRule() : String ret; Locator loc = getLocator(); ret=skipStatement(); - reportWarningSkipText(loc, ret); if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(loc, ret); } } } @@ -1004,10 +1007,13 @@ void microsoftExtension() : } { + // This is not really taking the syntax of filter rules into account n = < MICROSOFT_RULE > (< S >)* { name = n.image; } < COLON > ((n = < IDENT > { value += n.image; }) | (n = < NUMBER > { value += n.image; }) + | (n = < STRING > { value += n.image; }) + | (n = < COMMA > { value += n.image; }) | (n = < INTERPOLATION > { value += n.image; }) | (n = < COLON > { value += n.image; }) | (n = < FUNCTION > { value += n.image; }) @@ -1717,12 +1723,28 @@ Node returnDirective() : {return null;} } -JAVACODE -void debugDirective(){ +void debugDirective() : +{} +{ + <DEBUG_SYM> + { + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. + System.out.println(content); + } + (<S>)* } -JAVACODE -void warnDirective(){ +void warnDirective() : +{} +{ + <WARN_SYM> + { + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. + System.err.println(content); + } + (<S>)* } Node forDirective() : @@ -1816,7 +1838,7 @@ void styleRuleOrDeclarationOrNestedProperties() : { try { // differentiate between the colon of a pseudo and the colon of nested properties and the colon of a simple property - (LOOKAHEAD(5) styleRule() | declarationOrNestedProperties()) + (LOOKAHEAD(5) styleRule() | debugDirective() | warnDirective() | declarationOrNestedProperties()) } catch (JumpException e) { skipAfterExpression(); // reportWarningSkipText(getLocator(), skipAfterExpression()); @@ -2686,14 +2708,14 @@ void _parseRule() : } { ( <S> )* - ( importDeclaration() | styleRule() | media() | page() + ( importDeclaration() | debugDirective() | warnDirective() | styleRule() | media() | page() | fontFace() | ret=skipStatement() { if ((ret == null) || (ret.length() == 0)) { return; } if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); } else { throw new CSSParseException("unrecognize rule: " + ret, getLocator()); diff --git a/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css b/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css index 18bc34ca6c..af614316c9 100644 --- a/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css +++ b/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css @@ -1,6 +1,7 @@ .v-ie6 .v-shadow-window { background: #000000; filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=5 ) alpha(opacity = 20); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed'); margin-top: 2px; margin-left: 2px; }
\ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/css/unknown_as_is.css b/theme-compiler/tests/resources/automatic/css/unknown_as_is.css new file mode 100644 index 0000000000..bfe76855fb --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/unknown_as_is.css @@ -0,0 +1,3 @@ +@-webkit-keyframes fade-in { + 0% { opacity: 0; } +} diff --git a/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss b/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss index 69670969de..e08f3f07a3 100644 --- a/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss +++ b/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss @@ -1,6 +1,7 @@ .v-ie6 .v-shadow-window { background: #000000; filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=5 ) alpha(opacity = 20); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed'); margin-top: 2px; margin-left: 2px; } diff --git a/theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss b/theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss new file mode 100644 index 0000000000..bfe76855fb --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss @@ -0,0 +1,3 @@ +@-webkit-keyframes fade-in { + 0% { opacity: 0; } +} diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html new file mode 100644 index 0000000000..a4e36b6f44 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="http://localhost:9999/" /> +<title>ButtonWithShortcutNotRendered</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">ButtonWithShortcutNotRendered</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/com.vaadin.tests.components.button.ButtonWithShortcutNotRendered?restartApplication</td> + <td></td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runcomvaadintestscomponentsbuttonButtonWithShortcutNotRendered::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VSplitPanelVertical[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td> + <td>190,7</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>button-initial</td> +</tr> +<tr> + <td>open</td> + <td>/run/com.vaadin.tests.components.button.ButtonWithShortcutNotRendered</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>button-with-caption</td> +</tr> + +</tbody></table> +</body> +</html> diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java new file mode 100644 index 0000000000..b01e0a85d0 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java @@ -0,0 +1,170 @@ +package com.vaadin.tests.components.button; + +import com.vaadin.annotations.PreserveOnRefresh; +import com.vaadin.data.Item; +import com.vaadin.data.Property; +import com.vaadin.data.util.HierarchicalContainer; +import com.vaadin.event.ShortcutAction.KeyCode; +import com.vaadin.server.VaadinRequest; +import com.vaadin.shared.ui.MarginInfo; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Component; +import com.vaadin.ui.DefaultFieldFactory; +import com.vaadin.ui.Field; +import com.vaadin.ui.Form; +import com.vaadin.ui.GridLayout; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Table; +import com.vaadin.ui.TextField; +import com.vaadin.ui.VerticalSplitPanel; + +@PreserveOnRefresh +@SuppressWarnings("deprecation") +public class ButtonWithShortcutNotRendered extends AbstractTestUI { + + @Override + protected String getTestDescription() { + return "Button with shortcut broken if the shortcut is rendered before the button"; + } + + @Override + protected Integer getTicketNumber() { + return 9825; + } + + Button defaultButton; + Button otherButton; + + @SuppressWarnings("unchecked") + @Override + protected void setup(VaadinRequest request) { + getLayout().setWidth(100, Unit.PERCENTAGE); + getLayout().setHeight(null); + getLayout().setMargin(new MarginInfo(true, false, false, false)); + + HierarchicalContainer container = new HierarchicalContainer(); + container.addContainerProperty("t1", String.class, ""); + container.addContainerProperty("t2", String.class, ""); + + Item item = container.addItem("r1"); + item.getItemProperty("t1").setValue("Row1 t1"); + item.getItemProperty("t2").setValue("Row1 t2"); + + item = container.addItem("r2"); + item.getItemProperty("t1").setValue("Row2 t1"); + item.getItemProperty("t2").setValue("Row2 t2"); + + MyForm form = new MyForm(); + MyTable table = new MyTable(form, container); + + VerticalSplitPanel splitPanel = new VerticalSplitPanel(); + splitPanel.setWidth(100, Unit.PERCENTAGE); + splitPanel.setHeight(400, Unit.PIXELS); + splitPanel.setFirstComponent(table); + splitPanel.setSecondComponent(form); + splitPanel.setSplitPosition(50, Unit.PERCENTAGE); + + addComponent(splitPanel); + } + + public class MyTable extends Table { + final MyForm form; + + public MyTable(MyForm pform, HierarchicalContainer container) { + form = pform; + setContainerDataSource(container); + setSelectable(true); + setImmediate(true); + setWidth(100, Unit.PERCENTAGE); + setHeight(null); + + addValueChangeListener(new Property.ValueChangeListener() { + + public void valueChange( + com.vaadin.data.Property.ValueChangeEvent event) { + final Item item = getItem(getValue()); + form.setItemDataSource(item); + } + + }); + } + } + + public class MyForm extends Form implements ClickListener { + final GridLayout layout; + + @SuppressWarnings("unchecked") + public MyForm() { + setWidth(100, Unit.PERCENTAGE); + setHeight(null); + setImmediate(true); + + setFormFieldFactory(new DefaultFieldFactory() { + + @Override + public TextField createField(Item item, Object propertyId, + Component uiContext) { + TextField t = new TextField(); + t.setWidth(100, Unit.PERCENTAGE); + t.setHeight(null); + t.setCaption((String) propertyId); + t.setImmediate(false); + return t; + } + }); + + layout = new GridLayout(2, 1); + layout.setWidth(100, Unit.PERCENTAGE); + layout.setHeight(null); + layout.setColumnExpandRatio(0, 0.5f); + layout.setColumnExpandRatio(1, 0.5f); + layout.setMargin(true); + layout.setSpacing(true); + setLayout(layout); + + HorizontalLayout footer = new HorizontalLayout(); + footer.setSpacing(true); + footer.setMargin(false); + footer.setVisible(false); + setFooter(footer); + + defaultButton = new Button("Default Button", this); + defaultButton.setClickShortcut(KeyCode.ENTER); + footer.addComponent(defaultButton); + + otherButton = new Button("Other button", this); + footer.addComponent(otherButton); + } + + @Override + public void setItemDataSource(Item newDataSource) { + if (newDataSource != null) { + super.setItemDataSource(newDataSource); + layout.setVisible(true); + getFooter().setVisible(true); + } else { + super.setItemDataSource(null); + layout.setVisible(false); + getFooter().setVisible(false); + } + } + + @Override + @SuppressWarnings("rawtypes") + protected void attachField(Object propertyId, Field field) { + if (propertyId.equals("t1")) { + layout.addComponent(field, 0, 0); + } else if (propertyId.equals("t2")) { + layout.addComponent(field, 1, 0); + } + } + + public void buttonClick(ClickEvent event) { + // NOP + } + + } +} diff --git a/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html new file mode 100644 index 0000000000..27805ef61e --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="" /> +<title>base_theme_test</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">base_theme_test</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/ThemeTestUI?restartApplication&theme=base</td> + <td></td> +</tr> +<tr> + <td>setSpeed</td> + <td>150</td> + <td>150</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>labels</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td> + <td>31,8</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>buttons</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td> + <td>27,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>embedded</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td> + <td>33,24</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield0']/button</td> + <td>11,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-first-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td> + <td>402,158</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield1']/button</td> + <td>14,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-second-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield2']/button</td> + <td>9,16</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-third-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield3']/button</td> + <td>9,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-fourth-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td> + <td>35,2</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>textfields</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td> + <td>27,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select0']/div</td> + <td>9,11</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-first-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select1']/div</td> + <td>10,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-second-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select6']/div</td> + <td>7,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-third-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select7']/div</td> + <td>7,12</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-fourth-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select8']/div</td> + <td>9,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td> + <td>20,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>sliders</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td> + <td>18,5</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td> + <td>518,136</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>uploads</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td> + <td>18,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>forms</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td> + <td>22,25</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables</td> +</tr> +<tr> + <td>contextmenu</td> + <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-contextmenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='table0']/div[1]/div[2]</td> + <td>12,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-collapsemenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td> + <td>28,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>trees</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td> + <td>52,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>treetable</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td> + <td>23,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>layouts</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td> + <td>24,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tabsheets</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td> + <td>24,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>accordions</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td> + <td>15,0</td> +</tr> +<!--Window and Notification screenshots--> +<tr> + <td>click</td> + <td>//div[@id='windButton0']/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-default</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-light</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>11,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-black</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>8,5</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-dialog</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton4']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-opaque</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>10,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td> + <td>46,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt0']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-humanized</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>214,15</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-warning</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>172,13</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-error</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>318,11</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-tray</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>66,9</td> +</tr> +</tbody></table> +</body> +</html> diff --git a/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html new file mode 100644 index 0000000000..754fadf3d6 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="" /> +<title>chameleon_theme_test</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">chameleon_theme_test</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/ThemeTestUI?restartApplication&theme=chameleon</td> + <td></td> +</tr> +<tr> + <td>setSpeed</td> + <td>150</td> + <td>150</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>labels</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td> + <td>31,8</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>buttons</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td> + <td>27,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>embedded</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td> + <td>33,24</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield0']/button</td> + <td>11,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-first-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td> + <td>402,158</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield1']/button</td> + <td>14,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-second-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield2']/button</td> + <td>9,16</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-third-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield3']/button</td> + <td>9,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-fourth-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td> + <td>35,2</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>textfields</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td> + <td>27,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select0']/div</td> + <td>9,11</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-first-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select1']/div</td> + <td>10,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-second-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select6']/div</td> + <td>7,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-third-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select7']/div</td> + <td>7,12</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-fourth-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select8']/div</td> + <td>9,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td> + <td>20,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>sliders</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td> + <td>18,5</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td> + <td>518,136</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>uploads</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td> + <td>18,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>forms</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td> + <td>22,25</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables</td> +</tr> +<tr> + <td>contextmenu</td> + <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-contextmenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='table0']/div[1]/div[2]</td> + <td>12,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-collapsemenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td> + <td>28,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>trees</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td> + <td>52,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>treetable</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td> + <td>23,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>layouts</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td> + <td>24,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tabsheets</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td> + <td>24,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>accordions</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td> + <td>15,0</td> +</tr> +<!--Window and Notification screenshots--> +<tr> + <td>click</td> + <td>//div[@id='windButton0']/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-default</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-light</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>11,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-black</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>8,5</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-dialog</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton4']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-opaque</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>10,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td> + <td>46,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt0']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-humanized</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>214,15</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-warning</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>172,13</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-error</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>318,11</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-tray</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>66,9</td> +</tr> +</tbody></table> +</body> +</html> diff --git a/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html new file mode 100644 index 0000000000..04778d76ba --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="" /> +<title>liferay_theme_test</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">liferay_theme_test</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/ThemeTestUI?restartApplication&theme=liferay</td> + <td></td> +</tr> +<tr> + <td>setSpeed</td> + <td>150</td> + <td>150</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>labels</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td> + <td>31,8</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>buttons</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td> + <td>27,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>embedded</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td> + <td>33,24</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield0']/button</td> + <td>11,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-first-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td> + <td>402,158</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield1']/button</td> + <td>14,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-second-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield2']/button</td> + <td>9,16</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-third-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield3']/button</td> + <td>9,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-fourth-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td> + <td>35,2</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>textfields</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td> + <td>27,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select0']/div</td> + <td>9,11</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-first-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select1']/div</td> + <td>10,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-second-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select6']/div</td> + <td>7,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-third-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select7']/div</td> + <td>7,12</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-fourth-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select8']/div</td> + <td>9,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td> + <td>20,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>sliders</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td> + <td>18,5</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td> + <td>518,136</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>uploads</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td> + <td>18,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>forms</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td> + <td>22,25</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables</td> +</tr> +<tr> + <td>contextmenu</td> + <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-contextmenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='table0']/div[1]/div[2]</td> + <td>12,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-collapsemenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td> + <td>28,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>trees</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td> + <td>52,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>treetable</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td> + <td>23,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>layouts</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td> + <td>24,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tabsheets</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td> + <td>24,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>accordions</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td> + <td>15,0</td> +</tr> +<!--Window and Notification screenshots--> +<tr> + <td>click</td> + <td>//div[@id='windButton0']/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-default</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-light</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>11,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-black</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>8,5</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-dialog</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton4']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-opaque</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>10,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td> + <td>46,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt0']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-humanized</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>214,15</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-warning</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>172,13</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-error</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>318,11</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-tray</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>66,9</td> +</tr> +</tbody></table> +</body> +</html> diff --git a/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html new file mode 100644 index 0000000000..725d5bda74 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="selenium.base" href="" /> +<title>runo_theme_test</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">runo_theme_test</td></tr> +</thead><tbody> +<tr> + <td>open</td> + <td>/run/ThemeTestUI?restartApplication&theme=runo</td> + <td></td> +</tr> +<tr> + <td>setSpeed</td> + <td>150</td> + <td>150</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>labels</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td> + <td>31,8</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>buttons</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td> + <td>27,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>embedded</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td> + <td>33,24</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield0']/button</td> + <td>11,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-first-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td> + <td>402,158</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield1']/button</td> + <td>14,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-second-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield2']/button</td> + <td>9,16</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-third-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='datefield3']/button</td> + <td>9,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>dates-fourth-popup</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td> + <td>35,2</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>textfields</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td> + <td>27,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select0']/div</td> + <td>9,11</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-first-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select1']/div</td> + <td>10,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-second-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select6']/div</td> + <td>7,13</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-third-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select7']/div</td> + <td>7,12</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>selects-fourth-open</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='select8']/div</td> + <td>9,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td> + <td>20,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>sliders</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td> + <td>18,5</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td> + <td>518,136</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>uploads</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td> + <td>18,10</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>forms</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td> + <td>22,25</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables</td> +</tr> +<tr> + <td>contextmenu</td> + <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-contextmenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='table0']/div[1]/div[2]</td> + <td>12,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tables-collapsemenu</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td> + <td>28,3</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>trees</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td> + <td>52,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>treetable</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td> + <td>23,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>layouts</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td> + <td>24,1</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>tabsheets</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td> + <td>24,9</td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>accordions</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td> + <td>15,0</td> +</tr> +<!--Window and Notification screenshots--> +<tr> + <td>click</td> + <td>//div[@id='windButton0']/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-default</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-light</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>11,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-black</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>8,5</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-dialog</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>9,6</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='windButton4']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>subwindow-opaque</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td> + <td>10,7</td> +</tr> +<tr> + <td>mouseClick</td> + <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td> + <td>46,8</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt0']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-humanized</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>214,15</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt1']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-warning</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>172,13</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt2']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-error</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>318,11</td> +</tr> +<tr> + <td>click</td> + <td>//div[@id='notifButt3']/span/span</td> + <td></td> +</tr> +<tr> + <td>screenCapture</td> + <td></td> + <td>notification-tray</td> +</tr> +<tr> + <td>mouseClick</td> + <td>vaadin=runThemeTestUI::Root/VNotification[0]</td> + <td>66,9</td> +</tr> +</tbody></table> +</body> +</html> diff --git a/uitest/src/com/vaadin/tests/layouts/TestLayoutClickListeners.html b/uitest/src/com/vaadin/tests/layouts/TestLayoutClickListeners.html index a3f46626c0..496994a60c 100644 --- a/uitest/src/com/vaadin/tests/layouts/TestLayoutClickListeners.html +++ b/uitest/src/com/vaadin/tests/layouts/TestLayoutClickListeners.html @@ -190,12 +190,12 @@ <!--Drag in AbsoluteLayout--> <tr> <td>drag</td> - <td>vaadin=runcomvaadintestslayoutsTestLayoutClickListeners::/VVerticalLayout[0]/VOrderedLayout$Slot[1]/VHorizontalLayout[0]/VOrderedLayout$Slot[2]/VAbsoluteLayout[0]/domChild[0]/domChild[0]/domChild[3]/domChild[0]/domChild[0]</td> + <td>vaadin=runcomvaadintestslayoutsTestLayoutClickListeners::/VVerticalLayout[0]/VOrderedLayout$Slot[1]/VHorizontalLayout[0]/VOrderedLayout$Slot[2]/VAbsoluteLayout[0]/domChild[0]/domChild[0]/domChild[3]/domChild[0]</td> <td>21,9</td> </tr> <tr> <td>drop</td> - <td>vaadin=runcomvaadintestslayoutsTestLayoutClickListeners::/VVerticalLayout[0]/VOrderedLayout$Slot[1]/VHorizontalLayout[0]/VOrderedLayout$Slot[2]/VAbsoluteLayout[0]/domChild[0]/domChild[0]/domChild[3]/domChild[0]/domChild[0]</td> + <td>vaadin=runcomvaadintestslayoutsTestLayoutClickListeners::/VVerticalLayout[0]/VOrderedLayout$Slot[1]/VHorizontalLayout[0]/VOrderedLayout$Slot[2]/VAbsoluteLayout[0]/domChild[0]/domChild[0]/domChild[3]/domChild[0]</td> <td>21,9</td> </tr> <tr> |