<!--
 Copyright (c) 2002, 2013, 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.

 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.
-->

<html>
<!--  
  @test
  @bug 4092033 4529626
  @summary Tests that toFront makes window focused unless it is non-focusable
  @author  area=awt.focus
  @library ../../regtesthelpers
  @build Util
  @run applet ToFrontFocus.html
  -->
<head>
<title>  </title>
</head>
<body>

<h1>ToFrontFocus<br>
4092033 : (P4/S5) - window.toFront() method is now also setting focus
4529626 : (P4/S2) - REGRESSION:In solaris and Linux ,toFront() is not making frame as the Focused.
</h1>

<p> This is an AUTOMATIC test, simply wait for completion </p>

<APPLET CODE="ToFrontFocus.class" WIDTH=200 HEIGHT=200></APPLET>
</body>
</html>
