src/solaris/classes/sun/awt/X11/XEmbedServerTester.java

Print this page

        

*** 79,103 **** --- 79,107 ---- robot.setAutoDelay(100); } catch (Exception e) { throw new RuntimeException("Can't create robot"); } initAccel(); + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("XEmbed client(tester), embedder window: " + Long.toHexString(parent)); } + } public static XEmbedServerTester getTester(Rectangle serverBounds[], long parent) { return new XEmbedServerTester(serverBounds, parent); } private void dumpReceivedEvents() { + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Events received so far:"); int pos = 0; for (Integer event : events) { xembedLog.finer((pos++) + ":" + XEmbedHelper.msgidToString(event)); } xembedLog.finer("End of event dump"); } + } public void test1_1() { int res = embedCompletely(); waitWindowActivated(res); requestFocus();
*** 389,399 **** --- 393,405 ---- XBaseWindow.VISIBLE, Boolean.valueOf(mapped == XEmbedHelper.XEMBED_MAPPED), XBaseWindow.EVENT_MASK, Long.valueOf(VisibilityChangeMask | StructureNotifyMask | SubstructureNotifyMask | KeyPressMask)}); window = new XBaseWindow(params); + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Created tester window: " + window); + } XToolkit.addEventDispatcher(window.getWindow(), this); updateEmbedInfo(); if (reparent) { xembedLog.finer("Reparenting to embedder");
*** 527,562 **** --- 533,576 ---- private void waitForEvent(int position, int event) { synchronized(EVENT_LOCK) { // Check for already received events after the request if (checkEventList(position, event) != -1) { + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("The event " + XEmbedHelper.msgidToString(event) + " has already been received"); + } return; } if (eventReceived == event) { // Already received + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Already received " + XEmbedHelper.msgidToString(event)); + } return; } eventReceived = -1; eventWaited = event; + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Waiting for " + XEmbedHelper.msgidToString(event) + " starting from " + position); + } try { EVENT_LOCK.wait(3000); } catch (InterruptedException ie) { xembedLog.warning("Event wait interrupted", ie); } eventWaited = -1; if (checkEventList(position, event) == -1) { dumpReceivedEvents(); throw new RuntimeException("Didn't receive event " + XEmbedHelper.msgidToString(event) + " but recevied " + XEmbedHelper.msgidToString(eventReceived)); } else { + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Successfully recevied " + XEmbedHelper.msgidToString(event)); } } } + } /** * Checks if the <code>event</code> is already in a list at position >= <code>position</code> */ private int checkEventList(int position, int event) { if (position == -1) {
*** 632,642 **** public void dispatchEvent(XEvent ev) { if (ev.get_type() == ClientMessage) { XClientMessageEvent msg = ev.get_xclient(); if (msg.get_message_type() == xembed.XEmbed.getAtom()) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Embedded message: " + XEmbedHelper.msgidToString((int)msg.get_data(1))); switch ((int)msg.get_data(1)) { case XEmbedHelper.XEMBED_EMBEDDED_NOTIFY: // Notification about embedding protocol start xembedActive = true; server_version = (int)msg.get_data(3); break; --- 646,658 ---- public void dispatchEvent(XEvent ev) { if (ev.get_type() == ClientMessage) { XClientMessageEvent msg = ev.get_xclient(); if (msg.get_message_type() == xembed.XEmbed.getAtom()) { ! if (xembedLog.isLoggable(PlatformLogger.FINE)) { ! xembedLog.fine("Embedded message: " + XEmbedHelper.msgidToString((int)msg.get_data(1))); ! } switch ((int)msg.get_data(1)) { case XEmbedHelper.XEMBED_EMBEDDED_NOTIFY: // Notification about embedding protocol start xembedActive = true; server_version = (int)msg.get_data(3); break;
*** 657,683 **** --- 673,707 ---- break; } synchronized(EVENT_LOCK) { events.add((int)msg.get_data(1)); + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Tester is waiting for " + XEmbedHelper.msgidToString(eventWaited)); + } if ((int)msg.get_data(1) == eventWaited) { eventReceived = (int)msg.get_data(1); + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Notifying waiting object for event " + System.identityHashCode(EVENT_LOCK)); + } EVENT_LOCK.notifyAll(); } } } } else { synchronized(EVENT_LOCK) { int eventID = (int)ev.get_type() | SYSTEM_EVENT_MASK; events.add(eventID); + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Tester is waiting for " + XEmbedHelper.msgidToString(eventWaited) + ", but we received " + ev + "(" + XEmbedHelper.msgidToString(eventID) + ")"); + } if (eventID == eventWaited) { eventReceived = eventID; + if (xembedLog.isLoggable(PlatformLogger.FINER)) { xembedLog.finer("Notifying waiting object" + System.identityHashCode(EVENT_LOCK)); + } EVENT_LOCK.notifyAll(); } } } }