changeset 9252:241b12c62ac4

8136501: Make HTMLEditorSkin public API Reviewed-by: leifs, kcr
author jgiles
date Tue, 15 Sep 2015 09:35:11 +1200
parents 9ea2726cb92f
children ba63323aed16
files modules/web/src/android/java/javafx/scene/web/HTMLEditor.java modules/web/src/ios/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java modules/web/src/ios/java/javafx/scene/web/HTMLEditor.java modules/web/src/main/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java modules/web/src/main/java/com/sun/javafx/scene/web/skin/HTMLEditorSkin.java modules/web/src/main/java/javafx/scene/web/HTMLEditor.java modules/web/src/main/java/javafx/scene/web/HTMLEditorSkin.java modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignCenter_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignJustified_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignLeft_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignRight_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Bold_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Copy_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Cut_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/DecreaseIndent_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/DrawHorizontalLine_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/FontBackgroundColor_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/FontColor_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_de.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_es.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_fr.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_it.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ja.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ko.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_pt_BR.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_sv.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_CN.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_TW.properties modules/web/src/main/resources/com/sun/javafx/scene/web/skin/IncreaseIndent_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Italic_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/OrderedListNumbers_16x16_JFX-rtl.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/OrderedListNumbers_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Paste_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Redo_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Strikethrough_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Underline_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Undo_16x16_JFX.png modules/web/src/main/resources/com/sun/javafx/scene/web/skin/UnorderedListBullets_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/AlignCenter_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/AlignJustified_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/AlignLeft_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/AlignRight_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Bold_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Copy_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Cut_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/DecreaseIndent_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/DrawHorizontalLine_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/FontBackgroundColor_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/FontColor_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_de.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_es.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_fr.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_it.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_ja.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_ko.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_pt_BR.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_sv.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_zh_CN.properties modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_zh_TW.properties modules/web/src/main/resources/javafx/scene/web/IncreaseIndent_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Italic_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/OrderedListNumbers_16x16_JFX-rtl.png modules/web/src/main/resources/javafx/scene/web/OrderedListNumbers_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Paste_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Redo_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Strikethrough_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Underline_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/Undo_16x16_JFX.png modules/web/src/main/resources/javafx/scene/web/UnorderedListBullets_16x16_JFX.png
diffstat 71 files changed, 2160 insertions(+), 2086 deletions(-) [+]
line wrap: on
line diff
--- a/modules/web/src/android/java/javafx/scene/web/HTMLEditor.java	Mon Sep 14 12:21:08 2015 -0700
+++ b/modules/web/src/android/java/javafx/scene/web/HTMLEditor.java	Tue Sep 15 09:35:11 2015 +1200
@@ -26,15 +26,8 @@
 package javafx.scene.web;
 
 
-import javafx.css.CssMetaData;
-import javafx.css.StyleableProperty;
-import com.sun.javafx.scene.web.skin.HTMLEditorSkin;
-
-import javafx.geometry.NodeOrientation;
 import javafx.scene.control.Control;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import javafx.scene.control.Skin;
 
 
--- a/modules/web/src/ios/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java	Mon Sep 14 12:21:08 2015 -0700
+++ b/modules/web/src/ios/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java	Tue Sep 15 09:35:11 2015 +1200
@@ -30,7 +30,7 @@
 import java.util.List;
 import com.sun.javafx.scene.control.behavior.BehaviorBase;
 import com.sun.javafx.scene.control.behavior.KeyBinding;
-import com.sun.javafx.scene.web.skin.HTMLEditorSkin;
+import javafx.scene.web.HTMLEditorSkin;
 import static javafx.scene.input.KeyCode.B;
 import static javafx.scene.input.KeyCode.I;
 import static javafx.scene.input.KeyCode.U;
