Преглед изворни кода

Log exception from responsive with cross site css in FF (#16249)

Change-Id: I6072429d3a87afd25a6dd6604749ace728ab6d7d
tags/7.6.0.alpha3
Leif Åstrand пре 9 година
родитељ
комит
16a00bedde

+ 15
- 4
client/src/com/vaadin/client/extensions/ResponsiveConnector.java Прегледај датотеку

@@ -84,6 +84,10 @@ public class ResponsiveConnector extends AbstractExtensionConnector implements
getLogger().log(Level.SEVERE, message);
}

private static void warning(String message) {
getLogger().warning(message);
}

@Override
protected void extend(ServerConnector target) {
this.target = (AbstractComponentConnector) target;
@@ -204,10 +208,17 @@ public class ResponsiveConnector extends AbstractExtensionConnector implements
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

+ 37
- 0
uitest/src/com/vaadin/tests/extensions/ResponsiveWithCrossDomainStyles.java Прегледај датотеку

@@ -0,0 +1,37 @@
/*
* 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);
}
}));
}

}

+ 34
- 0
uitest/src/com/vaadin/tests/extensions/ResponsiveWithCrossDomainStylesTest.java Прегледај датотеку

@@ -0,0 +1,34 @@
/*
* 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();
}

}

Loading…
Откажи
Сачувај