ソースを参照

Adding a temporary style to VNotification on Chrome >=41 (#17252)

Change-Id: I41c05e8f8487d351035804e0681947956d861479
tags/7.4.4
Alexey Fansky 9年前
コミット
5837509369

+ 8
- 1
client/src/com/vaadin/client/ui/VNotification.java ファイルの表示

@@ -257,12 +257,19 @@ public class VNotification extends VOverlay {
/**
* Android 4 fails to render notifications correctly without a little
* nudge (#8551)
* Chrome 41 now requires this too (#17252)
*/
if (BrowserInfo.get().isAndroid()) {
if (BrowserInfo.get().isAndroid()
|| isChrome41OrHigher()) {
WidgetUtil.setStyleTemporarily(getElement(), "display", "none");
}
}

private boolean isChrome41OrHigher() {
return BrowserInfo.get().isChrome()
&& BrowserInfo.get().getBrowserMajorVersion() >= 41;
}

protected void hideAfterDelay() {
if (delay == null) {
delay = new Timer() {

+ 33
- 0
uitest/src/com/vaadin/tests/components/notification/ChromeBottomNotification.java ファイルの表示

@@ -0,0 +1,33 @@
package com.vaadin.tests.components.notification;

import com.vaadin.server.VaadinRequest;
import com.vaadin.shared.Position;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Notification;

public class ChromeBottomNotification extends AbstractTestUI {
@Override
protected void setup(VaadinRequest request) {
addButton("Show notification", new Button.ClickListener() {
@Override
public void buttonClick(Button.ClickEvent event) {
Notification notification = new Notification(
"Hello world",
Notification.Type.ERROR_MESSAGE);
notification.setPosition(Position.BOTTOM_CENTER);
notification.show(getPage());
}
});
}

@Override
protected Integer getTicketNumber() {
return 17252;
}

@Override
public String getDescription() {
return "Bottom notification on Chrome goes up to top";
}
}

読み込み中…
キャンセル
保存