Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8043852

[macosx] OpenFilesHandler does not receive fileopen events

    Details

    • Subcomponent:
    • CPU:
      x86
    • OS:
      os_x

      Description

      FULL PRODUCT VERSION :
      Java 1.8.0_05

      ADDITIONAL OS VERSION INFORMATION :
      Mac OS X 10.9.2

      A DESCRIPTION OF THE PROBLEM :
      com.apple.eawt.OpenFilesHandler does not receive open events when double-clicking on a file that is associated with a webstart application.

      - If the file is double-clicked when the application is not started yet, then the webstart application starts and the -open filename.xyz arguments are send to args[] parameter of main() method.
      - If the file is doubled-clicked when the webstart application is already running, then Mac OS X brings the application to front on top of other windows but nothing else happens. OpenFilesHandler.openFiles() method is never called.

      This bug may have a similar cause than the bug that was reported and already fixed for OpenURIHandler here:

      http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8015303

      If so then perhaps a similar patch could be used to fix OpenFilesHandler problem.

      Note: Except OpenFilesHandler, all other handlers in com.apple.eawt.* package seem to work fine so this problem is limited to OpenFilesHandler only.

      REGRESSION. Last worked in version 6u45


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import com.apple.eawt.*;

      Application application = Application.getApplication();
      application.setOpenFileHandler(new OpenFilesHandler() {
      public void openFiles(final OpenFilesEvent e) {
      System.out.println("OpenFileHandler()");
      }
      });
      ---------- END SOURCE ----------

        Activity

        Hide
        vdyakov Victor Dyakov added a comment -
        As stated in http://openjdk.java.net/jeps/260, a replacement to this internal API has been provided [1] in JDK 9 and com.apple.eawt will be encapsulated. The command-line workaround to break encapsulation could be used before migrating to the new API. Close this issue as will not fix.

        [1] http://openjdk.java.net/jeps/272
        Show
        vdyakov Victor Dyakov added a comment - As stated in http://openjdk.java.net/jeps/260, a replacement to this internal API has been provided [1] in JDK 9 and com.apple.eawt will be encapsulated. The command-line workaround to break encapsulation could be used before migrating to the new API. Close this issue as will not fix. [1] http://openjdk.java.net/jeps/272

          People

          • Assignee:
            azvegint Alexander Zvegintsev (Inactive)
            Reporter:
            webbuggrp Webbug Group
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: