@@ -0,0 +1,1431 @@
+package gwt.material.design.client.ui.html;%0A%0Aimport com.google.gwt.dom.client.Document;%0Aimport gwt.material.design.client.base.MaterialWidget;%0Aimport gwt.material.design.client.base.mixin.AttributeMixin;%0A%0Apublic class IFrame extends MaterialWidget %7B%0A%0A    enum Sandbox %7B%0A        ALL_RESTRICTIONS(%22%22),%0A        ALLOW_FORMS(%22allow-forms%22),%0A        ALLOW_POINTER_LOCK(%22allow-pointer-lock%22),%0A        ALLOW_POPUPS(%22allow-popups%22),%0A        ALLOW_SAME_ORIGIN(%22allow-same-origin%22),%0A        ALLOW_SCRIPTS(%22allow-scripts%22),%0A        ALLOW_TOP_NAVIGATION(%22allow-top-navigation%22);%0A%0A        private String restriction;%0A%0A        Sandbox(String restriction) %7B%0A            this.restriction = restriction;%0A        %7D%0A%0A        public String getRestriction() %7B%0A            return restriction;%0A        %7D%0A    %7D%0A%0A    private AttributeMixin%3CIFrame%3E attributeMixin;%0A%0A    public IFrame() %7B%0A        super(Document.get().createIFrameElement());%0A        setSandBoxRestriction(Sandbox.ALL_RESTRICTIONS);%0A    %7D%0A%0A    public void setSandBoxRestriction(Sandbox restriction) %7B%0A        getAttributeMixin().setAttribute(restriction.getRestriction());%0A    %7D%0A%0A    public String getSandBoxRestriction() %7B%0A        return getAttributeMixin().getAttribute();%0A    %7D%0A%0A    public AttributeMixin%3CIFrame%3E getAttributeMixin() %7B%0A        if (attributeMixin == null) %7B%0A            attributeMixin = new AttributeMixin%3C%3E(this, %22sandbox%22);%0A        %7D%0A        return attributeMixin;%0A    %7D%0A%7D%0A

Secure IFrame prevents from clickjacking