getLogger().log(Level.SEVERE, message);
}
+ private static void warning(String message) {
+ getLogger().warning(message);
+ }
+
@Override
protected void extend(ServerConnector target) {
this.target = (AbstractComponentConnector) target;
var IE = @com.vaadin.client.BrowserInfo::get()().@com.vaadin.client.BrowserInfo::isIE()();
var IE8 = @com.vaadin.client.BrowserInfo::get()().@com.vaadin.client.BrowserInfo::isIE8()();
- if (sheet.cssRules) {
- theRules = sheet.cssRules
- } else if (sheet.rules) {
- theRules = sheet.rules
+ try {
+ if (sheet.cssRules) {
+ theRules = sheet.cssRules
+ } else if (sheet.rules) {
+ theRules = sheet.rules
+ }
+ } catch (e) {
+ // FF spews if trying to access rules for cross domain styles
+ @ResponsiveConnector::warning(*)("Can't process styles from " + sheet.href +
+ ", probably because of cross domain issues: " + e);
+ return;
}
// Special import handling for IE8
--- /dev/null
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.extensions;
+
+import com.vaadin.annotations.StyleSheet;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+
+@StyleSheet("http://fonts.googleapis.com/css?family=Cabin+Sketch")
+public class ResponsiveWithCrossDomainStyles extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ addComponent(new Button("Make responsive", new Button.ClickListener() {
+ @Override
+ public void buttonClick(ClickEvent event) {
+ event.getButton().setResponsive(true);
+ }
+ }));
+ }
+
+}
--- /dev/null
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.extensions;
+
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class ResponsiveWithCrossDomainStylesTest extends MultiBrowserTest {
+ @Test
+ public void testResponsive() {
+ setDebug(true);
+ openTestURL();
+
+ $(ButtonElement.class).first().click();
+
+ assertNoErrorNotifications();
+ }
+
+}