<!-- Copyright (C) 2009 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<html>
  <head>
    <title>PASSING QUERY PARAM FAILED</title>
  </head>
  <body>
    <script>
      query = window.location.search.substring(1);
      args = query.split('&');
      param = new Array();
      for (var i = 0; i < args.length; i++) {
        tokens = args[i].split('=');
        param[tokens[0]]=tokens[1];
      }
      if (param['val']) document.title = param['val'];
    </script>
  </body>
</html>