@@ -42,32 +42,30 @@
  * HTML editor behavior.
  */
 public class HTMLEditorBehavior extends BehaviorBase<HTMLEditor> {
-    protected static final List<KeyBinding> HTML_EDITOR_BINDINGS = new ArrayList<KeyBinding>();
+    private final InputMap<HTMLEditor> inputMap;
 
-    static {
-        HTML_EDITOR_BINDINGS.add(new KeyBinding(B, "bold").shortcut());
-        HTML_EDITOR_BINDINGS.add(new KeyBinding(I, "italic").shortcut());
-        HTML_EDITOR_BINDINGS.add(new KeyBinding(U, "underline").shortcut());
-        
-        HTML_EDITOR_BINDINGS.add(new KeyBinding(F12, "F12"));
-        HTML_EDITOR_BINDINGS.add(new KeyBinding(TAB, "TraverseNext").ctrl());
-        HTML_EDITOR_BINDINGS.add(new KeyBinding(TAB, "TraversePrevious").ctrl().shift());
+    public HTMLEditorBehavior(HTMLEditor htmlEditor) {
+        super(htmlEditor);
+
+        this.inputMap = createInputMap();
+        addDefaultMapping(inputMap,
+                new KeyMapping(new KeyBinding(B).shortcut(), e -> keyboardShortcuts(HTMLEditorSkin.Command.BOLD)),
+                new KeyMapping(new KeyBinding(I).shortcut(), e -> keyboardShortcuts(HTMLEditorSkin.Command.ITALIC)),
+                new KeyMapping(new KeyBinding(U).shortcut(), e -> keyboardShortcuts(HTMLEditorSkin.Command.UNDERLINE)),
+
+                new KeyMapping(new KeyBinding(F12), e -> getNode().getImpl_traversalEngine().selectFirst().requestFocus()),
+                new KeyMapping(new KeyBinding(TAB).ctrl(), FocusTraversalInputMap::traverseNext),
+                new KeyMapping(new KeyBinding(TAB).ctrl().shift(), FocusTraversalInputMap::traversePrevious)
+        );
     }
 
-    public HTMLEditorBehavior(HTMLEditor htmlEditor) {
-        super(htmlEditor, HTML_EDITOR_BINDINGS);
+    @Override public InputMap<HTMLEditor> getInputMap() {
+        return inputMap;
     }
 
-    @Override
-    protected void callAction(String name) {
-        if ("bold".equals(name) || "italic".equals(name) || "underline".equals(name)) {
-            HTMLEditor editor = getControl();
-            HTMLEditorSkin editorSkin = (HTMLEditorSkin)editor.getSkin();
-            editorSkin.keyboardShortcuts(name);
-        } else if ("F12".equals(name)) {
-            getControl().getImpl_traversalEngine().selectFirst().requestFocus();
-        } else {
-            super.callAction(name);
-        }
+    private void keyboardShortcuts(HTMLEditorSkin.Command command) {
+        HTMLEditor editor = getNode();
+        HTMLEditorSkin editorSkin = (HTMLEditorSkin)editor.getSkin();
+        editorSkin.performCommand(command);
     }
 }
--- a/modules/web/src/ios/java/javafx/scene/web/HTMLEditor.java	Mon Sep 14 12:21:08 2015 -0700
+++ b/modules/web/src/ios/java/javafx/scene/web/HTMLEditor.java	Tue Sep 15 09:35:11 2015 +1200
@@ -26,15 +26,10 @@
 package javafx.scene.web;
 
 
-import javafx.css.CssMetaData;
 import javafx.css.StyleableProperty;
-import com.sun.javafx.scene.web.skin.HTMLEditorSkin;
 
-import javafx.geometry.NodeOrientation;
 import javafx.scene.control.Control;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import javafx.scene.control.Skin;
 
 
--- a/modules/web/src/main/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java	Mon Sep 14 12:21:08 2015 -0700
+++ b/modules/web/src/main/java/com/sun/javafx/scene/web/behavior/HTMLEditorBehavior.java	Tue Sep 15 09:35:11 2015 +1200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@
 import com.sun.javafx.scene.control.inputmap.InputMap;
 import com.sun.javafx.scene.control.inputmap.KeyBinding;
 import javafx.scene.web.HTMLEditor;
-import com.sun.javafx.scene.web.skin.HTMLEditorSkin;
+import javafx.scene.web.HTMLEditorSkin;
 import com.sun.javafx.scene.control.behavior.FocusTraversalInputMap;
 
 import static javafx.scene.input.KeyCode.*;
@@ -41,15 +41,14 @@
 public class HTMLEditorBehavior extends BehaviorBase<HTMLEditor> {
     private final InputMap<HTMLEditor> inputMap;
 
-
     public HTMLEditorBehavior(HTMLEditor htmlEditor) {
         super(htmlEditor);
 
         this.inputMap = createInputMap();
         addDefaultMapping(inputMap,
-            new KeyMapping(new KeyBinding(B).shortcut(), e -> keyboardShortcuts("bold")),
-            new KeyMapping(new KeyBinding(I).shortcut(), e -> keyboardShortcuts("italic")),
-            new KeyMapping(new KeyBinding(U).shortcut(), e -> keyboardShortcuts("underline")),
+            new KeyMapping(new KeyBinding(B).shortcut(), e -> keyboardShortcuts(HTMLEditorSkin.Command.BOLD)),
+            new KeyMapping(new KeyBinding(I).shortcut(), e -> keyboardShortcuts(HTMLEditorSkin.Command.ITALIC)),
+            new KeyMapping(new KeyBinding(U).shortcut(), e -> keyboardShortcuts(HTMLEditorSkin.Command.UNDERLINE)),
 
             new KeyMapping(new KeyBinding(F12), e -> getNode().getImpl_traversalEngine().selectFirst().requestFocus()),
             new KeyMapping(new KeyBinding(TAB).ctrl(), FocusTraversalInputMap::traverseNext),
@@ -61,9 +60,9 @@
         return inputMap;
     }
 
-    private void keyboardShortcuts(String name) {
+    private void keyboardShortcuts(HTMLEditorSkin.Command command) {
         HTMLEditor editor = getNode();
         HTMLEditorSkin editorSkin = (HTMLEditorSkin)editor.getSkin();
-        editorSkin.keyboardShortcuts(name);
+        editorSkin.performCommand(command);
     }
 }
--- a/modules/web/src/main/java/com/sun/javafx/scene/web/skin/HTMLEditorSkin.java	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1145 +0,0 @@
-/*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.web.skin;
-
-import java.util.ResourceBundle;
-
-import com.sun.javafx.application.PlatformImpl;
-import com.sun.javafx.scene.traversal.Algorithm;
-import com.sun.javafx.scene.traversal.Direction;
-import com.sun.javafx.scene.traversal.ParentTraversalEngine;
-import com.sun.javafx.scene.traversal.TraversalContext;
-import javafx.css.PseudoClass;
-import javafx.geometry.Orientation;
-import org.w3c.dom.html.HTMLDocument;
-import org.w3c.dom.html.HTMLElement;
-
-import javafx.application.ConditionalFeature;
-import javafx.application.Platform;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.css.StyleableProperty;
-import javafx.geometry.NodeOrientation;
-import javafx.scene.Node;
-import javafx.scene.control.Button;
-import javafx.scene.control.ComboBox;
-import javafx.scene.control.ListCell;
-import javafx.scene.control.ListView;
-import javafx.scene.control.Separator;
-import javafx.scene.control.TextInputControl;
-import javafx.scene.control.ToggleButton;
-import javafx.scene.control.ToggleGroup;
-import javafx.scene.control.ToolBar;
-import javafx.scene.control.Tooltip;
-import javafx.scene.image.Image;
-import javafx.scene.image.ImageView;
-import javafx.scene.input.KeyCode;
-import javafx.scene.input.KeyEvent;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.ColumnConstraints;
-import javafx.scene.layout.GridPane;
-import javafx.scene.layout.Priority;
-import javafx.scene.paint.Color;
-import javafx.scene.text.Font;
-import javafx.scene.web.HTMLEditor;
-import javafx.scene.web.WebView;
-import javafx.util.Callback;
-
-import javafx.scene.control.skin.ColorPickerSkin;
-import com.sun.javafx.scene.control.skin.FXVK;
-import com.sun.javafx.scene.web.behavior.HTMLEditorBehavior;
-import com.sun.webkit.WebPage;
-import com.sun.javafx.webkit.Accessor;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import javafx.scene.Scene;
-import javafx.scene.control.*;
-import javafx.scene.layout.*;
-import javafx.collections.ListChangeListener;
-
-import static javafx.geometry.NodeOrientation.*;
-import javafx.print.PrinterJob;
-
-/**
- * HTML editor skin.
- */
-public class HTMLEditorSkin extends SkinBase<HTMLEditor> {
-    private GridPane gridPane;
-
-    private ToolBar toolbar1;
-    private ToolBar toolbar2;
-
-    private Button cutButton;
-    private Button copyButton;
-    private Button pasteButton;
-
-//    private Button undoButton;
-//    private Button redoButton;
-
-    private Button insertHorizontalRuleButton;
-
-    private ToggleGroup alignmentToggleGroup;
-    private ToggleButton alignLeftButton;
-    private ToggleButton alignCenterButton;
-    private ToggleButton alignRightButton;
-    private ToggleButton alignJustifyButton;
-
-    private ToggleButton bulletsButton;
-    private ToggleButton numbersButton;
-
-    private Button indentButton;
-    private Button outdentButton;
-
-    private ComboBox<String> formatComboBox;
-    private Map<String, String> formatStyleMap;
-    private Map<String, String> styleFormatMap;
-
-    private ComboBox<String> fontFamilyComboBox;
-
-    private ComboBox<String> fontSizeComboBox;
-    private Map<String, String> fontSizeMap;
-    private Map<String, String> sizeFontMap;
-
-    private ToggleButton boldButton;
-    private ToggleButton italicButton;
-    private ToggleButton underlineButton;
-    private ToggleButton strikethroughButton;
-
-    private ColorPicker fgColorButton;
-    private ColorPicker bgColorButton;
-
-    private WebView webView;
-    private WebPage webPage;
-
-    private static final String CUT_COMMAND = "cut";
-    private static final String COPY_COMMAND = "copy";
-    private static final String PASTE_COMMAND = "paste";
-
-    private static final String UNDO_COMMAND = "undo";
-    private static final String REDO_COMMAND = "redo";
-
-    private static final String INSERT_HORIZONTAL_RULE_COMMAND = "inserthorizontalrule";
-
-    private static final String ALIGN_LEFT_COMMAND = "justifyleft";
-    private static final String ALIGN_CENTER_COMMAND = "justifycenter";
-    private static final String ALIGN_RIGHT_COMMAND = "justifyright";
-    private static final String ALIGN_JUSTIFY_COMMAND = "justifyfull";
-
-    private static final String BULLETS_COMMAND = "insertUnorderedList";
-    private static final String NUMBERS_COMMAND = "insertOrderedList";
-
-    private static final String INDENT_COMMAND = "indent";
-    private static final String OUTDENT_COMMAND = "outdent";
-
-    private static final String FORMAT_COMMAND = "formatblock";
-    private static final String FONT_FAMILY_COMMAND = "fontname";
-    private static final String FONT_SIZE_COMMAND = "fontsize";
-
-    private static final String BOLD_COMMAND = "bold";
-    private static final String ITALIC_COMMAND = "italic";
-    private static final String UNDERLINE_COMMAND = "underline";
-    private static final String STRIKETHROUGH_COMMAND = "strikethrough";
-
-    private static final String FOREGROUND_COLOR_COMMAND = "forecolor";
-    private static final String BACKGROUND_COLOR_COMMAND = "backcolor";
-
-    private static final Color DEFAULT_BG_COLOR = Color.WHITE;
-    private static final Color DEFAULT_FG_COLOR = Color.BLACK;
-
-    private static final String FORMAT_PARAGRAPH = "<p>";
-    private static final String FORMAT_HEADING_1 = "<h1>";
-    private static final String FORMAT_HEADING_2 = "<h2>";
-    private static final String FORMAT_HEADING_3 = "<h3>";
-    private static final String FORMAT_HEADING_4 = "<h4>";
-    private static final String FORMAT_HEADING_5 = "<h5>";
-    private static final String FORMAT_HEADING_6 = "<h6>";
-
-    private static final String SIZE_XX_SMALL = "1";
-    private static final String SIZE_X_SMALL = "2";
-    private static final String SIZE_SMALL = "3";
-    private static final String SIZE_MEDIUM = "4";
-    private static final String SIZE_LARGE = "5";
-    private static final String SIZE_X_LARGE = "6";
-    private static final String SIZE_XX_LARGE = "7";
-
-    private static final String INSERT_NEW_LINE_COMMAND = "insertnewline";
-    private static final String INSERT_TAB_COMMAND = "inserttab";
-
-    // As per RT-16330: default format -> bold/size mappings are as follows:
-    private static final String[][] DEFAULT_FORMAT_MAPPINGS = {
-        { FORMAT_PARAGRAPH,   "",             SIZE_SMALL     },
-        { FORMAT_HEADING_1,   BOLD_COMMAND,   SIZE_X_LARGE   },
-        { FORMAT_HEADING_2,   BOLD_COMMAND,   SIZE_LARGE     },
-        { FORMAT_HEADING_3,   BOLD_COMMAND,   SIZE_MEDIUM    },
-        { FORMAT_HEADING_4,   BOLD_COMMAND,   SIZE_SMALL     },
-        { FORMAT_HEADING_5,   BOLD_COMMAND,   SIZE_X_SMALL   },
-        { FORMAT_HEADING_6,   BOLD_COMMAND,   SIZE_XX_SMALL  },
-    };
-
-    // As per RT-16379: default OS -> font mappings:
-    private static final String[] DEFAULT_WINDOWS_7_MAPPINGS = {
-        "Windows 7",       "Segoe UI",        "12px",   "",     "120"
-    };
-    private static final String[][] DEFAULT_OS_MAPPINGS = {
-        // OS               Font name           size      weight  DPI
-        { "Windows XP",      "Tahoma",          "12px",   "",     "96"  },
-        { "Windows Vista",   "Segoe UI",        "12px",   "",     "96"  },
-        DEFAULT_WINDOWS_7_MAPPINGS,
-        { "Mac OS X",        "Lucida Grande",   "12px",   "",     "72"  },
-        { "Linux",           "Lucida Sans",   "12px",   "",     "96"  },
-    };
-    private static final String DEFAULT_OS_FONT = getOSMappings()[1];
-
-    private static String[] getOSMappings() {
-        String os = System.getProperty("os.name");
-        for  (int i = 0; i < DEFAULT_OS_MAPPINGS.length; i++) {
-            if (os.equals(DEFAULT_OS_MAPPINGS[i][0])) {
-                return DEFAULT_OS_MAPPINGS[i];
-            }
-        }
-
-        return DEFAULT_WINDOWS_7_MAPPINGS;
-    }
-
-    private ParentTraversalEngine engine;
-
-    private boolean resetToolbarState = false;
-    private String cachedHTMLText = "<html><head></head><body contenteditable=\"true\"></body></html>";
-    private ListChangeListener<Node> itemsListener = c -> {
-        while (c.next()) {
-            if (c.getRemovedSize() > 0) {
-                for (Node n : c.getList()) {
-                    if (n instanceof WebView) {
-                        // RT-28611 webView removed - set associated webPage to null
-                        webPage.dispose();
-                    }
-                }
-            }
-        }
-    };
-    public HTMLEditorSkin(HTMLEditor htmlEditor) {
-        super(htmlEditor);
-
-        // install default input map for the HTMLEditor control
-        HTMLEditorBehavior behavior = new HTMLEditorBehavior(htmlEditor);
-//        htmlEditor.setInputMap(behavior.getInputMap());
-
-        getChildren().clear();
-
-        gridPane = new GridPane();
-        gridPane.getStyleClass().add("grid");
-        getChildren().addAll(gridPane);
-
-        toolbar1 = new ToolBar();
-        toolbar1.getStyleClass().add("top-toolbar");
-        gridPane.add(toolbar1, 0, 0);
-
-        toolbar2 = new ToolBar();
-        toolbar2.getStyleClass().add("bottom-toolbar");
-        gridPane.add(toolbar2, 0, 1);
-
-//        populateToolbars();
-
-        webView = new WebView();
-        gridPane.add(webView, 0, 2);
-
-        ColumnConstraints column = new ColumnConstraints();
-        column.setHgrow(Priority.ALWAYS);
-        gridPane.getColumnConstraints().add(column);
-
-        webPage = Accessor.getPageFor(webView.getEngine());
-
-        webView.addEventHandler(MouseEvent.MOUSE_RELEASED, event2 -> {
-            Platform.runLater(new Runnable() {
-                @Override public void run() {
-                    enableAtomicityCheck = true;
-                    updateToolbarState(true);
-                    enableAtomicityCheck = false;
-                }
-            });
-        });
-
-
-        webView.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
-            applyTextFormatting();
-            if (event.getCode() == KeyCode.CONTROL || event.getCode() == KeyCode.META) {
-                return;
-            }
-            if (event.getCode() == KeyCode.TAB && !event.isControlDown()) {
-                if (!event.isShiftDown()) {
-                    /*
-                    ** if we are in either Bullet or Numbers mode then the
-                    ** TAB key tells us to indent again.
-                    */
-                    if (getCommandState(BULLETS_COMMAND) || getCommandState(NUMBERS_COMMAND)) {
-                        executeCommand(INDENT_COMMAND, null);
-                    }
-                    else {
-                        executeCommand(INSERT_TAB_COMMAND, null);
-                    }
-                }
-                else {
-                    /*
-                    ** if we are in either Bullet or Numbers mode then the
-                    ** Shift-TAB key tells us to outdent.
-                    */
-                    if (getCommandState(BULLETS_COMMAND) || getCommandState(NUMBERS_COMMAND)) {
-                        executeCommand(OUTDENT_COMMAND, null);
-                    }
-                }
-                return;
-            }
-            // Work around for bug that sends events from ColorPicker to this Scene
-            if ((fgColorButton != null && fgColorButton.isShowing()) ||
-                (bgColorButton != null && bgColorButton.isShowing())) {
-                return;
-            }
-            Platform.runLater(() -> {
-                if (webPage.getClientSelectedText().isEmpty()) {
-                    if (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||
-                            event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT ||
-                            event.getCode() == KeyCode.HOME || event.getCode() == KeyCode.END) {
-                        updateToolbarState(true);
-                    } else if (event.isControlDown() || event.isMetaDown()) {
-                        if (event.getCode() == KeyCode.B) {
-                            keyboardShortcuts(BOLD_COMMAND);
-                        } else if (event.getCode() == KeyCode.I) {
-                            keyboardShortcuts(ITALIC_COMMAND);
-                        } else if (event.getCode() == KeyCode.U) {
-                            keyboardShortcuts(UNDERLINE_COMMAND);
-                        }
-                        updateToolbarState(true);
-                    } else {
-                        resetToolbarState = event.getCode() == KeyCode.ENTER;
-                        if (resetToolbarState) {
-                            if (getCommandState(BOLD_COMMAND) != boldButton.selectedProperty().getValue()) {
-                                executeCommand(BOLD_COMMAND, boldButton.selectedProperty().getValue().toString());
-                            }
-                        }
-                        updateToolbarState(false);
-                    }
-                    resetToolbarState = false;
-                } else if (event.isShiftDown() &&
-                        (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||
-                                event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT)) {
-                    updateToolbarState(true);
-                }
-            });
-        });
-
-        webView.addEventHandler(KeyEvent.KEY_RELEASED, event -> {
-            if (event.getCode() == KeyCode.CONTROL || event.getCode() == KeyCode.META) {
-                return;
-            }
-            // Work around for bug that sends events from ColorPicker to this Scene
-            if ((fgColorButton != null && fgColorButton.isShowing()) ||
-                (bgColorButton != null && bgColorButton.isShowing())) {
-                return;
-            }
-            Platform.runLater(() -> {
-                if (webPage.getClientSelectedText().isEmpty()) {
-                    if (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||
-                            event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT ||
-                            event.getCode() == KeyCode.HOME || event.getCode() == KeyCode.END) {
-                        updateToolbarState(true);
-                    } else if (event.isControlDown() || event.isMetaDown()) {
-                        if (event.getCode() == KeyCode.B) {
-                            keyboardShortcuts(BOLD_COMMAND);
-                        } else if (event.getCode() == KeyCode.I) {
-                            keyboardShortcuts(ITALIC_COMMAND);
-                        } else if (event.getCode() == KeyCode.U) {
-                            keyboardShortcuts(UNDERLINE_COMMAND);
-                        }
-                        updateToolbarState(true);
-                    } else {
-                        resetToolbarState = event.getCode() == KeyCode.ENTER;
-                        if (!resetToolbarState) {
-                            updateToolbarState(false);
-                        }
-                    }
-                    resetToolbarState = false;
-                }
-            });
-        });
-
-        getSkinnable().focusedProperty().addListener((observable, oldValue, newValue) -> {
-            Platform.runLater(new Runnable() {
-                @Override public void run() {
-                    if (newValue) {
-                        webView.requestFocus();
-                    }
-                }
-            });
-        });
-
-        webView.focusedProperty().addListener((observable, oldValue, newValue) -> {
-            // disabling as a fix for RT-30081
-//                if (newValue) {
-//                    webPage.dispatchFocusEvent(new WCFocusEvent(WCFocusEvent.FOCUS_GAINED, WCFocusEvent.FORWARD));
-//                    enableToolbar(true);
-//                } else {
-//                    webPage.dispatchFocusEvent(new WCFocusEvent(WCFocusEvent.FOCUS_LOST, WCFocusEvent.FORWARD));
-//                    enableToolbar(false);
-//                }
-
-            pseudoClassStateChanged(CONTAINS_FOCUS_PSEUDOCLASS_STATE, newValue);
-
-            Platform.runLater(new Runnable() {
-                @Override public void run() {
-                    updateToolbarState(true);
-
-                    if (PlatformImpl.isSupported(ConditionalFeature.VIRTUAL_KEYBOARD)) {
-                        Scene scene = getSkinnable().getScene();
-                        if (newValue) {
-                            FXVK.attach(webView);
-                        } else if (scene == null ||
-                                   scene.getWindow() == null ||
-                                   !scene.getWindow().isFocused() ||
-                                   !(scene.getFocusOwner() instanceof TextInputControl /*||
-                                     getScene().getFocusOwner() instanceof WebView*/)) {
-                            FXVK.detach();
-                        }
-                    }
-                }
-            });
-        });
-
-        webView.getEngine().getLoadWorker().workDoneProperty().addListener((observable, oldValue, newValue) -> {
-            Platform.runLater(() -> {
-                webView.requestLayout();
-            });
-
-            double totalWork = webView.getEngine().getLoadWorker().getTotalWork();
-            if (newValue.doubleValue() == totalWork) {
-                cachedHTMLText = null;
-                Platform.runLater(() -> {
-                    setContentEditable(true);
-                    updateToolbarState(true);
-                    updateNodeOrientation();
-                });
-            }
-        });
-
-        enableToolbar(true);
-        setHTMLText(cachedHTMLText);
-
-        engine = new ParentTraversalEngine(getSkinnable(), new Algorithm() {
-            @Override
-            public Node select(Node owner, Direction dir, TraversalContext context) {
-                return cutButton;
-            }
-
-            @Override
-            public Node selectFirst(TraversalContext context) {
-                return cutButton;
-            }
-
-            @Override
-            public Node selectLast(TraversalContext context) {
-                return cutButton;
-            }
-        });
-        getSkinnable().setImpl_traversalEngine(engine);
-        webView.setFocusTraversable(true);
-        gridPane.getChildren().addListener(itemsListener);
-    }
-    
-    public final String getHTMLText() {
-        // RT17203 setHTMLText is asynchronous.  We use the cached version of
-        // the html text until the page finishes loading.        
-        return cachedHTMLText != null ? cachedHTMLText : webPage.getHtml(webPage.getMainFrame());
-    }
-
-    public final void setHTMLText(String htmlText) {
-        cachedHTMLText = htmlText;
-        webPage.load(webPage.getMainFrame(), htmlText, "text/html");
-
-        Platform.runLater(() -> {
-            updateToolbarState(true);
-        });
-    }
-
-    private ResourceBundle resources;
-
-    private void populateToolbars() {
-        resources = ResourceBundle.getBundle(HTMLEditorSkin.class.getName());
-
-        // Toolbar 1
-        cutButton = addButton(toolbar1, resources.getString("cutIcon"), resources.getString("cut"), CUT_COMMAND, "html-editor-cut");
-        copyButton = addButton(toolbar1, resources.getString("copyIcon"), resources.getString("copy"), COPY_COMMAND, "html-editor-copy");
-        pasteButton = addButton(toolbar1, resources.getString("pasteIcon"), resources.getString("paste"), PASTE_COMMAND, "html-editor-paste");
-
-        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
-
-//        undoButton = addButton(toolbar1, "undoIcon", resources.getString("undo"), UNDO_COMMAND);
-//        redoButton = addButton(toolbar1, "redoIcon", resources.getString("redo"), REDO_COMMAND);//
-//        toolbar1.getItems().add(new Separator());
-
-         alignmentToggleGroup = new ToggleGroup();
-         alignLeftButton = addToggleButton(toolbar1, alignmentToggleGroup,
-            resources.getString("alignLeftIcon"), resources.getString("alignLeft"), ALIGN_LEFT_COMMAND, "html-editor-align-left");
-         alignCenterButton = addToggleButton(toolbar1, alignmentToggleGroup,
-            resources.getString("alignCenterIcon"), resources.getString("alignCenter"), ALIGN_CENTER_COMMAND, "html-editor-align-center");
-         alignRightButton = addToggleButton(toolbar1, alignmentToggleGroup,
-            resources.getString("alignRightIcon"), resources.getString("alignRight"), ALIGN_RIGHT_COMMAND, "html-editor-align-right");
-         alignJustifyButton = addToggleButton(toolbar1, alignmentToggleGroup,
-            resources.getString("alignJustifyIcon"), resources.getString("alignJustify"), ALIGN_JUSTIFY_COMMAND, "html-editor-align-justify");
-
-        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
-
-        outdentButton = addButton(toolbar1, resources.getString("outdentIcon"), resources.getString("outdent"), OUTDENT_COMMAND, "html-editor-outdent");
-        if (outdentButton.getGraphic() != null) outdentButton.getGraphic().setNodeOrientation(NodeOrientation.INHERIT);
-        indentButton = addButton(toolbar1, resources.getString("indentIcon"), resources.getString("indent"), INDENT_COMMAND, "html-editor-indent");
-        if (indentButton.getGraphic() != null) indentButton.getGraphic().setNodeOrientation(NodeOrientation.INHERIT);
-
-        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
-
-         ToggleGroup listStyleToggleGroup = new ToggleGroup();
-         bulletsButton = addToggleButton(toolbar1, listStyleToggleGroup,
-            resources.getString("bulletsIcon"), resources.getString("bullets"), BULLETS_COMMAND, "html-editor-bullets");
-         if (bulletsButton.getGraphic() != null) bulletsButton.getGraphic().setNodeOrientation(NodeOrientation.INHERIT);
-         numbersButton = addToggleButton(toolbar1, listStyleToggleGroup,
-            resources.getString("numbersIcon"), resources.getString("numbers"), NUMBERS_COMMAND, "html-editor-numbers");
-
-        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
-
-        //toolbar1.getItems().add(new Separator());
-
-        // Toolbar 2
-        formatComboBox = new ComboBox<String>();
-        formatComboBox.getStyleClass().add("font-menu-button");
-        formatComboBox.setFocusTraversable(false);
-        formatComboBox.setMinWidth(Region.USE_PREF_SIZE);
-        toolbar2.getItems().add(formatComboBox);
-
-        formatStyleMap = new HashMap<String, String>();
-        styleFormatMap = new HashMap<String, String>();
-
-        createFormatMenuItem(FORMAT_PARAGRAPH, resources.getString("paragraph"));
-        Platform.runLater(() -> {
-            formatComboBox.setValue(resources.getString("paragraph"));
-        });
-        createFormatMenuItem(FORMAT_HEADING_1, resources.getString("heading1"));
-        createFormatMenuItem(FORMAT_HEADING_2, resources.getString("heading2"));
-        createFormatMenuItem(FORMAT_HEADING_3, resources.getString("heading3"));
-        createFormatMenuItem(FORMAT_HEADING_4, resources.getString("heading4"));
-        createFormatMenuItem(FORMAT_HEADING_5, resources.getString("heading5"));
-        createFormatMenuItem(FORMAT_HEADING_6, resources.getString("heading6"));
-
-//        formatComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
-//            @Override public ListCell<String> call(ListView<String> param) {
-//                final ListCell<String> cell = new ListCell<String>() {
-//                    @Override public void updateItem(String item, boolean empty) {
-//                        super.updateItem(item, empty);
-//                        if (item != null) {
-//                            setText(item);
-//                        }
-//                    }
-//                };
-//                return cell;
-//            }
-//        });
-
-        formatComboBox.setTooltip(new Tooltip(resources.getString("format")));
-
-        formatComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
-            if (newValue == null) {
-                formatComboBox.setValue(null);
-            } else {
-                String formatValue = formatStyleMap.get(newValue);
-                executeCommand(FORMAT_COMMAND, formatValue);
-                updateToolbarState(false);
-
-                // RT-16330 match the new font format with the required weight and size
-                for (int i = 0; i < DEFAULT_FORMAT_MAPPINGS.length; i++) {
-                    String[] mapping = DEFAULT_FORMAT_MAPPINGS[i];
-                    if (mapping[0].equalsIgnoreCase(formatValue)) {
-                        executeCommand(FONT_SIZE_COMMAND, mapping[2]);
-                        updateToolbarState(false);
-                        break;
-                    }
-                }
-            }
-        });
-
-        fontFamilyComboBox = new ComboBox<String>();
-        fontFamilyComboBox.getStyleClass().add("font-menu-button");
-        fontFamilyComboBox.setMinWidth(FONT_FAMILY_MENUBUTTON_WIDTH);
-        fontFamilyComboBox.setPrefWidth(FONT_FAMILY_MENUBUTTON_WIDTH);
-        fontFamilyComboBox.setMaxWidth(FONT_FAMILY_MENUBUTTON_WIDTH);
-        fontFamilyComboBox.setFocusTraversable(false);
-        fontFamilyComboBox.setTooltip(new Tooltip(resources.getString("fontFamily")));
-        toolbar2.getItems().add(fontFamilyComboBox);
-
-        // Fix for RT-32906, where all rows were being put through the cell factory
-        // so that they could be measured. Because we have a fixed width for the
-        // button this is unnecessary and so we tell the ComboBox to not measure
-        // any rows.
-        fontFamilyComboBox.getProperties().put("comboBoxRowsToMeasureWidth", 0);
-
-        fontFamilyComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
-            @Override public ListCell<String> call(ListView<String> param) {
-                final ListCell<String> cell = new ListCell<String>() {
-                    @Override public void updateItem(String item, boolean empty) {
-                        super.updateItem(item, empty);
-                        if (item != null) {
-                            setText(item);
-                            setFont(new Font(item, 12));
-                        }
-                    }
-                };
-                cell.setMinWidth(FONT_FAMILY_MENU_WIDTH);
-                cell.setPrefWidth(FONT_FAMILY_MENU_WIDTH);
-                cell.setMaxWidth(FONT_FAMILY_MENU_WIDTH);
-                return cell;
-            }
-        });
-
-        Platform.runLater(() -> {
-            final ObservableList<String> fonts = FXCollections.observableArrayList(Font.getFamilies());
-            for (String fontFamily : fonts) {
-                if (DEFAULT_OS_FONT.equals(fontFamily)) {
-                    fontFamilyComboBox.setValue(fontFamily);
-                }
-                fontFamilyComboBox.setItems(fonts);
-            }
-        });
-
-        fontFamilyComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
-            executeCommand(FONT_FAMILY_COMMAND, newValue);
-        });
-
-        fontSizeComboBox = new ComboBox<String>();
-        fontSizeComboBox.getStyleClass().add("font-menu-button");
-        fontSizeComboBox.setFocusTraversable(false);
-        toolbar2.getItems().add(fontSizeComboBox);
-
-        fontSizeMap = new HashMap<String, String>();
-        sizeFontMap = new HashMap<String, String>();
-
-        createFontSizeMenuItem(SIZE_XX_SMALL, resources.getString("extraExtraSmall"));
-        createFontSizeMenuItem(SIZE_X_SMALL, resources.getString("extraSmall"));
-        createFontSizeMenuItem(SIZE_SMALL, resources.getString("small"));
-        Platform.runLater(() -> {
-            fontSizeComboBox.setValue(resources.getString("small"));
-        });
-        createFontSizeMenuItem(SIZE_MEDIUM, resources.getString("medium"));
-        createFontSizeMenuItem(SIZE_LARGE, resources.getString("large"));
-        createFontSizeMenuItem(SIZE_X_LARGE, resources.getString("extraLarge"));
-        createFontSizeMenuItem(SIZE_XX_LARGE, resources.getString("extraExtraLarge"));
-        fontSizeComboBox.setTooltip(new Tooltip(resources.getString("fontSize")));
-
-        fontSizeComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
-            @Override public ListCell<String> call(ListView<String> param) {
-                final ListCell<String> cell = new ListCell<String>() {
-                    @Override public void updateItem(String item, boolean empty) {
-                        super.updateItem(item, empty);
-                        if (item != null) {
-                            setText(item);
-                            // Remove trailing non-digits to get the size (don't assume there's a space).
-                            String size = item.replaceFirst("[^0-9.].*$", "");
-                            setFont(new Font((String)fontFamilyComboBox.getValue(), Double.valueOf(size)));
-                        }
-                    }
-                };
-                return cell;
-            }
-        });
-
-
-        fontSizeComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
-            Object fontSizeValue = getCommandValue(FONT_SIZE_COMMAND);
-            if (!newValue.equals(fontSizeValue)) {
-                executeCommand(FONT_SIZE_COMMAND, fontSizeMap.get(newValue));
-            }
-        });
-
-        toolbar2.getItems().add(new Separator(Orientation.VERTICAL));
-
-        boldButton = addToggleButton(toolbar2, null,
-            resources.getString("boldIcon"), resources.getString("bold"), BOLD_COMMAND, "html-editor-bold");
-        boldButton.setOnAction(event1 -> {
-            // Only use the bold button for paragraphs.  We don't
-            // want to turn bold off for headings.
-
-            if ("<p>".equals(formatStyleMap.get(formatComboBox.getValue())))  {
-                executeCommand(BOLD_COMMAND, boldButton.selectedProperty().getValue().toString());
-            }
-        });
-        italicButton = addToggleButton(toolbar2, null,
-            resources.getString("italicIcon"), resources.getString("italic"), ITALIC_COMMAND, "html-editor-italic");
-        underlineButton = addToggleButton(toolbar2, null,
-            resources.getString("underlineIcon"), resources.getString("underline"), UNDERLINE_COMMAND, "html-editor-underline");
-        strikethroughButton = addToggleButton(toolbar2, null,
-            resources.getString("strikethroughIcon"), resources.getString("strikethrough"), STRIKETHROUGH_COMMAND, "html-editor-strike");
-
-        toolbar2.getItems().add(new Separator(Orientation.VERTICAL));
-
-        insertHorizontalRuleButton = addButton(toolbar2, resources.getString("insertHorizontalRuleIcon"),
-            resources.getString("insertHorizontalRule"), INSERT_HORIZONTAL_RULE_COMMAND, "html-editor-hr");
-        // We override setOnAction to insert a new line.  This fixes RT-16453
-        insertHorizontalRuleButton.setOnAction(event -> {
-            executeCommand(INSERT_NEW_LINE_COMMAND, null);
-            executeCommand(INSERT_HORIZONTAL_RULE_COMMAND, null);
-            updateToolbarState(false);
-        });
-
-        fgColorButton = new ColorPicker();
-        fgColorButton.getStyleClass().add("html-editor-foreground");
-        fgColorButton.setFocusTraversable(false);
-        toolbar1.getItems().add(fgColorButton);
-
-        // JDK-8115747: Icon URLs are now specified in CSS.
-        // fgColorButton.applyCss();
-        // ColorPickerSkin fgColorPickerSkin = (ColorPickerSkin) fgColorButton.getSkin();
-        // String fgIcon = AccessController.doPrivileged((PrivilegedAction<String>) () -> HTMLEditorSkin.class.getResource(resources.getString("foregroundColorIcon")).toString());
-        // ((StyleableProperty)fgColorPickerSkin.imageUrlProperty()).applyStyle(null,fgIcon);
-
-        fgColorButton.setValue(DEFAULT_FG_COLOR);
-        fgColorButton.setTooltip(new Tooltip(resources.getString("foregroundColor")));
-        fgColorButton.setOnAction(ev1 -> {
-            Color newValue = fgColorButton.getValue();
-            if (newValue != null) {
-                executeCommand(FOREGROUND_COLOR_COMMAND, colorValueToHex(newValue));
-                fgColorButton.hide();
-            }
-        });
-
-        bgColorButton = new ColorPicker();
-        bgColorButton.getStyleClass().add("html-editor-background");
-        bgColorButton.setFocusTraversable(false);
-        toolbar1.getItems().add(bgColorButton);
-
-        // JDK-8115747: Icon URLs are now specified in CSS.
-        // bgColorButton.applyCss();
-        // ColorPickerSkin  bgColorPickerSkin = (ColorPickerSkin) bgColorButton.getSkin();
-        // String bgIcon = AccessController.doPrivileged((PrivilegedAction<String>) () -> HTMLEditorSkin.class.getResource(resources.getString("backgroundColorIcon")).toString());
-        // ((StyleableProperty)bgColorPickerSkin.imageUrlProperty()).applyStyle(null,bgIcon);
-
-        bgColorButton.setValue(DEFAULT_BG_COLOR);
-        bgColorButton.setTooltip(new Tooltip(resources.getString("backgroundColor")));
-
-        bgColorButton.setOnAction(ev -> {
-            Color newValue = bgColorButton.getValue();
-            if (newValue != null) {
-                executeCommand(BACKGROUND_COLOR_COMMAND, colorValueToHex(newValue));
-                bgColorButton.hide();
-            }
-        });
-    }
-    
-    private String colorValueToHex(Color c) {
-        return String.format((Locale)null, "#%02x%02x%02x",
-                             Math.round(c.getRed() * 255),
-                             Math.round(c.getGreen() * 255),
-                             Math.round(c.getBlue() * 255));
-    }
-
-    private Button addButton(ToolBar toolbar, final String iconName, String tooltipText,
-            final String command, final String styleClass) {
-        Button button = new Button();
-        button.setFocusTraversable(false);
-        button.getStyleClass().add(styleClass);
-        toolbar.getItems().add(button);
-
-        Image icon = AccessController.doPrivileged((PrivilegedAction<Image>) () -> new Image(HTMLEditorSkin.class.getResource(iconName).toString()));
-//        button.setGraphic(new ImageView(icon));
-        ((StyleableProperty)button.graphicProperty()).applyStyle(null,new ImageView(icon));
-        button.setTooltip(new Tooltip(tooltipText));
-
-        button.setOnAction(event -> {
-            executeCommand(command, null);
-            updateToolbarState(false);
-        });
-
-        return button;
-    }
-
-    private ToggleButton addToggleButton(ToolBar toolbar, ToggleGroup toggleGroup,
-            final String iconName, String tooltipText, final String command, final String styleClass) {
-        ToggleButton toggleButton = new ToggleButton();
-        toggleButton.setUserData(command);
-        toggleButton.setFocusTraversable(false);
-        toggleButton.getStyleClass().add(styleClass);
-        toolbar.getItems().add(toggleButton);
-        if (toggleGroup != null) {
-            toggleButton.setToggleGroup(toggleGroup);
-        }
-
-        Image icon = AccessController.doPrivileged((PrivilegedAction<Image>) () -> new Image(HTMLEditorSkin.class.getResource(iconName).toString()));
-        ((StyleableProperty)toggleButton.graphicProperty()).applyStyle(null,new ImageView(icon));
-//        toggleButton.setGraphic(new ImageView(icon));
-
-        toggleButton.setTooltip(new Tooltip(tooltipText));
-
-        if (!BOLD_COMMAND.equals(command)) {
-            toggleButton.selectedProperty().addListener((observable, oldValue, newValue) -> {
-                if (getCommandState(command) != newValue.booleanValue()) {
-                    executeCommand(command, null);
-                }
-            });
-        }
-        return toggleButton;
-    }
-
-    private void createFormatMenuItem(String formatValue, String label) {
-        formatComboBox.getItems().add(label);
-        formatStyleMap.put(label, formatValue);
-        styleFormatMap.put(formatValue, label);
-    }
-
-    private void createFontSizeMenuItem(String fontSizeValue, String label) {
-        fontSizeComboBox.getItems().add(label);
-        fontSizeMap.put(label, fontSizeValue);
-        sizeFontMap.put(fontSizeValue, label);
-    }
-
-    private void updateNodeOrientation() {
-        NodeOrientation orientation = getSkinnable().getEffectiveNodeOrientation();
-
-        HTMLDocument htmlDocument = (HTMLDocument)webPage.getDocument(webPage.getMainFrame());
-        HTMLElement htmlDocumentElement = (HTMLElement)htmlDocument.getDocumentElement();
-        if (htmlDocumentElement.getAttribute("dir") == null) {
-            htmlDocumentElement.setAttribute("dir", (orientation == RIGHT_TO_LEFT) ? "rtl" : "ltr");
-        }
-
-    }
-
-    private boolean enableAtomicityCheck = false;
-    private int atomicityCount = 0;
-
-    private void updateToolbarState(final boolean updateAlignment) {
-        if (!webView.isFocused()) {
-            return;
-        }
-
-        atomicityCount++;
-
-        // These command aways return true.
-        copyButton.setDisable(!isCommandEnabled(CUT_COMMAND));
-        cutButton.setDisable(!isCommandEnabled(COPY_COMMAND));
-        pasteButton.setDisable(!isCommandEnabled(PASTE_COMMAND));
-
-        // undoButton.setDisable(!isCommandEnabled(UNDO_COMMAND));
-        // redoButton.setDisable(!isCommandEnabled(REDO_COMMAND));
-
-//        undoButton.setDisable(!isCommandEnabled(FORMAT_COMMAND));
-//        redoButton.setDisable(!isCommandEnabled(FORMAT_COMMAND));
-
-        insertHorizontalRuleButton.setDisable(!isCommandEnabled(INSERT_HORIZONTAL_RULE_COMMAND));
-
-        if (updateAlignment) {
-            alignLeftButton.setDisable(!isCommandEnabled(ALIGN_LEFT_COMMAND));
-            alignLeftButton.setSelected(getCommandState(ALIGN_LEFT_COMMAND));
-            alignCenterButton.setDisable(!isCommandEnabled(ALIGN_CENTER_COMMAND));
-            alignCenterButton.setSelected(getCommandState(ALIGN_CENTER_COMMAND));
-            alignRightButton.setDisable(!isCommandEnabled(ALIGN_RIGHT_COMMAND));
-            alignRightButton.setSelected(getCommandState(ALIGN_RIGHT_COMMAND));
-            alignJustifyButton.setDisable(!isCommandEnabled(ALIGN_JUSTIFY_COMMAND));
-            alignJustifyButton.setSelected(getCommandState(ALIGN_JUSTIFY_COMMAND));
-        } else {
-            if (alignmentToggleGroup.getSelectedToggle() != null) {
-                String command = alignmentToggleGroup.getSelectedToggle().getUserData().toString();
-                if (isCommandEnabled(command) && !getCommandState(command) ) {
-                    executeCommand(command, null);
-                }
-            }
-        }
-
-        if (alignmentToggleGroup.getSelectedToggle() == null) {
-            alignmentToggleGroup.selectToggle(alignLeftButton);
-        }
-
-        bulletsButton.setDisable(!isCommandEnabled(BULLETS_COMMAND));
-        bulletsButton.setSelected(getCommandState(BULLETS_COMMAND));
-        numbersButton.setDisable(!isCommandEnabled(NUMBERS_COMMAND));
-        numbersButton.setSelected(getCommandState(NUMBERS_COMMAND));
-
-        indentButton.setDisable(!isCommandEnabled(INDENT_COMMAND));
-        outdentButton.setDisable(!isCommandEnabled(OUTDENT_COMMAND));
-
-        formatComboBox.setDisable(!isCommandEnabled(FORMAT_COMMAND));
-
-
-        String formatValue = getCommandValue(FORMAT_COMMAND);
-        if (formatValue != null) {
-            String htmlTag = "<" + formatValue + ">";
-            String comboFormatValue = styleFormatMap.get(htmlTag);
-            String format = formatComboBox.getValue();
-
-            // if the format value is then we assume that we're dealing with a paragraph,
-            // which seems to correspond with the HTML output we receive.
-            if ((resetToolbarState || htmlTag.equals("<>") || htmlTag.equalsIgnoreCase("<div>"))) {
-                formatComboBox.setValue(resources.getString("paragraph"));
-            } else if (format != null && ! format.equalsIgnoreCase(comboFormatValue)) {
-                formatComboBox.setValue(comboFormatValue);
-            }
-        }
-
-        fontFamilyComboBox.setDisable(!isCommandEnabled(FONT_FAMILY_COMMAND));
-        final String fontFamilyValue = getCommandValue(FONT_FAMILY_COMMAND);
-        if (fontFamilyValue != null) {
-            String fontFamilyStr = fontFamilyValue;
-
-            // stripping out apostrophe characters, which are appended to either
-            // end of the font face name when the font face has one or more spaces.
-            if (fontFamilyStr.startsWith("'")) {
-                fontFamilyStr = fontFamilyStr.substring(1);
-            }
-            if (fontFamilyStr.endsWith("'")) {
-                fontFamilyStr = fontFamilyStr.substring(0,fontFamilyStr.length() - 1);
-            }
-
-            Object selectedFont = fontFamilyComboBox.getValue();
-            if (selectedFont instanceof String) {
-                if (!selectedFont.equals(fontFamilyStr)) { 
-
-                    ObservableList<String> fontFamilyItems = fontFamilyComboBox.getItems();
-                    String selectedComboFont = null;
-                    for (String comboFontFamilyValue : fontFamilyItems) {
-
-                        if (comboFontFamilyValue.equals(fontFamilyStr)) {
-                            selectedComboFont = comboFontFamilyValue;
-                            break;
-                        }
-                        // Note: By default, 'Dialog' is the font returned from webview.
-                        // For presidio, we're just mapping to an OS-specific font.
-                        if (comboFontFamilyValue.equals(DEFAULT_OS_FONT) && fontFamilyStr.equals("Dialog")) {
-                            selectedComboFont = comboFontFamilyValue;
-                            break;
-                        }
-                    }
-
-                    if (selectedComboFont != null) {
-                        fontFamilyComboBox.setValue(selectedComboFont);
-                    }
-                }
-            }
-        }
-
-        fontSizeComboBox.setDisable(!isCommandEnabled(FONT_SIZE_COMMAND));
-        String fontSizeValue = getCommandValue(FONT_SIZE_COMMAND);
-
-        // added test for fontSizeValue == null to combat RT-28847
-        if (resetToolbarState && fontSizeValue == null) {
-            fontSizeComboBox.setValue(sizeFontMap.get(SIZE_SMALL));
-        } else {
-            if (fontSizeValue != null) {
-                if (!fontSizeComboBox.getValue().equals(sizeFontMap.get(fontSizeValue))) {
-                    fontSizeComboBox.setValue(sizeFontMap.get(fontSizeValue));
-                }
-            }
-            else {
-                /*
-                ** these is no font size set in webview,
-                ** let's just use the default....
-                */
-                if (!fontSizeComboBox.getValue().equals(sizeFontMap.get(SIZE_SMALL))) {
-                    fontSizeComboBox.setValue(sizeFontMap.get(SIZE_SMALL));
-                }
-            }
-        }
-
-        boldButton.setDisable(!isCommandEnabled(BOLD_COMMAND));
-        boldButton.setSelected(getCommandState(BOLD_COMMAND));
-        italicButton.setDisable(!isCommandEnabled(ITALIC_COMMAND));
-        italicButton.setSelected(getCommandState(ITALIC_COMMAND));
-        underlineButton.setDisable(!isCommandEnabled(UNDERLINE_COMMAND));
-        underlineButton.setSelected(getCommandState(UNDERLINE_COMMAND));
-        strikethroughButton.setDisable(!isCommandEnabled(STRIKETHROUGH_COMMAND));
-        strikethroughButton.setSelected(getCommandState(STRIKETHROUGH_COMMAND));
-
-        fgColorButton.setDisable(!isCommandEnabled(FOREGROUND_COLOR_COMMAND));
-        String foregroundColorValue = getCommandValue(FOREGROUND_COLOR_COMMAND);
-        if (foregroundColorValue != null) {
-            Color c = Color.web(rgbToHex((String)foregroundColorValue));
-            fgColorButton.setValue(c);
-        }
-
-        bgColorButton.setDisable(!isCommandEnabled(BACKGROUND_COLOR_COMMAND));
-        String backgroundColorValue = getCommandValue(BACKGROUND_COLOR_COMMAND);
-        if (backgroundColorValue != null) {
-            Color c = Color.web(rgbToHex((String)backgroundColorValue));
-            bgColorButton.setValue(c);
-        }
-
-        atomicityCount = atomicityCount == 0 ? 0 : --atomicityCount;
-    }
-
-    private void enableToolbar(final boolean enable) {
-        Platform.runLater(() -> {
-
-            // Make sure buttons have been created to avoid NPE
-            if (copyButton == null) return;
-
-            /*
-            ** if we're to enable, we still only enable
-            ** the cut/copy/paste buttons that make sense
-            */
-            if (enable) {
-                copyButton.setDisable(!isCommandEnabled(COPY_COMMAND));
-                cutButton.setDisable(!isCommandEnabled(CUT_COMMAND));
-                pasteButton.setDisable(!isCommandEnabled(PASTE_COMMAND));
-            }
-            else {
-                copyButton.setDisable(true);
-                cutButton.setDisable(true);
-                pasteButton.setDisable(true);
-            }
-
-//                undoButton.setDisable(!enable);
-//                redoButton.setDisable(!enable);
-            insertHorizontalRuleButton.setDisable(!enable);
-            alignLeftButton.setDisable(!enable);
-            alignCenterButton.setDisable(!enable);
-            alignRightButton.setDisable(!enable);
-            alignJustifyButton.setDisable(!enable);
-            bulletsButton.setDisable(!enable);
-            numbersButton.setDisable(!enable);
-            indentButton.setDisable(!enable);
-            outdentButton.setDisable(!enable);
-            formatComboBox.setDisable(!enable);
-            fontFamilyComboBox.setDisable(!enable);
-            fontSizeComboBox.setDisable(!enable);
-            boldButton.setDisable(!enable);
-            italicButton.setDisable(!enable);
-            underlineButton.setDisable(!enable);
-            strikethroughButton.setDisable(!enable);
-            fgColorButton.setDisable(!enable);
-            bgColorButton.setDisable(!enable);
-        });
-    }
-
-    private boolean executeCommand(String command, String value) {
-        // The mentions of atomicity throughout this class relate back to RT-39941,
-        // refer to that jira issue for more context.
-        if (!enableAtomicityCheck || (enableAtomicityCheck && atomicityCount == 0)) {
-            return webPage.executeCommand(command, value);
-        }
-        return false;
-    }
-
-    private boolean isCommandEnabled(String command) {
-        return webPage.queryCommandEnabled(command);
-    }
-    
-    private void setContentEditable(boolean b) {
-        HTMLDocument htmlDocument = (HTMLDocument)webPage.getDocument(webPage.getMainFrame());
-        HTMLElement htmlDocumentElement = (HTMLElement)htmlDocument.getDocumentElement();
-        HTMLElement htmlBodyElement = (HTMLElement)htmlDocumentElement.getElementsByTagName("body").item(0);
-        htmlBodyElement.setAttribute("contenteditable", Boolean.toString(b));
-    }
-
-    private boolean getCommandState(String command) {
-        return webPage.queryCommandState(command);
-    }
-
-    private String getCommandValue(String command) {
-        return webPage.queryCommandValue(command);
-    }
-
-    private static String rgbToHex(String value) {
-        if (value.startsWith("rgba")) {
-            String[] components = value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')).split(",");
-            value = String.format("#%02X%02X%02X%02X",
-                Integer.parseInt(components[0].trim()),
-                Integer.parseInt(components[1].trim()),
-                Integer.parseInt(components[2].trim()),
-                Integer.parseInt(components[3].trim()));
-            // The default background color for WebView, according to the HTML
-            // standard is rgba=#00000000 (black). The canvas background is expected
-            // to be white.
-            if ("#00000000".equals(value)) {
-                return "#FFFFFFFF";
-            }
-        } else if (value.startsWith("rgb")) {
-            String[] components = value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')).split(",");
-            value = String.format("#%02X%02X%02X",
-                Integer.parseInt(components[0].trim()),
-                Integer.parseInt(components[1].trim()),
-                Integer.parseInt(components[2].trim()));
-        }
-
-        return value;
-    }
-
-    private void applyTextFormatting() {
-        if (getCommandState(BULLETS_COMMAND) || getCommandState(NUMBERS_COMMAND)) {
-            return;
-        }
-
-        if (webPage.getClientCommittedTextLength() == 0) {
-            String format = formatStyleMap.get(formatComboBox.getValue());
-            String font   = fontFamilyComboBox.getValue().toString();
-
-            executeCommand(FORMAT_COMMAND, format);
-            executeCommand(FONT_FAMILY_COMMAND, font);
-        }
-    }
-    
-    public void keyboardShortcuts(final String name) {
-        if ("bold".equals(name)) {
-            boldButton.fire();
-        } else if ("italic".equals(name)) {
-            italicButton.setSelected(!italicButton.isSelected());
-        } else if ("underline".equals(name)) {
-            underlineButton.setSelected(!underlineButton.isSelected());
-        }
-    }
-
-    private boolean isFirstRun = true;
-
-    @Override
-    protected void layoutChildren(final double x, final double y,
-            final double w, final double h) {
-        
-        if (isFirstRun) {
-            populateToolbars();
-            isFirstRun = false;
-        }
-        super.layoutChildren(x,y,w,h);
-        double toolbarWidth = Math.max(toolbar1.prefWidth(-1), toolbar2.prefWidth(-1));
-        toolbar1.setMinWidth(toolbarWidth);
-        toolbar1.setPrefWidth(toolbarWidth);
-        toolbar2.setMinWidth(toolbarWidth);
-        toolbar2.setPrefWidth(toolbarWidth);
-    }
-
-    private static final int FONT_FAMILY_MENUBUTTON_WIDTH = 150;
-    private static final int FONT_FAMILY_MENU_WIDTH = 100;
-    private static final int FONT_SIZE_MENUBUTTON_WIDTH = 80;
-
-    public void print(PrinterJob job) {
-        webView.getEngine().print(job);
-    }
-
-    private static PseudoClass CONTAINS_FOCUS_PSEUDOCLASS_STATE = PseudoClass.getPseudoClass("contains-focus");
-}
--- a/modules/web/src/main/java/javafx/scene/web/HTMLEditor.java	Mon Sep 14 12:21:08 2015 -0700
+++ b/modules/web/src/main/java/javafx/scene/web/HTMLEditor.java	Tue Sep 15 09:35:11 2015 +1200
@@ -26,15 +26,10 @@
 package javafx.scene.web;
 
 
-import javafx.css.CssMetaData;
 import javafx.css.StyleableProperty;
-import com.sun.javafx.scene.web.skin.HTMLEditorSkin;
 
-import javafx.geometry.NodeOrientation;
 import javafx.scene.control.Control;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import javafx.print.PrinterJob;
 import javafx.scene.control.Skin;
 
@@ -52,8 +47,8 @@
      */
     public HTMLEditor() {
         ((StyleableProperty)super.skinClassNameProperty()).applyStyle(
-            null, 
-            "com.sun.javafx.scene.web.skin.HTMLEditorSkin"
+            null,
+            "javafx.scene.web.HTMLEditorSkin"
         );
         getStyleClass().add("html-editor");
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/java/javafx/scene/web/HTMLEditorSkin.java	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,1239 @@
+/*
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package javafx.scene.web;
+
+import java.util.ResourceBundle;
+
+import com.sun.javafx.application.PlatformImpl;
+import com.sun.javafx.scene.traversal.Algorithm;
+import com.sun.javafx.scene.traversal.Direction;
+import com.sun.javafx.scene.traversal.ParentTraversalEngine;
+import com.sun.javafx.scene.traversal.TraversalContext;
+import javafx.css.PseudoClass;
+import javafx.geometry.Orientation;
+import org.w3c.dom.html.HTMLDocument;
+import org.w3c.dom.html.HTMLElement;
+
+import javafx.application.ConditionalFeature;
+import javafx.application.Platform;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+import javafx.css.StyleableProperty;
+import javafx.geometry.NodeOrientation;
+import javafx.scene.Node;
+import javafx.scene.control.Button;
+import javafx.scene.control.ComboBox;
+import javafx.scene.control.ListCell;
+import javafx.scene.control.ListView;
+import javafx.scene.control.Separator;
+import javafx.scene.control.TextInputControl;
+import javafx.scene.control.ToggleButton;
+import javafx.scene.control.ToggleGroup;
+import javafx.scene.control.ToolBar;
+import javafx.scene.control.Tooltip;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.input.KeyCode;
+import javafx.scene.input.KeyEvent;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.ColumnConstraints;
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.Priority;
+import javafx.scene.paint.Color;
+import javafx.scene.text.Font;
+import javafx.util.Callback;
+
+import com.sun.javafx.scene.control.skin.FXVK;
+import com.sun.javafx.scene.web.behavior.HTMLEditorBehavior;
+import com.sun.webkit.WebPage;
+import com.sun.javafx.webkit.Accessor;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import javafx.scene.Scene;
+import javafx.scene.control.*;
+import javafx.scene.layout.*;
+import javafx.collections.ListChangeListener;
+
+import static javafx.geometry.NodeOrientation.*;
+import javafx.print.PrinterJob;
+
+import static javafx.scene.web.HTMLEditorSkin.Command.*;
+
+/**
+ * HTML editor skin.
+ *
+ * @see HTMLEditor
+ * @since 9
+ */
+public class HTMLEditorSkin extends SkinBase<HTMLEditor> {
+
+    /***************************************************************************
+     *                                                                         *
+     * Private fields                                                          *
+     *                                                                         *
+     **************************************************************************/
+
+    private GridPane gridPane;
+
+    private ToolBar toolbar1;
+    private ToolBar toolbar2;
+
+    private Button cutButton;
+    private Button copyButton;
+    private Button pasteButton;
+
+//    private Button undoButton;
+//    private Button redoButton;
+
+    private Button insertHorizontalRuleButton;
+
+    private ToggleGroup alignmentToggleGroup;
+    private ToggleButton alignLeftButton;
+    private ToggleButton alignCenterButton;
+    private ToggleButton alignRightButton;
+    private ToggleButton alignJustifyButton;
+
+    private ToggleButton bulletsButton;
+    private ToggleButton numbersButton;
+
+    private Button indentButton;
+    private Button outdentButton;
+
+    private ComboBox<String> formatComboBox;
+    private Map<String, String> formatStyleMap;
+    private Map<String, String> styleFormatMap;
+
+    private ComboBox<String> fontFamilyComboBox;
+
+    private ComboBox<String> fontSizeComboBox;
+    private Map<String, String> fontSizeMap;
+    private Map<String, String> sizeFontMap;
+
+    private ToggleButton boldButton;
+    private ToggleButton italicButton;
+    private ToggleButton underlineButton;
+    private ToggleButton strikethroughButton;
+
+    private ColorPicker fgColorButton;
+    private ColorPicker bgColorButton;
+
+    private WebView webView;
+    private WebPage webPage;
+
+    private ParentTraversalEngine engine;
+
+    private boolean resetToolbarState = false;
+    private String cachedHTMLText = "<html><head></head><body contenteditable=\"true\"></body></html>";
+    private ResourceBundle resources;
+
+    private boolean enableAtomicityCheck = false;
+    private int atomicityCount = 0;
+    private boolean isFirstRun = true;
+
+    private static final int FONT_FAMILY_MENUBUTTON_WIDTH = 150;
+    private static final int FONT_FAMILY_MENU_WIDTH = 100;
+    private static final int FONT_SIZE_MENUBUTTON_WIDTH = 80;
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Static fields                                                           *
+     *                                                                         *
+     **************************************************************************/
+
+    private static final Color DEFAULT_BG_COLOR = Color.WHITE;
+    private static final Color DEFAULT_FG_COLOR = Color.BLACK;
+
+    private static final String FORMAT_PARAGRAPH = "<p>";
+    private static final String FORMAT_HEADING_1 = "<h1>";
+    private static final String FORMAT_HEADING_2 = "<h2>";
+    private static final String FORMAT_HEADING_3 = "<h3>";
+    private static final String FORMAT_HEADING_4 = "<h4>";
+    private static final String FORMAT_HEADING_5 = "<h5>";
+    private static final String FORMAT_HEADING_6 = "<h6>";
+
+    private static final String SIZE_XX_SMALL = "1";
+    private static final String SIZE_X_SMALL = "2";
+    private static final String SIZE_SMALL = "3";
+    private static final String SIZE_MEDIUM = "4";
+    private static final String SIZE_LARGE = "5";
+    private static final String SIZE_X_LARGE = "6";
+    private static final String SIZE_XX_LARGE = "7";
+
+    // As per RT-16330: default format -> bold/size mappings are as follows:
+    private static final String[][] DEFAULT_FORMAT_MAPPINGS = {
+        { FORMAT_PARAGRAPH,   "",                  SIZE_SMALL     },
+        { FORMAT_HEADING_1,   BOLD.getCommand(),   SIZE_X_LARGE   },
+        { FORMAT_HEADING_2,   BOLD.getCommand(),   SIZE_LARGE     },
+        { FORMAT_HEADING_3,   BOLD.getCommand(),   SIZE_MEDIUM    },
+        { FORMAT_HEADING_4,   BOLD.getCommand(),   SIZE_SMALL     },
+        { FORMAT_HEADING_5,   BOLD.getCommand(),   SIZE_X_SMALL   },
+        { FORMAT_HEADING_6,   BOLD.getCommand(),   SIZE_XX_SMALL  },
+    };
+
+    // As per RT-16379: default OS -> font mappings:
+    private static final String[] DEFAULT_WINDOWS_7_MAPPINGS = {
+        "Windows 7",       "Segoe UI",        "12px",   "",     "120"
+    };
+    private static final String[][] DEFAULT_OS_MAPPINGS = {
+        // OS               Font name           size      weight  DPI
+        { "Windows XP",      "Tahoma",          "12px",   "",     "96"  },
+        { "Windows Vista",   "Segoe UI",        "12px",   "",     "96"  },
+        DEFAULT_WINDOWS_7_MAPPINGS,
+        { "Mac OS X",        "Lucida Grande",   "12px",   "",     "72"  },
+        { "Linux",           "Lucida Sans",   "12px",   "",     "96"  },
+    };
+    private static final String DEFAULT_OS_FONT = getOSMappings()[1];
+
+    private static PseudoClass CONTAINS_FOCUS_PSEUDOCLASS_STATE = PseudoClass.getPseudoClass("contains-focus");
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Static Methods                                                          *
+     *                                                                         *
+     **************************************************************************/
+
+    private static String[] getOSMappings() {
+        String os = System.getProperty("os.name");
+        for  (int i = 0; i < DEFAULT_OS_MAPPINGS.length; i++) {
+            if (os.equals(DEFAULT_OS_MAPPINGS[i][0])) {
+                return DEFAULT_OS_MAPPINGS[i];
+            }
+        }
+
+        return DEFAULT_WINDOWS_7_MAPPINGS;
+    }
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Listeners                                                               *
+     *                                                                         *
+     **************************************************************************/
+
+    private ListChangeListener<Node> itemsListener = c -> {
+        while (c.next()) {
+            if (c.getRemovedSize() > 0) {
+                for (Node n : c.getList()) {
+                    if (n instanceof WebView) {
+                        // RT-28611 webView removed - set associated webPage to null
+                        webPage.dispose();
+                    }
+                }
+            }
+        }
+    };
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Constructors                                                            *
+     *                                                                         *
+     **************************************************************************/
+
+    /**
+     * Creates a new HTMLEditorSkin instance, installing the necessary child
+     * nodes into the Control {@link Control#getChildren() children} list, as
+     * well as the necessary input mappings for handling key, mouse, etc events.
+     *
+     * @param control The control that this skin should be installed onto.
+     */
+    public HTMLEditorSkin(HTMLEditor control) {
+        super(control);
+
+        // install default input map for the HTMLEditor control
+        HTMLEditorBehavior behavior = new HTMLEditorBehavior(control);
+//        htmlEditor.setInputMap(behavior.getInputMap());
+
+        getChildren().clear();
+
+        gridPane = new GridPane();
+        gridPane.getStyleClass().add("grid");
+        getChildren().addAll(gridPane);
+
+        toolbar1 = new ToolBar();
+        toolbar1.getStyleClass().add("top-toolbar");
+        gridPane.add(toolbar1, 0, 0);
+
+        toolbar2 = new ToolBar();
+        toolbar2.getStyleClass().add("bottom-toolbar");
+        gridPane.add(toolbar2, 0, 1);
+
+//        populateToolbars();
+
+        webView = new WebView();
+        gridPane.add(webView, 0, 2);
+
+        ColumnConstraints column = new ColumnConstraints();
+        column.setHgrow(Priority.ALWAYS);
+        gridPane.getColumnConstraints().add(column);
+
+        webPage = Accessor.getPageFor(webView.getEngine());
+
+        webView.addEventHandler(MouseEvent.MOUSE_RELEASED, event2 -> {
+            Platform.runLater(new Runnable() {
+                @Override public void run() {
+                    enableAtomicityCheck = true;
+                    updateToolbarState(true);
+                    enableAtomicityCheck = false;
+                }
+            });
+        });
+
+
+        webView.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
+            applyTextFormatting();
+            if (event.getCode() == KeyCode.CONTROL || event.getCode() == KeyCode.META) {
+                return;
+            }
+            if (event.getCode() == KeyCode.TAB && !event.isControlDown()) {
+                if (!event.isShiftDown()) {
+                    /*
+                    ** if we are in either Bullet or Numbers mode then the
+                    ** TAB key tells us to indent again.
+                    */
+                    if (getCommandState(BULLETS.getCommand()) || getCommandState(NUMBERS.getCommand())) {
+                        executeCommand(INDENT.getCommand(), null);
+                    }
+                    else {
+                        executeCommand(INSERT_TAB.getCommand(), null);
+                    }
+                }
+                else {
+                    /*
+                    ** if we are in either Bullet or Numbers mode then the
+                    ** Shift-TAB key tells us to outdent.
+                    */
+                    if (getCommandState(BULLETS.getCommand()) || getCommandState(NUMBERS.getCommand())) {
+                        executeCommand(OUTDENT.getCommand(), null);
+                    }
+                }
+                return;
+            }
+            // Work around for bug that sends events from ColorPicker to this Scene
+            if ((fgColorButton != null && fgColorButton.isShowing()) ||
+                (bgColorButton != null && bgColorButton.isShowing())) {
+                return;
+            }
+            Platform.runLater(() -> {
+                if (webPage.getClientSelectedText().isEmpty()) {
+                    if (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||
+                            event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT ||
+                            event.getCode() == KeyCode.HOME || event.getCode() == KeyCode.END) {
+                        updateToolbarState(true);
+                    } else if (event.isControlDown() || event.isMetaDown()) {
+                        if (event.getCode() == KeyCode.B) {
+                            performCommand(BOLD);
+                        } else if (event.getCode() == KeyCode.I) {
+                            performCommand(ITALIC);
+                        } else if (event.getCode() == KeyCode.U) {
+                            performCommand(UNDERLINE);
+                        }
+                        updateToolbarState(true);
+                    } else {
+                        resetToolbarState = event.getCode() == KeyCode.ENTER;
+                        if (resetToolbarState) {
+                            if (getCommandState(BOLD.getCommand()) != boldButton.selectedProperty().getValue()) {
+                                executeCommand(BOLD.getCommand(), boldButton.selectedProperty().getValue().toString());
+                            }
+                        }
+                        updateToolbarState(false);
+                    }
+                    resetToolbarState = false;
+                } else if (event.isShiftDown() &&
+                        (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||
+                                event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT)) {
+                    updateToolbarState(true);
+                }
+            });
+        });
+
+        webView.addEventHandler(KeyEvent.KEY_RELEASED, event -> {
+            if (event.getCode() == KeyCode.CONTROL || event.getCode() == KeyCode.META) {
+                return;
+            }
+            // Work around for bug that sends events from ColorPicker to this Scene
+            if ((fgColorButton != null && fgColorButton.isShowing()) ||
+                (bgColorButton != null && bgColorButton.isShowing())) {
+                return;
+            }
+            Platform.runLater(() -> {
+                if (webPage.getClientSelectedText().isEmpty()) {
+                    if (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN ||
+                            event.getCode() == KeyCode.LEFT || event.getCode() == KeyCode.RIGHT ||
+                            event.getCode() == KeyCode.HOME || event.getCode() == KeyCode.END) {
+                        updateToolbarState(true);
+                    } else if (event.isControlDown() || event.isMetaDown()) {
+                        if (event.getCode() == KeyCode.B) {
+                            performCommand(BOLD);
+                        } else if (event.getCode() == KeyCode.I) {
+                            performCommand(ITALIC);
+                        } else if (event.getCode() == KeyCode.U) {
+                            performCommand(UNDERLINE);
+                        }
+                        updateToolbarState(true);
+                    } else {
+                        resetToolbarState = event.getCode() == KeyCode.ENTER;
+                        if (!resetToolbarState) {
+                            updateToolbarState(false);
+                        }
+                    }
+                    resetToolbarState = false;
+                }
+            });
+        });
+
+        getSkinnable().focusedProperty().addListener((observable, oldValue, newValue) -> {
+            Platform.runLater(new Runnable() {
+                @Override public void run() {
+                    if (newValue) {
+                        webView.requestFocus();
+                    }
+                }
+            });
+        });
+
+        webView.focusedProperty().addListener((observable, oldValue, newValue) -> {
+            // disabling as a fix for RT-30081
+//                if (newValue) {
+//                    webPage.dispatchFocusEvent(new WCFocusEvent(WCFocusEvent.FOCUS_GAINED, WCFocusEvent.FORWARD));
+//                    enableToolbar(true);
+//                } else {
+//                    webPage.dispatchFocusEvent(new WCFocusEvent(WCFocusEvent.FOCUS_LOST, WCFocusEvent.FORWARD));
+//                    enableToolbar(false);
+//                }
+
+            pseudoClassStateChanged(CONTAINS_FOCUS_PSEUDOCLASS_STATE, newValue);
+
+            Platform.runLater(new Runnable() {
+                @Override public void run() {
+                    updateToolbarState(true);
+
+                    if (PlatformImpl.isSupported(ConditionalFeature.VIRTUAL_KEYBOARD)) {
+                        Scene scene = getSkinnable().getScene();
+                        if (newValue) {
+                            FXVK.attach(webView);
+                        } else if (scene == null ||
+                                   scene.getWindow() == null ||
+                                   !scene.getWindow().isFocused() ||
+                                   !(scene.getFocusOwner() instanceof TextInputControl /*||
+                                     getScene().getFocusOwner() instanceof WebView*/)) {
+                            FXVK.detach();
+                        }
+                    }
+                }
+            });
+        });
+
+        webView.getEngine().getLoadWorker().workDoneProperty().addListener((observable, oldValue, newValue) -> {
+            Platform.runLater(() -> {
+                webView.requestLayout();
+            });
+
+            double totalWork = webView.getEngine().getLoadWorker().getTotalWork();
+            if (newValue.doubleValue() == totalWork) {
+                cachedHTMLText = null;
+                Platform.runLater(() -> {
+                    setContentEditable(true);
+                    updateToolbarState(true);
+                    updateNodeOrientation();
+                });
+            }
+        });
+
+        enableToolbar(true);
+        setHTMLText(cachedHTMLText);
+
+        engine = new ParentTraversalEngine(getSkinnable(), new Algorithm() {
+            @Override
+            public Node select(Node owner, Direction dir, TraversalContext context) {
+                return cutButton;
+            }
+
+            @Override
+            public Node selectFirst(TraversalContext context) {
+                return cutButton;
+            }
+
+            @Override
+            public Node selectLast(TraversalContext context) {
+                return cutButton;
+            }
+        });
+        getSkinnable().setImpl_traversalEngine(engine);
+        webView.setFocusTraversable(true);
+        gridPane.getChildren().addListener(itemsListener);
+    }
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Public API                                                              *
+     *                                                                         *
+     **************************************************************************/
+
+    /**
+     * Special-case handling for certain commands. Over time this may be extended
+     * to handle additional commands. The current list of supported commands is:
+     *
+     * <ul>
+     *     <li>BOLD</li>
+     *     <li>ITALIC</li>
+     *     <li>UNDERLINE</li>
+     * </ul>
+     */
+    public void performCommand(final Command command) {
+        switch (command) {
+            case BOLD: boldButton.fire(); break;
+            case ITALIC: italicButton.setSelected(!italicButton.isSelected()); break;
+            case UNDERLINE: underlineButton.setSelected(!underlineButton.isSelected()); break;
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void layoutChildren(final double x, final double y,
+                                  final double w, final double h) {
+
+        if (isFirstRun) {
+            populateToolbars();
+            isFirstRun = false;
+        }
+        super.layoutChildren(x,y,w,h);
+        double toolbarWidth = Math.max(toolbar1.prefWidth(-1), toolbar2.prefWidth(-1));
+        toolbar1.setMinWidth(toolbarWidth);
+        toolbar1.setPrefWidth(toolbarWidth);
+        toolbar2.setMinWidth(toolbarWidth);
+        toolbar2.setPrefWidth(toolbarWidth);
+    }
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Private Implementation                                                  *
+     *                                                                         *
+     **************************************************************************/
+
+    final String getHTMLText() {
+        // RT17203 setHTMLText is asynchronous.  We use the cached version of
+        // the html text until the page finishes loading.
+        return cachedHTMLText != null ? cachedHTMLText : webPage.getHtml(webPage.getMainFrame());
+    }
+
+    final void setHTMLText(String htmlText) {
+        cachedHTMLText = htmlText;
+        webPage.load(webPage.getMainFrame(), htmlText, "text/html");
+
+        Platform.runLater(() -> {
+            updateToolbarState(true);
+        });
+    }
+
+    private void populateToolbars() {
+        resources = ResourceBundle.getBundle(HTMLEditorSkin.class.getName());
+
+        // Toolbar 1
+        cutButton = addButton(toolbar1, resources.getString("cutIcon"), resources.getString("cut"), CUT.getCommand(), "html-editor-cut");
+        copyButton = addButton(toolbar1, resources.getString("copyIcon"), resources.getString("copy"), COPY.getCommand(), "html-editor-copy");
+        pasteButton = addButton(toolbar1, resources.getString("pasteIcon"), resources.getString("paste"), PASTE.getCommand(), "html-editor-paste");
+
+        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
+
+//        undoButton = addButton(toolbar1, "undoIcon", resources.getString("undo"), UNDO.getCommand());
+//        redoButton = addButton(toolbar1, "redoIcon", resources.getString("redo"), REDO.getCommand());//
+//        toolbar1.getItems().add(new Separator());
+
+         alignmentToggleGroup = new ToggleGroup();
+         alignLeftButton = addToggleButton(toolbar1, alignmentToggleGroup,
+            resources.getString("alignLeftIcon"), resources.getString("alignLeft"), ALIGN_LEFT.getCommand(), "html-editor-align-left");
+         alignCenterButton = addToggleButton(toolbar1, alignmentToggleGroup,
+            resources.getString("alignCenterIcon"), resources.getString("alignCenter"), ALIGN_CENTER.getCommand(), "html-editor-align-center");
+         alignRightButton = addToggleButton(toolbar1, alignmentToggleGroup,
+            resources.getString("alignRightIcon"), resources.getString("alignRight"), ALIGN_RIGHT.getCommand(), "html-editor-align-right");
+         alignJustifyButton = addToggleButton(toolbar1, alignmentToggleGroup,
+            resources.getString("alignJustifyIcon"), resources.getString("alignJustify"), ALIGN_JUSTIFY.getCommand(), "html-editor-align-justify");
+
+        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
+
+        outdentButton = addButton(toolbar1, resources.getString("outdentIcon"), resources.getString("outdent"), OUTDENT.getCommand(), "html-editor-outdent");
+        if (outdentButton.getGraphic() != null) outdentButton.getGraphic().setNodeOrientation(NodeOrientation.INHERIT);
+        indentButton = addButton(toolbar1, resources.getString("indentIcon"), resources.getString("indent"), INDENT.getCommand(), "html-editor-indent");
+        if (indentButton.getGraphic() != null) indentButton.getGraphic().setNodeOrientation(NodeOrientation.INHERIT);
+
+        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
+
+         ToggleGroup listStyleToggleGroup = new ToggleGroup();
+         bulletsButton = addToggleButton(toolbar1, listStyleToggleGroup,
+            resources.getString("bulletsIcon"), resources.getString("bullets"), BULLETS.getCommand(), "html-editor-bullets");
+         if (bulletsButton.getGraphic() != null) bulletsButton.getGraphic().setNodeOrientation(NodeOrientation.INHERIT);
+         numbersButton = addToggleButton(toolbar1, listStyleToggleGroup,
+            resources.getString("numbersIcon"), resources.getString("numbers"), NUMBERS.getCommand(), "html-editor-numbers");
+
+        toolbar1.getItems().add(new Separator(Orientation.VERTICAL));
+
+        //toolbar1.getItems().add(new Separator());
+
+        // Toolbar 2
+        formatComboBox = new ComboBox<String>();
+        formatComboBox.getStyleClass().add("font-menu-button");
+        formatComboBox.setFocusTraversable(false);
+        formatComboBox.setMinWidth(Region.USE_PREF_SIZE);
+        toolbar2.getItems().add(formatComboBox);
+
+        formatStyleMap = new HashMap<String, String>();
+        styleFormatMap = new HashMap<String, String>();
+
+        createFormatMenuItem(FORMAT_PARAGRAPH, resources.getString("paragraph"));
+        Platform.runLater(() -> {
+            formatComboBox.setValue(resources.getString("paragraph"));
+        });
+        createFormatMenuItem(FORMAT_HEADING_1, resources.getString("heading1"));
+        createFormatMenuItem(FORMAT_HEADING_2, resources.getString("heading2"));
+        createFormatMenuItem(FORMAT_HEADING_3, resources.getString("heading3"));
+        createFormatMenuItem(FORMAT_HEADING_4, resources.getString("heading4"));
+        createFormatMenuItem(FORMAT_HEADING_5, resources.getString("heading5"));
+        createFormatMenuItem(FORMAT_HEADING_6, resources.getString("heading6"));
+
+//        formatComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
+//            @Override public ListCell<String> call(ListView<String> param) {
+//                final ListCell<String> cell = new ListCell<String>() {
+//                    @Override public void updateItem(String item, boolean empty) {
+//                        super.updateItem(item, empty);
+//                        if (item != null) {
+//                            setText(item);
+//                        }
+//                    }
+//                };
+//                return cell;
+//            }
+//        });
+
+        formatComboBox.setTooltip(new Tooltip(resources.getString("format")));
+
+        formatComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
+            if (newValue == null) {
+                formatComboBox.setValue(null);
+            } else {
+                String formatValue = formatStyleMap.get(newValue);
+                executeCommand(FORMAT.getCommand(), formatValue);
+                updateToolbarState(false);
+
+                // RT-16330 match the new font format with the required weight and size
+                for (int i = 0; i < DEFAULT_FORMAT_MAPPINGS.length; i++) {
+                    String[] mapping = DEFAULT_FORMAT_MAPPINGS[i];
+                    if (mapping[0].equalsIgnoreCase(formatValue)) {
+                        executeCommand(FONT_SIZE.getCommand(), mapping[2]);
+                        updateToolbarState(false);
+                        break;
+                    }
+                }
+            }
+        });
+
+        fontFamilyComboBox = new ComboBox<String>();
+        fontFamilyComboBox.getStyleClass().add("font-menu-button");
+        fontFamilyComboBox.setMinWidth(FONT_FAMILY_MENUBUTTON_WIDTH);
+        fontFamilyComboBox.setPrefWidth(FONT_FAMILY_MENUBUTTON_WIDTH);
+        fontFamilyComboBox.setMaxWidth(FONT_FAMILY_MENUBUTTON_WIDTH);
+        fontFamilyComboBox.setFocusTraversable(false);
+        fontFamilyComboBox.setTooltip(new Tooltip(resources.getString("fontFamily")));
+        toolbar2.getItems().add(fontFamilyComboBox);
+
+        // Fix for RT-32906, where all rows were being put through the cell factory
+        // so that they could be measured. Because we have a fixed width for the
+        // button this is unnecessary and so we tell the ComboBox to not measure
+        // any rows.
+        fontFamilyComboBox.getProperties().put("comboBoxRowsToMeasureWidth", 0);
+
+        fontFamilyComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
+            @Override public ListCell<String> call(ListView<String> param) {
+                final ListCell<String> cell = new ListCell<String>() {
+                    @Override public void updateItem(String item, boolean empty) {
+                        super.updateItem(item, empty);
+                        if (item != null) {
+                            setText(item);
+                            setFont(new Font(item, 12));
+                        }
+                    }
+                };
+                cell.setMinWidth(FONT_FAMILY_MENU_WIDTH);
+                cell.setPrefWidth(FONT_FAMILY_MENU_WIDTH);
+                cell.setMaxWidth(FONT_FAMILY_MENU_WIDTH);
+                return cell;
+            }
+        });
+
+        Platform.runLater(() -> {
+            final ObservableList<String> fonts = FXCollections.observableArrayList(Font.getFamilies());
+            for (String fontFamily : fonts) {
+                if (DEFAULT_OS_FONT.equals(fontFamily)) {
+                    fontFamilyComboBox.setValue(fontFamily);
+                }
+                fontFamilyComboBox.setItems(fonts);
+            }
+        });
+
+        fontFamilyComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
+            executeCommand(FONT_FAMILY.getCommand(), newValue);
+        });
+
+        fontSizeComboBox = new ComboBox<String>();
+        fontSizeComboBox.getStyleClass().add("font-menu-button");
+        fontSizeComboBox.setFocusTraversable(false);
+        toolbar2.getItems().add(fontSizeComboBox);
+
+        fontSizeMap = new HashMap<String, String>();
+        sizeFontMap = new HashMap<String, String>();
+
+        createFontSizeMenuItem(SIZE_XX_SMALL, resources.getString("extraExtraSmall"));
+        createFontSizeMenuItem(SIZE_X_SMALL, resources.getString("extraSmall"));
+        createFontSizeMenuItem(SIZE_SMALL, resources.getString("small"));
+        Platform.runLater(() -> {
+            fontSizeComboBox.setValue(resources.getString("small"));
+        });
+        createFontSizeMenuItem(SIZE_MEDIUM, resources.getString("medium"));
+        createFontSizeMenuItem(SIZE_LARGE, resources.getString("large"));
+        createFontSizeMenuItem(SIZE_X_LARGE, resources.getString("extraLarge"));
+        createFontSizeMenuItem(SIZE_XX_LARGE, resources.getString("extraExtraLarge"));
+        fontSizeComboBox.setTooltip(new Tooltip(resources.getString("fontSize")));
+
+        fontSizeComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
+            @Override public ListCell<String> call(ListView<String> param) {
+                final ListCell<String> cell = new ListCell<String>() {
+                    @Override public void updateItem(String item, boolean empty) {
+                        super.updateItem(item, empty);
+                        if (item != null) {
+                            setText(item);
+                            // Remove trailing non-digits to get the size (don't assume there's a space).
+                            String size = item.replaceFirst("[^0-9.].*$", "");
+                            setFont(new Font((String)fontFamilyComboBox.getValue(), Double.valueOf(size)));
+                        }
+                    }
+                };
+                return cell;
+            }
+        });
+
+
+        fontSizeComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
+            Object fontSizeValue = getCommandValue(FONT_SIZE.getCommand());
+            if (!newValue.equals(fontSizeValue)) {
+                executeCommand(FONT_SIZE.getCommand(), fontSizeMap.get(newValue));
+            }
+        });
+
+        toolbar2.getItems().add(new Separator(Orientation.VERTICAL));
+
+        boldButton = addToggleButton(toolbar2, null,
+            resources.getString("boldIcon"), resources.getString("bold"), BOLD.getCommand(), "html-editor-bold");
+        boldButton.setOnAction(event1 -> {
+            // Only use the bold button for paragraphs.  We don't
+            // want to turn bold off for headings.
+
+            if ("<p>".equals(formatStyleMap.get(formatComboBox.getValue())))  {
+                executeCommand(BOLD.getCommand(), boldButton.selectedProperty().getValue().toString());
+            }
+        });
+        italicButton = addToggleButton(toolbar2, null,
+            resources.getString("italicIcon"), resources.getString("italic"), ITALIC.getCommand(), "html-editor-italic");
+        underlineButton = addToggleButton(toolbar2, null,
+            resources.getString("underlineIcon"), resources.getString("underline"), UNDERLINE.getCommand(), "html-editor-underline");
+        strikethroughButton = addToggleButton(toolbar2, null,
+            resources.getString("strikethroughIcon"), resources.getString("strikethrough"), STRIKETHROUGH.getCommand(), "html-editor-strike");
+
+        toolbar2.getItems().add(new Separator(Orientation.VERTICAL));
+
+        insertHorizontalRuleButton = addButton(toolbar2, resources.getString("insertHorizontalRuleIcon"),
+            resources.getString("insertHorizontalRule"), INSERT_HORIZONTAL_RULE.getCommand(), "html-editor-hr");
+        // We override setOnAction to insert a new line.  This fixes RT-16453
+        insertHorizontalRuleButton.setOnAction(event -> {
+            executeCommand(INSERT_NEW_LINE.getCommand(), null);
+            executeCommand(INSERT_HORIZONTAL_RULE.getCommand(), null);
+            updateToolbarState(false);
+        });
+
+        fgColorButton = new ColorPicker();
+        fgColorButton.getStyleClass().add("html-editor-foreground");
+        fgColorButton.setFocusTraversable(false);
+        toolbar1.getItems().add(fgColorButton);
+
+        // JDK-8115747: Icon URLs are now specified in CSS.
+        // fgColorButton.applyCss();
+        // ColorPickerSkin fgColorPickerSkin = (ColorPickerSkin) fgColorButton.getSkin();
+        // String fgIcon = AccessController.doPrivileged((PrivilegedAction<String>) () -> HTMLEditorSkin.class.getResource(resources.getString("foregroundColorIcon")).toString());
+        // ((StyleableProperty)fgColorPickerSkin.imageUrlProperty()).applyStyle(null,fgIcon);
+
+        fgColorButton.setValue(DEFAULT_FG_COLOR);
+        fgColorButton.setTooltip(new Tooltip(resources.getString("foregroundColor")));
+        fgColorButton.setOnAction(ev1 -> {
+            Color newValue = fgColorButton.getValue();
+            if (newValue != null) {
+                executeCommand(FOREGROUND_COLOR.getCommand(), colorValueToHex(newValue));
+                fgColorButton.hide();
+            }
+        });
+
+        bgColorButton = new ColorPicker();
+        bgColorButton.getStyleClass().add("html-editor-background");
+        bgColorButton.setFocusTraversable(false);
+        toolbar1.getItems().add(bgColorButton);
+
+        // JDK-8115747: Icon URLs are now specified in CSS.
+        // bgColorButton.applyCss();
+        // ColorPickerSkin  bgColorPickerSkin = (ColorPickerSkin) bgColorButton.getSkin();
+        // String bgIcon = AccessController.doPrivileged((PrivilegedAction<String>) () -> HTMLEditorSkin.class.getResource(resources.getString("backgroundColorIcon")).toString());
+        // ((StyleableProperty)bgColorPickerSkin.imageUrlProperty()).applyStyle(null,bgIcon);
+
+        bgColorButton.setValue(DEFAULT_BG_COLOR);
+        bgColorButton.setTooltip(new Tooltip(resources.getString("backgroundColor")));
+
+        bgColorButton.setOnAction(ev -> {
+            Color newValue = bgColorButton.getValue();
+            if (newValue != null) {
+                executeCommand(BACKGROUND_COLOR.getCommand(), colorValueToHex(newValue));
+                bgColorButton.hide();
+            }
+        });
+    }
+    
+    private String colorValueToHex(Color c) {
+        return String.format((Locale)null, "#%02x%02x%02x",
+                             Math.round(c.getRed() * 255),
+                             Math.round(c.getGreen() * 255),
+                             Math.round(c.getBlue() * 255));
+    }
+
+    private Button addButton(ToolBar toolbar, final String iconName, String tooltipText,
+            final String command, final String styleClass) {
+        Button button = new Button();
+        button.setFocusTraversable(false);
+        button.getStyleClass().add(styleClass);
+        toolbar.getItems().add(button);
+
+        Image icon = AccessController.doPrivileged((PrivilegedAction<Image>) () -> new Image(HTMLEditorSkin.class.getResource(iconName).toString()));
+//        button.setGraphic(new ImageView(icon));
+        ((StyleableProperty)button.graphicProperty()).applyStyle(null, new ImageView(icon));
+        button.setTooltip(new Tooltip(tooltipText));
+
+        button.setOnAction(event -> {
+            executeCommand(command, null);
+            updateToolbarState(false);
+        });
+
+        return button;
+    }
+
+    private ToggleButton addToggleButton(ToolBar toolbar, ToggleGroup toggleGroup,
+            final String iconName, String tooltipText, final String command, final String styleClass) {
+        ToggleButton toggleButton = new ToggleButton();
+        toggleButton.setUserData(command);
+        toggleButton.setFocusTraversable(false);
+        toggleButton.getStyleClass().add(styleClass);
+        toolbar.getItems().add(toggleButton);
+        if (toggleGroup != null) {
+            toggleButton.setToggleGroup(toggleGroup);
+        }
+
+        Image icon = AccessController.doPrivileged((PrivilegedAction<Image>) () -> new Image(HTMLEditorSkin.class.getResource(iconName).toString()));
+        ((StyleableProperty)toggleButton.graphicProperty()).applyStyle(null, new ImageView(icon));
+//        toggleButton.setGraphic(new ImageView(icon));
+
+        toggleButton.setTooltip(new Tooltip(tooltipText));
+
+        if (!BOLD.getCommand().equals(command)) {
+            toggleButton.selectedProperty().addListener((observable, oldValue, newValue) -> {
+                if (getCommandState(command) != newValue.booleanValue()) {
+                    executeCommand(command, null);
+                }
+            });
+        }
+        return toggleButton;
+    }
+
+    private void createFormatMenuItem(String formatValue, String label) {
+        formatComboBox.getItems().add(label);
+        formatStyleMap.put(label, formatValue);
+        styleFormatMap.put(formatValue, label);
+    }
+
+    private void createFontSizeMenuItem(String fontSizeValue, String label) {
+        fontSizeComboBox.getItems().add(label);
+        fontSizeMap.put(label, fontSizeValue);
+        sizeFontMap.put(fontSizeValue, label);
+    }
+
+    private void updateNodeOrientation() {
+        NodeOrientation orientation = getSkinnable().getEffectiveNodeOrientation();
+
+        HTMLDocument htmlDocument = (HTMLDocument)webPage.getDocument(webPage.getMainFrame());
+        HTMLElement htmlDocumentElement = (HTMLElement)htmlDocument.getDocumentElement();
+        if (htmlDocumentElement.getAttribute("dir") == null) {
+            htmlDocumentElement.setAttribute("dir", (orientation == RIGHT_TO_LEFT) ? "rtl" : "ltr");
+        }
+
+    }
+
+    private void updateToolbarState(final boolean updateAlignment) {
+        if (!webView.isFocused()) {
+            return;
+        }
+
+        atomicityCount++;
+
+        // These command aways return true.
+        copyButton.setDisable(!isCommandEnabled(CUT.getCommand()));
+        cutButton.setDisable(!isCommandEnabled(COPY.getCommand()));
+        pasteButton.setDisable(!isCommandEnabled(PASTE.getCommand()));
+
+        // undoButton.setDisable(!isCommandEnabled(UNDO.getCommand()));
+        // redoButton.setDisable(!isCommandEnabled(REDO.getCommand()));
+
+//        undoButton.setDisable(!isCommandEnabled(FORMAT.getCommand()));
+//        redoButton.setDisable(!isCommandEnabled(FORMAT.getCommand()));
+
+        insertHorizontalRuleButton.setDisable(!isCommandEnabled(INSERT_HORIZONTAL_RULE.getCommand()));
+
+        if (updateAlignment) {
+            alignLeftButton.setDisable(!isCommandEnabled(ALIGN_LEFT.getCommand()));
+            alignLeftButton.setSelected(getCommandState(ALIGN_LEFT.getCommand()));
+            alignCenterButton.setDisable(!isCommandEnabled(ALIGN_CENTER.getCommand()));
+            alignCenterButton.setSelected(getCommandState(ALIGN_CENTER.getCommand()));
+            alignRightButton.setDisable(!isCommandEnabled(ALIGN_RIGHT.getCommand()));
+            alignRightButton.setSelected(getCommandState(ALIGN_RIGHT.getCommand()));
+            alignJustifyButton.setDisable(!isCommandEnabled(ALIGN_JUSTIFY.getCommand()));
+            alignJustifyButton.setSelected(getCommandState(ALIGN_JUSTIFY.getCommand()));
+        } else {
+            if (alignmentToggleGroup.getSelectedToggle() != null) {
+                String command = alignmentToggleGroup.getSelectedToggle().getUserData().toString();
+                if (isCommandEnabled(command) && !getCommandState(command) ) {
+                    executeCommand(command, null);
+                }
+            }
+        }
+
+        if (alignmentToggleGroup.getSelectedToggle() == null) {
+            alignmentToggleGroup.selectToggle(alignLeftButton);
+        }
+
+        bulletsButton.setDisable(!isCommandEnabled(BULLETS.getCommand()));
+        bulletsButton.setSelected(getCommandState(BULLETS.getCommand()));
+        numbersButton.setDisable(!isCommandEnabled(NUMBERS.getCommand()));
+        numbersButton.setSelected(getCommandState(NUMBERS.getCommand()));
+
+        indentButton.setDisable(!isCommandEnabled(INDENT.getCommand()));
+        outdentButton.setDisable(!isCommandEnabled(OUTDENT.getCommand()));
+
+        formatComboBox.setDisable(!isCommandEnabled(FORMAT.getCommand()));
+
+
+        String formatValue = getCommandValue(FORMAT.getCommand());
+        if (formatValue != null) {
+            String htmlTag = "<" + formatValue + ">";
+            String comboFormatValue = styleFormatMap.get(htmlTag);
+            String format = formatComboBox.getValue();
+
+            // if the format value is then we assume that we're dealing with a paragraph,
+            // which seems to correspond with the HTML output we receive.
+            if ((resetToolbarState || htmlTag.equals("<>") || htmlTag.equalsIgnoreCase("<div>"))) {
+                formatComboBox.setValue(resources.getString("paragraph"));
+            } else if (format != null && ! format.equalsIgnoreCase(comboFormatValue)) {
+                formatComboBox.setValue(comboFormatValue);
+            }
+        }
+
+        fontFamilyComboBox.setDisable(!isCommandEnabled(FONT_FAMILY.getCommand()));
+        final String fontFamilyValue = getCommandValue(FONT_FAMILY.getCommand());
+        if (fontFamilyValue != null) {
+            String fontFamilyStr = fontFamilyValue;
+
+            // stripping out apostrophe characters, which are appended to either
+            // end of the font face name when the font face has one or more spaces.
+            if (fontFamilyStr.startsWith("'")) {
+                fontFamilyStr = fontFamilyStr.substring(1);
+            }
+            if (fontFamilyStr.endsWith("'")) {
+                fontFamilyStr = fontFamilyStr.substring(0,fontFamilyStr.length() - 1);
+            }
+
+            Object selectedFont = fontFamilyComboBox.getValue();
+            if (selectedFont instanceof String) {
+                if (!selectedFont.equals(fontFamilyStr)) { 
+
+                    ObservableList<String> fontFamilyItems = fontFamilyComboBox.getItems();
+                    String selectedComboFont = null;
+                    for (String comboFontFamilyValue : fontFamilyItems) {
+
+                        if (comboFontFamilyValue.equals(fontFamilyStr)) {
+                            selectedComboFont = comboFontFamilyValue;
+                            break;
+                        }
+                        // Note: By default, 'Dialog' is the font returned from webview.
+                        // For presidio, we're just mapping to an OS-specific font.
+                        if (comboFontFamilyValue.equals(DEFAULT_OS_FONT) && fontFamilyStr.equals("Dialog")) {
+                            selectedComboFont = comboFontFamilyValue;
+                            break;
+                        }
+                    }
+
+                    if (selectedComboFont != null) {
+                        fontFamilyComboBox.setValue(selectedComboFont);
+                    }
+                }
+            }
+        }
+
+        fontSizeComboBox.setDisable(!isCommandEnabled(FONT_SIZE.getCommand()));
+        String fontSizeValue = getCommandValue(FONT_SIZE.getCommand());
+
+        // added test for fontSizeValue == null to combat RT-28847
+        if (resetToolbarState && fontSizeValue == null) {
+            fontSizeComboBox.setValue(sizeFontMap.get(SIZE_SMALL));
+        } else {
+            if (fontSizeValue != null) {
+                if (!fontSizeComboBox.getValue().equals(sizeFontMap.get(fontSizeValue))) {
+                    fontSizeComboBox.setValue(sizeFontMap.get(fontSizeValue));
+                }
+            }
+            else {
+                /*
+                ** these is no font size set in webview,
+                ** let's just use the default....
+                */
+                if (!fontSizeComboBox.getValue().equals(sizeFontMap.get(SIZE_SMALL))) {
+                    fontSizeComboBox.setValue(sizeFontMap.get(SIZE_SMALL));
+                }
+            }
+        }
+
+        boldButton.setDisable(!isCommandEnabled(BOLD.getCommand()));
+        boldButton.setSelected(getCommandState(BOLD.getCommand()));
+        italicButton.setDisable(!isCommandEnabled(ITALIC.getCommand()));
+        italicButton.setSelected(getCommandState(ITALIC.getCommand()));
+        underlineButton.setDisable(!isCommandEnabled(UNDERLINE.getCommand()));
+        underlineButton.setSelected(getCommandState(UNDERLINE.getCommand()));
+        strikethroughButton.setDisable(!isCommandEnabled(STRIKETHROUGH.getCommand()));
+        strikethroughButton.setSelected(getCommandState(STRIKETHROUGH.getCommand()));
+
+        fgColorButton.setDisable(!isCommandEnabled(FOREGROUND_COLOR.getCommand()));
+        String foregroundColorValue = getCommandValue(FOREGROUND_COLOR.getCommand());
+        if (foregroundColorValue != null) {
+            Color c = Color.web(rgbToHex((String)foregroundColorValue));
+            fgColorButton.setValue(c);
+        }
+
+        bgColorButton.setDisable(!isCommandEnabled(BACKGROUND_COLOR.getCommand()));
+        String backgroundColorValue = getCommandValue(BACKGROUND_COLOR.getCommand());
+        if (backgroundColorValue != null) {
+            Color c = Color.web(rgbToHex((String)backgroundColorValue));
+            bgColorButton.setValue(c);
+        }
+
+        atomicityCount = atomicityCount == 0 ? 0 : --atomicityCount;
+    }
+
+    private void enableToolbar(final boolean enable) {
+        Platform.runLater(() -> {
+
+            // Make sure buttons have been created to avoid NPE
+            if (copyButton == null) return;
+
+            /*
+            ** if we're to enable, we still only enable
+            ** the cut/copy/paste buttons that make sense
+            */
+            if (enable) {
+                copyButton.setDisable(!isCommandEnabled(COPY.getCommand()));
+                cutButton.setDisable(!isCommandEnabled(CUT.getCommand()));
+                pasteButton.setDisable(!isCommandEnabled(PASTE.getCommand()));
+            } else {
+                copyButton.setDisable(true);
+                cutButton.setDisable(true);
+                pasteButton.setDisable(true);
+            }
+
+//                undoButton.setDisable(!enable);
+//                redoButton.setDisable(!enable);
+            insertHorizontalRuleButton.setDisable(!enable);
+            alignLeftButton.setDisable(!enable);
+            alignCenterButton.setDisable(!enable);
+            alignRightButton.setDisable(!enable);
+            alignJustifyButton.setDisable(!enable);
+            bulletsButton.setDisable(!enable);
+            numbersButton.setDisable(!enable);
+            indentButton.setDisable(!enable);
+            outdentButton.setDisable(!enable);
+            formatComboBox.setDisable(!enable);
+            fontFamilyComboBox.setDisable(!enable);
+            fontSizeComboBox.setDisable(!enable);
+            boldButton.setDisable(!enable);
+            italicButton.setDisable(!enable);
+            underlineButton.setDisable(!enable);
+            strikethroughButton.setDisable(!enable);
+            fgColorButton.setDisable(!enable);
+            bgColorButton.setDisable(!enable);
+        });
+    }
+
+    private boolean executeCommand(String command, String value) {
+        // The mentions of atomicity throughout this class relate back to RT-39941,
+        // refer to that jira issue for more context.
+        if (!enableAtomicityCheck || (enableAtomicityCheck && atomicityCount == 0)) {
+            return webPage.executeCommand(command, value);
+        }
+        return false;
+    }
+
+    private boolean isCommandEnabled(String command) {
+        return webPage.queryCommandEnabled(command);
+    }
+    
+    private void setContentEditable(boolean b) {
+        HTMLDocument htmlDocument = (HTMLDocument)webPage.getDocument(webPage.getMainFrame());
+        HTMLElement htmlDocumentElement = (HTMLElement)htmlDocument.getDocumentElement();
+        HTMLElement htmlBodyElement = (HTMLElement)htmlDocumentElement.getElementsByTagName("body").item(0);
+        htmlBodyElement.setAttribute("contenteditable", Boolean.toString(b));
+    }
+
+    private boolean getCommandState(String command) {
+        return webPage.queryCommandState(command);
+    }
+
+    private String getCommandValue(String command) {
+        return webPage.queryCommandValue(command);
+    }
+
+    private static String rgbToHex(String value) {
+        if (value.startsWith("rgba")) {
+            String[] components = value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')).split(",");
+            value = String.format("#%02X%02X%02X%02X",
+                Integer.parseInt(components[0].trim()),
+                Integer.parseInt(components[1].trim()),
+                Integer.parseInt(components[2].trim()),
+                Integer.parseInt(components[3].trim()));
+            // The default background color for WebView, according to the HTML
+            // standard is rgba=#00000000 (black). The canvas background is expected
+            // to be white.
+            if ("#00000000".equals(value)) {
+                return "#FFFFFFFF";
+            }
+        } else if (value.startsWith("rgb")) {
+            String[] components = value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')).split(",");
+            value = String.format("#%02X%02X%02X",
+                Integer.parseInt(components[0].trim()),
+                Integer.parseInt(components[1].trim()),
+                Integer.parseInt(components[2].trim()));
+        }
+
+        return value;
+    }
+
+    private void applyTextFormatting() {
+        if (getCommandState(BULLETS.getCommand()) || getCommandState(NUMBERS.getCommand())) {
+            return;
+        }
+
+        if (webPage.getClientCommittedTextLength() == 0) {
+            String format = formatStyleMap.get(formatComboBox.getValue());
+            String font   = fontFamilyComboBox.getValue().toString();
+
+            executeCommand(FORMAT.getCommand(), format);
+            executeCommand(FONT_FAMILY.getCommand(), font);
+        }
+    }
+
+    void print(PrinterJob job) {
+        webView.getEngine().print(job);
+    }
+
+
+
+    /***************************************************************************
+     *                                                                         *
+     * Support Classes                                                         *
+     *                                                                         *
+     **************************************************************************/
+
+    /**
+     * Represents commands that can be passed into the HTMLEditor web engine.
+     */
+    public enum Command {
+        CUT("cut"),
+        COPY("copy"),
+        PASTE("paste"),
+
+        UNDO("undo"),
+        REDO("redo"),
+
+        INSERT_HORIZONTAL_RULE("inserthorizontalrule"),
+
+        ALIGN_LEFT("justifyleft"),
+        ALIGN_CENTER("justifycenter"),
+        ALIGN_RIGHT("justifyright"),
+        ALIGN_JUSTIFY("justifyfull"),
+
+        BULLETS("insertUnorderedList"),
+        NUMBERS("insertOrderedList"),
+
+        INDENT("indent"),
+        OUTDENT("outdent"),
+
+        FORMAT("formatblock"),
+        FONT_FAMILY("fontname"),
+        FONT_SIZE("fontsize"),
+
+        BOLD("bold"),
+        ITALIC("italic"),
+        UNDERLINE("underline"),
+        STRIKETHROUGH("strikethrough"),
+
+        FOREGROUND_COLOR("forecolor"),
+        BACKGROUND_COLOR("backcolor"),
+
+        INSERT_NEW_LINE("insertnewline"),
+        INSERT_TAB("inserttab");
+
+        private final String command;
+
+        Command(String command) {
+            this.command = command;
+        }
+
+        public String getCommand() {
+            return command;
+        }
+    }
+}
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignCenter_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignJustified_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignLeft_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/AlignRight_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Bold_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Copy_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Cut_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/DecreaseIndent_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/DrawHorizontalLine_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/FontBackgroundColor_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/FontColor_16x16_JFX.png has changed
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Cut
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Copy
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Paste
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = Undo
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = Redo
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Insert Horizontal Rule
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = Left-Align
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Center
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = Right-Align
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Justify
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Bullets
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = Numbers
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Indent
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Outdent
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Format
-paragraph = Paragraph
-heading1 = Heading 1
-heading2 = Heading 2
-heading3 = Heading 3
-heading4 = Heading 4
-heading5 = Heading 5
-heading6 = Heading 6
-fontFamily = Font Family
-fontSize = Font Size
-extraExtraSmall = 8 pt
-extraSmall = 10 pt
-small = 12 pt
-medium = 14 pt
-large = 18 pt
-extraLarge = 24 pt
-extraExtraLarge = 36 pt
-
-# Tooltip text for the toolbar bold-text button
-bold = Bold
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = Italic
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Underline
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Strikethrough
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = Foreground Color
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Background Color
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_de.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Ausschneiden
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Kopieren
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Einf\u00FCgen
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = R\u00FCckg\u00E4ngig
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = Wiederherstellen
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Horizontale Trennlinie einf\u00FCgen
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = Links
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Zentriert
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = Rechts
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Blocksatz
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Aufz\u00E4hlungszeichen
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = Zahlen
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Einzug
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Ausr\u00FCcken
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Format
-paragraph = Absatz
-heading1 = \u00DCberschrift 1
-heading2 = \u00DCberschrift 2
-heading3 = \u00DCberschrift 3
-heading4 = \u00DCberschrift 4
-heading5 = \u00DCberschrift 5
-heading6 = \u00DCberschrift 6
-fontFamily = Schriftartfamilie
-fontSize = Schriftgrad
-extraExtraSmall = 8 Pt
-extraSmall = 10 Pt
-small = 12 Pt
-medium = 14 Pt
-large = 18 Pt
-extraLarge = 24 Pt
-extraExtraLarge = 36 Pt
-
-# Tooltip text for the toolbar bold-text button
-bold = Fett
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = Kursiv
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Unterstreichung
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Durchgestrichen
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = Vordergrundfarbe
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Hintergrundfarbe
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_es.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Cortar
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Copiar
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Pegar
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = Deshacer
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = Rehacer
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Insertar Regla Horizontal
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = Alinear a la Izquierda
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Centrar
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = Alinear a la Derecha
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Justificar
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Vi\u00F1etas
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = N\u00FAmeros
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Sangrado
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Eliminar Sangrado
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Formato
-paragraph = P\u00E1rrafo
-heading1 = Cabecera 1
-heading2 = Cabecera 2
-heading3 = Cabecera 3
-heading4 = Cabecera 4
-heading5 = Cabecera 5
-heading6 = Cabecera 6
-fontFamily = Familia de Fuentes
-fontSize = Tama\u00F1o de Fuente
-extraExtraSmall = 8 ptos.
-extraSmall = 10 ptos.
-small = 12 ptos.
-medium = 14 ptos.
-large = 18 ptos.
-extraLarge = 24 ptos.
-extraExtraLarge = 36 ptos.
-
-# Tooltip text for the toolbar bold-text button
-bold = Negrita
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = Cursiva
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Subrayado
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Tachado
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = Color de Primer Plano
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Color de Fondo
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_fr.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Couper
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Copier
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Coller
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = Annuler
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = R\u00E9tablir
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Ins\u00E9rer une r\u00E8gle horizontale
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = Aligner \u00E0 gauche
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Centrer
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = Aligner \u00E0 droite
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Justifier
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Puces
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = Nombres
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Mettre en retrait
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Mettre en retrait n\u00E9gatif
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Format
-paragraph = Paragraphe
-heading1 = Titre 1
-heading2 = Titre 2
-heading3 = Titre 3
-heading4 = Titre 4
-heading5 = Titre 5
-heading6 = Titre 6
-fontFamily = Famille de polices
-fontSize = Taille de police
-extraExtraSmall = 8 pts
-extraSmall = 10 pts
-small = 12 pts
-medium = 14 pts
-large = 18 pts
-extraLarge = 24 pts
-extraExtraLarge = 36 pts
-
-# Tooltip text for the toolbar bold-text button
-bold = Gras
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = Italique
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Soulign\u00E9
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Barr\u00E9
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = Couleur de premier plan
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Couleur d'arri\u00E8re-plan
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_it.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Taglia
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Copia
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Incolla
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = Annulla
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = Ripete
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Inserisce una linea orizzontale
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = Allinea a sinistra
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Centra
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = Allinea a destra
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Giustifica
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Punti elenco
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = Numeri
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Indentazione
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Sporgenza
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Formato
-paragraph = Paragrafo
-heading1 = Intestazione 1
-heading2 = Intestazione 2
-heading3 = Intestazione 3
-heading4 = Intestazione 4
-heading5 = Intestazione 5
-heading6 = Intestazione 6
-fontFamily = Famiglia di caratteri
-fontSize = Dimensione carattere
-extraExtraSmall = 8 pt
-extraSmall = 10 pt
-small = 12 pt
-medium = 14 pt
-large = 18 pt
-extraLarge = 24 pt
-extraExtraLarge = 36 pt
-
-# Tooltip text for the toolbar bold-text button
-bold = Grassetto
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = Corsivo
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Sottolineato
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Barrato
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = Colore primo piano
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Colore sfondo
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ja.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = \u5207\u53D6\u308A
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = \u30B3\u30D4\u30FC
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = \u8CBC\u4ED8\u3051
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = \u5143\u306B\u623B\u3059
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = \u3084\u308A\u76F4\u3057
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = \u6A2A\u7F6B\u7DDA\u306E\u633F\u5165
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = \u5DE6\u5BC4\u305B
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = \u4E2D\u592E\u63C3\u3048
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = \u53F3\u5BC4\u305B
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = \u4E21\u7AEF\u63C3\u3048
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = \u7B87\u6761\u66F8\u304D
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = \u756A\u53F7
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = \u30A4\u30F3\u30C7\u30F3\u30C8
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = \u30A2\u30A6\u30C8\u30C7\u30F3\u30C8
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = \u66F8\u5F0F
-paragraph = \u6BB5\u843D
-heading1 = \u898B\u51FA\u30571
-heading2 = \u898B\u51FA\u30572
-heading3 = \u898B\u51FA\u30573
-heading4 = \u898B\u51FA\u30574
-heading5 = \u898B\u51FA\u30575
-heading6 = \u898B\u51FA\u30576
-fontFamily = \u30D5\u30A9\u30F3\u30C8\u30FB\u30D5\u30A1\u30DF\u30EA
-fontSize = \u30D5\u30A9\u30F3\u30C8\u30FB\u30B5\u30A4\u30BA
-extraExtraSmall = 8\u30DD\u30A4\u30F3\u30C8
-extraSmall = 10\u30DD\u30A4\u30F3\u30C8
-small = 12\u30DD\u30A4\u30F3\u30C8
-medium = 14\u30DD\u30A4\u30F3\u30C8
-large = 18\u30DD\u30A4\u30F3\u30C8
-extraLarge = 24\u30DD\u30A4\u30F3\u30C8
-extraExtraLarge = 36\u30DD\u30A4\u30F3\u30C8
-
-# Tooltip text for the toolbar bold-text button
-bold = \u592A\u5B57
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = \u30A4\u30BF\u30EA\u30C3\u30AF
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = \u4E0B\u7DDA
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = \u53D6\u6D88\u3057\u7DDA
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = \u524D\u666F\u8272
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = \u80CC\u666F\u8272
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_ko.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = \uC798\uB77C\uB0B4\uAE30
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = \uBCF5\uC0AC
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = \uBD99\uC5EC\uB123\uAE30
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = \uC2E4\uD589 \uCDE8\uC18C
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = \uC7AC\uC2E4\uD589
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = \uAC00\uB85C \uADDC\uCE59 \uC0BD\uC785
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = \uC67C\uCABD \uB9DE\uCDA4
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = \uAC00\uC6B4\uB370
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = \uC624\uB978\uCABD \uB9DE\uCDA4
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = \uC591\uCABD \uB9DE\uCDA4
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = \uAE00\uBA38\uB9AC\uD45C
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = \uBC88\uD638
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = \uB4E4\uC5EC\uC4F0\uAE30
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = \uB0B4\uC5B4\uC4F0\uAE30
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = \uC11C\uC2DD
-paragraph = \uB2E8\uB77D
-heading1 = \uBA38\uB9AC\uAE00 1
-heading2 = \uBA38\uB9AC\uAE00 2
-heading3 = \uBA38\uB9AC\uAE00 3
-heading4 = \uBA38\uB9AC\uAE00 4
-heading5 = \uBA38\uB9AC\uAE00 5
-heading6 = \uBA38\uB9AC\uAE00 6
-fontFamily = \uAE00\uAF34 \uBAA8\uC74C
-fontSize = \uAE00\uAF34 \uD06C\uAE30
-extraExtraSmall = 8\uD3EC\uC778\uD2B8
-extraSmall = 10\uD3EC\uC778\uD2B8
-small = 12\uD3EC\uC778\uD2B8
-medium = 14\uD3EC\uC778\uD2B8
-large = 18\uD3EC\uC778\uD2B8
-extraLarge = 24\uD3EC\uC778\uD2B8
-extraExtraLarge = 36\uD3EC\uC778\uD2B8
-
-# Tooltip text for the toolbar bold-text button
-bold = \uAD75\uC740\uCCB4
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = \uAE30\uC6B8\uC784\uAF34
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = \uBC11\uC904
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = \uCDE8\uC18C\uC120
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = \uC804\uACBD\uC0C9
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = \uBC30\uACBD\uC0C9
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_pt_BR.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Recortar
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Copiar
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Colar
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = Desfazer
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = Refazer
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Inserir R\u00E9gua Horizontal
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = Alinhamento \u00E0 Esquerda
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Centralizado
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = Alinhamento \u00E0 Direita
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Justificar
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Marcadores
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = N\u00FAmeros
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Recuo
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Avan\u00E7o
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Formatar
-paragraph = Par\u00E1grafo
-heading1 = Cabe\u00E7alho 1
-heading2 = Cabe\u00E7alho 2
-heading3 = Cabe\u00E7alho 3
-heading4 = Cabe\u00E7alho 4
-heading5 = Cabe\u00E7alho 5
-heading6 = Cabe\u00E7alho 6
-fontFamily = Fam\u00EDlia de Fontes
-fontSize = Tamanho da Fonte
-extraExtraSmall = 8 pt
-extraSmall = 10 pt
-small = 12 pt
-medium = 14 pt
-large = 18 pt
-extraLarge = 24 pt
-extraExtraLarge = 36 pt
-
-# Tooltip text for the toolbar bold-text button
-bold = Negrito
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = It\u00E1lico
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Sublinhado
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Tachado
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = Cor de Primeiro Plano
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Cor de Fundo
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_sv.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = Klipp ut
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = Kopiera
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = Klistra in
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = \u00C5ngra
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = G\u00F6r om
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = Infoga horisontell linje
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = V\u00E4nsterjustera
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = Centrera
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = H\u00F6gerjustera
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = Marginaljustera
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = Punktlista
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = Nummerlista
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = Indrag
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = Dra ut
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = Format
-paragraph = Stycke
-heading1 = Rubrik 1
-heading2 = Rubrik 2
-heading3 = Rubrik 3
-heading4 = Rubrik 4
-heading5 = Rubrik 5
-heading6 = Rubrik 6
-fontFamily = Teckensnittsfamilj
-fontSize = Teckenstorlek
-extraExtraSmall = 8 pt
-extraSmall = 10 pt
-small = 12 pt
-medium = 14 pt
-large = 18 pt
-extraLarge = 24 pt
-extraExtraLarge = 36 pt
-
-# Tooltip text for the toolbar bold-text button
-bold = Fet
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = Kursiv
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = Understruken
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = Genomstruken
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = F\u00F6rgrundsf\u00E4rg
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = Bakgrundsf\u00E4rg
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_CN.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = \u526A\u5207
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = \u590D\u5236
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = \u7C98\u8D34
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = \u64A4\u6D88
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = \u91CD\u505A
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = \u63D2\u5165\u6C34\u5E73\u6807\u7EBF
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = \u5DE6\u5BF9\u9F50
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = \u5C45\u4E2D\u5BF9\u9F50
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = \u53F3\u5BF9\u9F50
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = \u4E24\u7AEF\u5BF9\u9F50
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = \u9879\u76EE\u7B26\u53F7
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = \u7F16\u53F7
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = \u589E\u52A0\u7F29\u8FDB
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = \u51CF\u5C11\u7F29\u8FDB
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = \u683C\u5F0F
-paragraph = \u6BB5\u843D
-heading1 = \u6807\u9898 1
-heading2 = \u6807\u9898 2
-heading3 = \u6807\u9898 3
-heading4 = \u6807\u9898 4
-heading5 = \u6807\u9898 5
-heading6 = \u6807\u9898 6
-fontFamily = \u5B57\u4F53\u7CFB\u5217
-fontSize = \u5B57\u4F53\u5927\u5C0F
-extraExtraSmall = 8 \u78C5
-extraSmall = 10 \u78C5
-small = 12 \u78C5
-medium = 14 \u78C5
-large = 18 \u78C5
-extraLarge = 24 \u78C5
-extraExtraLarge = 36 \u78C5
-
-# Tooltip text for the toolbar bold-text button
-bold = \u7C97\u4F53
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = \u659C\u4F53
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = \u4E0B\u5212\u7EBF
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = \u5220\u9664\u7EBF
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = \u524D\u666F\u8272
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = \u80CC\u666F\u8272
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- a/modules/web/src/main/resources/com/sun/javafx/scene/web/skin/HTMLEditorSkin_zh_TW.properties	Mon Sep 14 12:21:08 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-
-# Tooltip text for the toolbar 'Cut' button
-cut = \u526A\u4E0B
-cutIcon = Cut_16x16_JFX.png
-# Tooltip text for the toolbar 'Copy' button
-copy = \u8907\u88FD
-copyIcon = Copy_16x16_JFX.png
-# Tooltip text for the toolbar 'Paste' button
-paste = \u8CBC\u4E0A
-pasteIcon = Paste_16x16_JFX.png
-# Tooltip text for the toolbar 'Undo' button
-undo = \u9084\u539F
-undoIcon = Undo_16x16_JFX.png
-# Tooltip text for the toolbar 'Redo' button
-redo = \u91CD\u505A
-redoIcon = Redo_16x16_JFX.png
-
-insertHorizontalRule = \u63D2\u5165\u6C34\u5E73\u7DDA
-insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
-
-alignLeft = \u9760\u5DE6\u5C0D\u9F4A
-alignLeftIcon = AlignLeft_16x16_JFX.png
-alignCenter = \u7F6E\u4E2D\u5C0D\u9F4A
-alignCenterIcon = AlignCenter_16x16_JFX.png
-alignRight = \u9760\u53F3\u5C0D\u9F4A
-alignRightIcon = AlignRight_16x16_JFX.png
-alignJustify = \u5DE6\u53F3\u5C0D\u9F4A
-alignJustifyIcon = AlignJustified_16x16_JFX.png
-
-# Tooltip text for the toolbar insert bullet-points button
-bullets = \u9805\u76EE\u7B26\u865F
-bulletsIcon = UnorderedListBullets_16x16_JFX.png
-# Tooltip text for the toolbar insert numbered-bullet-points button
-numbers = \u7DE8\u865F
-numbersIcon = OrderedListNumbers_16x16_JFX.png
-numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
-# Tooltip text for the toolbar indent-text button
-indent = \u7E2E\u6392
-indentIcon = IncreaseIndent_16x16_JFX.png
-# Tooltip text for the toolbar outdent-text button
-outdent = \u51F8\u6392
-outdentIcon = DecreaseIndent_16x16_JFX.png
-
-
-# Tooltip text for the toolbar format-text menu button
-format = \u683C\u5F0F
-paragraph = \u6BB5\u843D
-heading1 = \u6A19\u984C 1
-heading2 = \u6A19\u984C 2
-heading3 = \u6A19\u984C 3
-heading4 = \u6A19\u984C 4
-heading5 = \u6A19\u984C 5
-heading6 = \u6A19\u984C 6
-fontFamily = \u5B57\u578B
-fontSize = \u5B57\u578B\u5927\u5C0F
-extraExtraSmall = 8 \u9EDE
-extraSmall = 10 \u9EDE
-small = 12 \u9EDE
-medium = 14 \u9EDE
-large = 18 \u9EDE
-extraLarge = 24 \u9EDE
-extraExtraLarge = 36 \u9EDE
-
-# Tooltip text for the toolbar bold-text button
-bold = \u7C97\u9AD4
-boldIcon = Bold_16x16_JFX.png
-# Tooltip text for the toolbar italic-text button
-italic = \u659C\u9AD4
-italicIcon = Italic_16x16_JFX.png
-# Tooltip text for the toolbar underline-text button
-underline = \u5E95\u7DDA
-underlineIcon = Underline_16x16_JFX.png
-# Tooltip text for the toolbar strikethrough-text button
-strikethrough = \u522A\u9664\u7DDA
-strikethroughIcon = Strikethrough_16x16_JFX.png
-
-foregroundColor = \u524D\u666F\u984F\u8272
-foregroundColorIcon = FontColor_16x16_JFX.png
-backgroundColor = \u80CC\u666F\u984F\u8272
-backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/IncreaseIndent_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Italic_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/OrderedListNumbers_16x16_JFX-rtl.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/OrderedListNumbers_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Paste_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Redo_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Strikethrough_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Underline_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/Undo_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/com/sun/javafx/scene/web/skin/UnorderedListBullets_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/AlignCenter_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/AlignJustified_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/AlignLeft_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/AlignRight_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Bold_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Copy_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Cut_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/DecreaseIndent_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/DrawHorizontalLine_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/FontBackgroundColor_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/FontColor_16x16_JFX.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Cut
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Copy
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Paste
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = Undo
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = Redo
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Insert Horizontal Rule
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = Left-Align
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Center
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = Right-Align
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Justify
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Bullets
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = Numbers
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Indent
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Outdent
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Format
+paragraph = Paragraph
+heading1 = Heading 1
+heading2 = Heading 2
+heading3 = Heading 3
+heading4 = Heading 4
+heading5 = Heading 5
+heading6 = Heading 6
+fontFamily = Font Family
+fontSize = Font Size
+extraExtraSmall = 8 pt
+extraSmall = 10 pt
+small = 12 pt
+medium = 14 pt
+large = 18 pt
+extraLarge = 24 pt
+extraExtraLarge = 36 pt
+
+# Tooltip text for the toolbar bold-text button
+bold = Bold
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = Italic
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Underline
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Strikethrough
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = Foreground Color
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Background Color
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_de.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Ausschneiden
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Kopieren
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Einf\u00FCgen
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = R\u00FCckg\u00E4ngig
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = Wiederherstellen
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Horizontale Trennlinie einf\u00FCgen
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = Links
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Zentriert
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = Rechts
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Blocksatz
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Aufz\u00E4hlungszeichen
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = Zahlen
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Einzug
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Ausr\u00FCcken
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Format
+paragraph = Absatz
+heading1 = \u00DCberschrift 1
+heading2 = \u00DCberschrift 2
+heading3 = \u00DCberschrift 3
+heading4 = \u00DCberschrift 4
+heading5 = \u00DCberschrift 5
+heading6 = \u00DCberschrift 6
+fontFamily = Schriftartfamilie
+fontSize = Schriftgrad
+extraExtraSmall = 8 Pt
+extraSmall = 10 Pt
+small = 12 Pt
+medium = 14 Pt
+large = 18 Pt
+extraLarge = 24 Pt
+extraExtraLarge = 36 Pt
+
+# Tooltip text for the toolbar bold-text button
+bold = Fett
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = Kursiv
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Unterstreichung
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Durchgestrichen
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = Vordergrundfarbe
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Hintergrundfarbe
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_es.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Cortar
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Copiar
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Pegar
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = Deshacer
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = Rehacer
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Insertar Regla Horizontal
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = Alinear a la Izquierda
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Centrar
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = Alinear a la Derecha
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Justificar
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Vi\u00F1etas
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = N\u00FAmeros
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Sangrado
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Eliminar Sangrado
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Formato
+paragraph = P\u00E1rrafo
+heading1 = Cabecera 1
+heading2 = Cabecera 2
+heading3 = Cabecera 3
+heading4 = Cabecera 4
+heading5 = Cabecera 5
+heading6 = Cabecera 6
+fontFamily = Familia de Fuentes
+fontSize = Tama\u00F1o de Fuente
+extraExtraSmall = 8 ptos.
+extraSmall = 10 ptos.
+small = 12 ptos.
+medium = 14 ptos.
+large = 18 ptos.
+extraLarge = 24 ptos.
+extraExtraLarge = 36 ptos.
+
+# Tooltip text for the toolbar bold-text button
+bold = Negrita
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = Cursiva
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Subrayado
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Tachado
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = Color de Primer Plano
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Color de Fondo
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_fr.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Couper
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Copier
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Coller
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = Annuler
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = R\u00E9tablir
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Ins\u00E9rer une r\u00E8gle horizontale
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = Aligner \u00E0 gauche
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Centrer
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = Aligner \u00E0 droite
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Justifier
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Puces
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = Nombres
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Mettre en retrait
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Mettre en retrait n\u00E9gatif
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Format
+paragraph = Paragraphe
+heading1 = Titre 1
+heading2 = Titre 2
+heading3 = Titre 3
+heading4 = Titre 4
+heading5 = Titre 5
+heading6 = Titre 6
+fontFamily = Famille de polices
+fontSize = Taille de police
+extraExtraSmall = 8 pts
+extraSmall = 10 pts
+small = 12 pts
+medium = 14 pts
+large = 18 pts
+extraLarge = 24 pts
+extraExtraLarge = 36 pts
+
+# Tooltip text for the toolbar bold-text button
+bold = Gras
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = Italique
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Soulign\u00E9
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Barr\u00E9
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = Couleur de premier plan
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Couleur d'arri\u00E8re-plan
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_it.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Taglia
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Copia
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Incolla
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = Annulla
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = Ripete
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Inserisce una linea orizzontale
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = Allinea a sinistra
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Centra
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = Allinea a destra
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Giustifica
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Punti elenco
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = Numeri
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Indentazione
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Sporgenza
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Formato
+paragraph = Paragrafo
+heading1 = Intestazione 1
+heading2 = Intestazione 2
+heading3 = Intestazione 3
+heading4 = Intestazione 4
+heading5 = Intestazione 5
+heading6 = Intestazione 6
+fontFamily = Famiglia di caratteri
+fontSize = Dimensione carattere
+extraExtraSmall = 8 pt
+extraSmall = 10 pt
+small = 12 pt
+medium = 14 pt
+large = 18 pt
+extraLarge = 24 pt
+extraExtraLarge = 36 pt
+
+# Tooltip text for the toolbar bold-text button
+bold = Grassetto
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = Corsivo
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Sottolineato
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Barrato
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = Colore primo piano
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Colore sfondo
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_ja.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = \u5207\u53D6\u308A
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = \u30B3\u30D4\u30FC
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = \u8CBC\u4ED8\u3051
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = \u5143\u306B\u623B\u3059
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = \u3084\u308A\u76F4\u3057
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = \u6A2A\u7F6B\u7DDA\u306E\u633F\u5165
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = \u5DE6\u5BC4\u305B
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = \u4E2D\u592E\u63C3\u3048
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = \u53F3\u5BC4\u305B
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = \u4E21\u7AEF\u63C3\u3048
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = \u7B87\u6761\u66F8\u304D
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = \u756A\u53F7
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = \u30A4\u30F3\u30C7\u30F3\u30C8
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = \u30A2\u30A6\u30C8\u30C7\u30F3\u30C8
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = \u66F8\u5F0F
+paragraph = \u6BB5\u843D
+heading1 = \u898B\u51FA\u30571
+heading2 = \u898B\u51FA\u30572
+heading3 = \u898B\u51FA\u30573
+heading4 = \u898B\u51FA\u30574
+heading5 = \u898B\u51FA\u30575
+heading6 = \u898B\u51FA\u30576
+fontFamily = \u30D5\u30A9\u30F3\u30C8\u30FB\u30D5\u30A1\u30DF\u30EA
+fontSize = \u30D5\u30A9\u30F3\u30C8\u30FB\u30B5\u30A4\u30BA
+extraExtraSmall = 8\u30DD\u30A4\u30F3\u30C8
+extraSmall = 10\u30DD\u30A4\u30F3\u30C8
+small = 12\u30DD\u30A4\u30F3\u30C8
+medium = 14\u30DD\u30A4\u30F3\u30C8
+large = 18\u30DD\u30A4\u30F3\u30C8
+extraLarge = 24\u30DD\u30A4\u30F3\u30C8
+extraExtraLarge = 36\u30DD\u30A4\u30F3\u30C8
+
+# Tooltip text for the toolbar bold-text button
+bold = \u592A\u5B57
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = \u30A4\u30BF\u30EA\u30C3\u30AF
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = \u4E0B\u7DDA
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = \u53D6\u6D88\u3057\u7DDA
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = \u524D\u666F\u8272
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = \u80CC\u666F\u8272
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_ko.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = \uC798\uB77C\uB0B4\uAE30
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = \uBCF5\uC0AC
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = \uBD99\uC5EC\uB123\uAE30
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = \uC2E4\uD589 \uCDE8\uC18C
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = \uC7AC\uC2E4\uD589
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = \uAC00\uB85C \uADDC\uCE59 \uC0BD\uC785
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = \uC67C\uCABD \uB9DE\uCDA4
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = \uAC00\uC6B4\uB370
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = \uC624\uB978\uCABD \uB9DE\uCDA4
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = \uC591\uCABD \uB9DE\uCDA4
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = \uAE00\uBA38\uB9AC\uD45C
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = \uBC88\uD638
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = \uB4E4\uC5EC\uC4F0\uAE30
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = \uB0B4\uC5B4\uC4F0\uAE30
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = \uC11C\uC2DD
+paragraph = \uB2E8\uB77D
+heading1 = \uBA38\uB9AC\uAE00 1
+heading2 = \uBA38\uB9AC\uAE00 2
+heading3 = \uBA38\uB9AC\uAE00 3
+heading4 = \uBA38\uB9AC\uAE00 4
+heading5 = \uBA38\uB9AC\uAE00 5
+heading6 = \uBA38\uB9AC\uAE00 6
+fontFamily = \uAE00\uAF34 \uBAA8\uC74C
+fontSize = \uAE00\uAF34 \uD06C\uAE30
+extraExtraSmall = 8\uD3EC\uC778\uD2B8
+extraSmall = 10\uD3EC\uC778\uD2B8
+small = 12\uD3EC\uC778\uD2B8
+medium = 14\uD3EC\uC778\uD2B8
+large = 18\uD3EC\uC778\uD2B8
+extraLarge = 24\uD3EC\uC778\uD2B8
+extraExtraLarge = 36\uD3EC\uC778\uD2B8
+
+# Tooltip text for the toolbar bold-text button
+bold = \uAD75\uC740\uCCB4
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = \uAE30\uC6B8\uC784\uAF34
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = \uBC11\uC904
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = \uCDE8\uC18C\uC120
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = \uC804\uACBD\uC0C9
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = \uBC30\uACBD\uC0C9
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_pt_BR.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Recortar
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Copiar
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Colar
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = Desfazer
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = Refazer
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Inserir R\u00E9gua Horizontal
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = Alinhamento \u00E0 Esquerda
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Centralizado
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = Alinhamento \u00E0 Direita
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Justificar
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Marcadores
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = N\u00FAmeros
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Recuo
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Avan\u00E7o
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Formatar
+paragraph = Par\u00E1grafo
+heading1 = Cabe\u00E7alho 1
+heading2 = Cabe\u00E7alho 2
+heading3 = Cabe\u00E7alho 3
+heading4 = Cabe\u00E7alho 4
+heading5 = Cabe\u00E7alho 5
+heading6 = Cabe\u00E7alho 6
+fontFamily = Fam\u00EDlia de Fontes
+fontSize = Tamanho da Fonte
+extraExtraSmall = 8 pt
+extraSmall = 10 pt
+small = 12 pt
+medium = 14 pt
+large = 18 pt
+extraLarge = 24 pt
+extraExtraLarge = 36 pt
+
+# Tooltip text for the toolbar bold-text button
+bold = Negrito
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = It\u00E1lico
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Sublinhado
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Tachado
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = Cor de Primeiro Plano
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Cor de Fundo
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_sv.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = Klipp ut
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = Kopiera
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = Klistra in
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = \u00C5ngra
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = G\u00F6r om
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = Infoga horisontell linje
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = V\u00E4nsterjustera
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = Centrera
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = H\u00F6gerjustera
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = Marginaljustera
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = Punktlista
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = Nummerlista
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = Indrag
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = Dra ut
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = Format
+paragraph = Stycke
+heading1 = Rubrik 1
+heading2 = Rubrik 2
+heading3 = Rubrik 3
+heading4 = Rubrik 4
+heading5 = Rubrik 5
+heading6 = Rubrik 6
+fontFamily = Teckensnittsfamilj
+fontSize = Teckenstorlek
+extraExtraSmall = 8 pt
+extraSmall = 10 pt
+small = 12 pt
+medium = 14 pt
+large = 18 pt
+extraLarge = 24 pt
+extraExtraLarge = 36 pt
+
+# Tooltip text for the toolbar bold-text button
+bold = Fet
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = Kursiv
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = Understruken
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = Genomstruken
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = F\u00F6rgrundsf\u00E4rg
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = Bakgrundsf\u00E4rg
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_zh_CN.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = \u526A\u5207
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = \u590D\u5236
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = \u7C98\u8D34
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = \u64A4\u6D88
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = \u91CD\u505A
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = \u63D2\u5165\u6C34\u5E73\u6807\u7EBF
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = \u5DE6\u5BF9\u9F50
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = \u5C45\u4E2D\u5BF9\u9F50
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = \u53F3\u5BF9\u9F50
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = \u4E24\u7AEF\u5BF9\u9F50
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = \u9879\u76EE\u7B26\u53F7
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = \u7F16\u53F7
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = \u589E\u52A0\u7F29\u8FDB
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = \u51CF\u5C11\u7F29\u8FDB
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = \u683C\u5F0F
+paragraph = \u6BB5\u843D
+heading1 = \u6807\u9898 1
+heading2 = \u6807\u9898 2
+heading3 = \u6807\u9898 3
+heading4 = \u6807\u9898 4
+heading5 = \u6807\u9898 5
+heading6 = \u6807\u9898 6
+fontFamily = \u5B57\u4F53\u7CFB\u5217
+fontSize = \u5B57\u4F53\u5927\u5C0F
+extraExtraSmall = 8 \u78C5
+extraSmall = 10 \u78C5
+small = 12 \u78C5
+medium = 14 \u78C5
+large = 18 \u78C5
+extraLarge = 24 \u78C5
+extraExtraLarge = 36 \u78C5
+
+# Tooltip text for the toolbar bold-text button
+bold = \u7C97\u4F53
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = \u659C\u4F53
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = \u4E0B\u5212\u7EBF
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = \u5220\u9664\u7EBF
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = \u524D\u666F\u8272
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = \u80CC\u666F\u8272
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/main/resources/javafx/scene/web/HTMLEditorSkin_zh_TW.properties	Tue Sep 15 09:35:11 2015 +1200
@@ -0,0 +1,81 @@
+// Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+# Tooltip text for the toolbar 'Cut' button
+cut = \u526A\u4E0B
+cutIcon = Cut_16x16_JFX.png
+# Tooltip text for the toolbar 'Copy' button
+copy = \u8907\u88FD
+copyIcon = Copy_16x16_JFX.png
+# Tooltip text for the toolbar 'Paste' button
+paste = \u8CBC\u4E0A
+pasteIcon = Paste_16x16_JFX.png
+# Tooltip text for the toolbar 'Undo' button
+undo = \u9084\u539F
+undoIcon = Undo_16x16_JFX.png
+# Tooltip text for the toolbar 'Redo' button
+redo = \u91CD\u505A
+redoIcon = Redo_16x16_JFX.png
+
+insertHorizontalRule = \u63D2\u5165\u6C34\u5E73\u7DDA
+insertHorizontalRuleIcon = DrawHorizontalLine_16x16_JFX.png
+
+alignLeft = \u9760\u5DE6\u5C0D\u9F4A
+alignLeftIcon = AlignLeft_16x16_JFX.png
+alignCenter = \u7F6E\u4E2D\u5C0D\u9F4A
+alignCenterIcon = AlignCenter_16x16_JFX.png
+alignRight = \u9760\u53F3\u5C0D\u9F4A
+alignRightIcon = AlignRight_16x16_JFX.png
+alignJustify = \u5DE6\u53F3\u5C0D\u9F4A
+alignJustifyIcon = AlignJustified_16x16_JFX.png
+
+# Tooltip text for the toolbar insert bullet-points button
+bullets = \u9805\u76EE\u7B26\u865F
+bulletsIcon = UnorderedListBullets_16x16_JFX.png
+# Tooltip text for the toolbar insert numbered-bullet-points button
+numbers = \u7DE8\u865F
+numbersIcon = OrderedListNumbers_16x16_JFX.png
+numbersIcon-rtl = OrderedListNumbers_16x16_JFX-rtl.png
+# Tooltip text for the toolbar indent-text button
+indent = \u7E2E\u6392
+indentIcon = IncreaseIndent_16x16_JFX.png
+# Tooltip text for the toolbar outdent-text button
+outdent = \u51F8\u6392
+outdentIcon = DecreaseIndent_16x16_JFX.png
+
+
+# Tooltip text for the toolbar format-text menu button
+format = \u683C\u5F0F
+paragraph = \u6BB5\u843D
+heading1 = \u6A19\u984C 1
+heading2 = \u6A19\u984C 2
+heading3 = \u6A19\u984C 3
+heading4 = \u6A19\u984C 4
+heading5 = \u6A19\u984C 5
+heading6 = \u6A19\u984C 6
+fontFamily = \u5B57\u578B
+fontSize = \u5B57\u578B\u5927\u5C0F
+extraExtraSmall = 8 \u9EDE
+extraSmall = 10 \u9EDE
+small = 12 \u9EDE
+medium = 14 \u9EDE
+large = 18 \u9EDE
+extraLarge = 24 \u9EDE
+extraExtraLarge = 36 \u9EDE
+
+# Tooltip text for the toolbar bold-text button
+bold = \u7C97\u9AD4
+boldIcon = Bold_16x16_JFX.png
+# Tooltip text for the toolbar italic-text button
+italic = \u659C\u9AD4
+italicIcon = Italic_16x16_JFX.png
+# Tooltip text for the toolbar underline-text button
+underline = \u5E95\u7DDA
+underlineIcon = Underline_16x16_JFX.png
+# Tooltip text for the toolbar strikethrough-text button
+strikethrough = \u522A\u9664\u7DDA
+strikethroughIcon = Strikethrough_16x16_JFX.png
+
+foregroundColor = \u524D\u666F\u984F\u8272
+foregroundColorIcon = FontColor_16x16_JFX.png
+backgroundColor = \u80CC\u666F\u984F\u8272
+backgroundColorIcon = FontBackgroundColor_16x16_JFX.png
Binary file modules/web/src/main/resources/javafx/scene/web/IncreaseIndent_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Italic_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/OrderedListNumbers_16x16_JFX-rtl.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/OrderedListNumbers_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Paste_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Redo_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Strikethrough_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Underline_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/Undo_16x16_JFX.png has changed
Binary file modules/web/src/main/resources/javafx/scene/web/UnorderedListBullets_16x16_JFX.png has changed