1 2007-01-26 Tom Tromey <tromey@redhat.com>
3 * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print
4 'volatile' after field type.
6 2007-01-23 Marco Trudel <mtrudel@gmx.ch>
8 * java/util/Arrays.java (binarySearch): Change comparison order.
10 2007-01-17 Tom Tromey <tromey@redhat.com>
12 * tools/gnu/classpath/tools/javah/PathOptionGroup.java
13 (PathOptionGroup): Set default boot class path.
15 2006-12-14 Andrew Haley <aph@redhat.com>
17 * tools/gnu/classpath/tools/jar/Creator.java: Close the
20 2006-10-12 Andrew Haley <aph@redhat.com>
22 * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel.
23 * java/lang/ThreadLocal.java: Likewise.
25 2006-09-13 Andrew Haley <aph@redhat.com>
27 * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java:
28 Revert previous gcj-specific disabling of checks.
29 * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java:
31 * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java:
34 2006-09-13 Andrew Haley <aph@redhat.com>
36 * java/util/PriorityQueue.java: Throw IllegalArgumentException for
38 (Iterator.remove()): Decrement index after removing element.
40 2006-12-11 Jeroen Frijters <jeroen@frijters.net>
42 * javax/net/ssl/SSLSocketFactory.java (getDefault):
43 Chain exception cause.
45 2006-12-11 Roman Kennke <kennke@aicas.com>
47 * .classpath: Include ASM in Eclipse classpath.
49 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
51 * gnu/java/lang/management/BeanImpl.java:
52 (translate(String)): Trim strings of whitespace.
53 * javax/management/MBeanAttributeInfo.java:
54 (MBeanAttributeInfo(String,String,Method,Method)):
55 Use Class.getName() for normal (non-parameterized) cases.
56 * javax/management/MBeanConstructorInfo.java:
57 (MBeanConstructorInfo(String, Constructor)):
59 * javax/management/MBeanOperationInfo.java:
60 (MBeanOperationInfo(String, Method)):
63 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
65 * java/lang/Class.java:
66 (getClasses()): Return Class<?>[].
67 (internalGetClasses()): Likewise.
68 (getConstructor(Class<?>...)): Add type parameter
70 (getDeclaredConstructor(Class<?>...)): Likewise.
71 (getDeclaredClasses()): Return Class<?>[].
72 (getDeclaredClasses(boolean)): Likewise.
73 (getDeclaredConstructors()): Return Constructor<?>[].
74 (getDeclaredConstructors(boolean)): Likewise.
75 (getDeclaredMethod(String,Class<?>...)): Add type
76 parameter to parameters.
77 (getInterfaces()): Return Class<?>[].
78 (getMethods(String,Class<?>...)): Add type
79 parameter to parameters.
80 * java/text/CollationKey.java:
82 * java/text/DecimalFormatSymbols.java:
85 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
87 * gnu/java/lang/management/BeanImpl.java:
88 (translate(String)): Handle Map and List as
89 Strings of the form "java.util.Map<K,V>" and
91 * javax/management/MBeanAttributeInfo.java:
92 (MBeanAttributeInfo(String,String,Method,Method)):
93 Use generic parameter and return types.
94 * javax/management/MBeanConstructorInfo.java:
95 (MBeanConstructorInfo(String, Constructor)):
96 Use generic parameter types.
97 * javax/management/MBeanOperationInfo.java:
98 (MBeanOperationInfo(String, Method)):
99 Use generic parameter and return types.
101 2006-12-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
103 * gnu/java/lang/management/BeanImpl.java:
104 (translate(String)): Comment out code for using type
105 variables for Map and List.
106 * java/lang/Thread.java:
107 (Thread(ThreadGroup,Runnable,String,long)): Fix
108 incrementation of totalThreadsCreated to be prior to use.
110 2006-12-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
112 * javax/management/MBeanServerFactory.java:
113 (createMBeanServer(String)): Added security check.
114 (findMBeanServer(String)): Likewise.
115 (newMBeanServer(String)): Likewise.
116 (releaseMBeanServer(String)): Likewise.
117 * javax/management/MBeanServerPermission.java:
120 2006-12-08 David Daney <ddaney@avtrex.com>
122 * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
125 2006-12-08 David Daney <ddaney@avtrex.com>
127 * NEWS: Mention URLConnection.[get|set]ReadTimeout.
129 2006-12-08 David Daney <ddaney@avtrex.com>
131 * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add
133 (HTTPConnection): Handle NumberFormatException in properties parsing.
134 (Pool.get): Set timeout on reused sockets.
135 * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort):
137 (HTTPURLConnection): Cleanup properties handling.
138 (getConnection): Use both connection and read timeouts.
139 (setConnectTimeout): Removed.
140 (setReadTimeout): New method.
141 * java/net/URLConnection.java (timeout): Renamed to...
142 (connectTimeout): ... connectTimeout throughout.
143 (readTimeout): New field.
144 (getReadTimeout): New method.
145 (setReadTimeout): New method.
147 2006-12-08 Tania Bento <tbento@redhat.com>
149 * java/awt/ScrollPane.java
150 (doLayout): Change the location of the scrollpane's child
153 2006-12-08 David Daney <ddaney@avtrex.com>
155 * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
157 (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw
158 SocketTimeoutException if a blocking socket timesout.
159 (Java_gnu_java_nio_VMChannel_readScattering): Same.
160 (Java_gnu_java_nio_VMChannel_read__I): Same.
161 (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set.
162 (Java_gnu_java_nio_VMChannel_connect6): Same.
164 2006-12-08 Mark Wielaard <mark@klomp.org>
166 * configure.ac (VERSION): Set to 0.93-generics.
167 * NEWS: Add release date.
169 2006-12-08 Tania Bento <tbento@redhat.com>
171 * java/awt/ScrollPane.java
172 (getScrollPosition): Throw NullPointerException if scrollpane
174 (setScrollPosition(int, int)): Throw NullPointerException if
175 scrollpane does have a child. Check that both ints are within
176 the allowed bounds; If they are not, scroll to the closest allowed
179 2006-12-07 Roman Kennke <kennke@aicas.com>
181 * javax/swing/JEditorPane.java
182 (EditorKitMapping): New inner helper class.
183 (editorKits): New static field for caching editor kit instances.
184 (static_initiazer): Initialize static mappings here.
185 (createEditorKitForContentType): Try to use cached instance.
186 Use correct classloader for loading.
187 (getEditorKitClassNameForContentType): Make use of EditorKitMapping
189 (getEditorKitForContentType): Store the fetched editor kit.
190 Fallback to createDefaultEditorKit().
191 (init): Don't clean the static registry here.
192 (registerEditorKitForContentType(String,String,ClassLoader)):
194 (registerEditorKitForContentType(String,String)): Delegate to
195 the other version of this method with the thread's context
198 2006-12-07 Mark Wielaard <mark@klomp.org>
200 * examples/gnu/classpath/examples/swing/HtmlDemo.java
201 (setPage): Don't convert URL to String for setPage().
203 2006-12-07 Mark Wielaard <mark@klomp.org>
205 * tools/Makefile.am (clean-local): Remove iasm and asm.lst.
207 2006-12-07 Mark Wielaard <mark@klomp.org>
209 * tools/Makefile.am: Explicitly define and use bootclasspath as
212 2006-12-07 Mark Wielaard <mark@klomp.org>
214 * javax/swing/JEditorPane.java (createEditorKitForContentType):
215 Always load from system class loader.
217 2006-12-07 Mark Wielaard <mark@klomp.org>
219 * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
221 (URL(URL,String,URLStreamHandler)): Call new constructor.
222 (URL(URL,String)): Likewise.
223 (URL(String)): Likewise.
225 2006-12-07 Tom Tromey <tromey@redhat.com>
228 * INSTALL: Don't mention --with-asm.
229 * tools/external/README: New file.
230 * tools/toolwrapper.c (main): Don't use ASM_JAR.
231 * tools/gjavah.in: Don't use PATH_TO_ASM.
232 * tools/grmic.in: Likewise.
233 * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added
235 (javah, rmic): Removed variables.
236 (bin_PROGRAMS): Updated.
237 (gappletviewer_CFLAGS): Don't define ASM_JAR.
238 (gjarsigner_CFLAGS): Likewise.
239 (gkeytool_CFLAGS): Likewise.
240 (gjar_CFLAGS): Likewise.
241 (gnative2ascii_CFLAGS): Likewise.
242 (gserialver_CFLAGS): Likewise.
243 (grmiregistry_CFLAGS): Likewise.
244 (gtnameserv_CFLAGS): Likewise.
245 (gorbd_CFLAGS): Likewise.
246 (grmid_CFLAGS): Likewise.
247 (gjavah_CFLAGS): Likewise.
248 (grmic_CFLAGS): Likewise.
249 (bin_SCRIPTS): Updated.
250 (TOOLS_JAVA_FILES): Updated.
251 ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files.
252 * configure.ac: Removed --with-asm. Always build gjavah.
254 2006-12-06 Roman Kennke <kennke@aicas.com>
256 * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
258 * examples/gnu/classpath/examples/swing/HtmlDemo.java
259 (LoadActionListener): Call setPage() helper method.
260 (createContent): Register tweaked editor kit. For FormSubmitEvents
261 call submitForm(), otherwise setPage().
262 (postData): Helper method for posting form data.
263 (setPage): Helper method for navigating to a new URL.
264 (submitForm): Helper method for submitting a form.
265 * examples/gnu/classpath/examples/swing/forms.html:
266 Added text/password fields and select boxes.
267 * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo.
269 2006-12-06 Roman Kennke <kennke@aicas.com>
271 * javax/swing/text/html/FormView.java
272 (SubmitThread.postData): Implemented.
273 (SubmitThread.run): Pass data to postData().
274 (actionPerformed): Reset form when reset button is activated.
275 (createComponent): Add support for select lists and comboboxes.
276 Don't set value of text and password fields here, this is done
277 now in HTMLDocument for consistency.
278 (getElementFormData): Add support for fetching form data from
279 select lists and comboboxes as well as textareas.
280 (getSelectData): New helper method. Fetches form data from
282 (getTextAreaData): New helper method. Fetches form data from
284 (resetForm): New helper method. Resets the entire form.
285 * javax/swing/text/html/HTMLDocument.java
286 (HTMLReader.FormAction.end): Handle SELECT and OPTION tags.
287 (HTMLReader.FormAction.start): Handle SELECT and OPTION tags.
288 (HTMLReader.FormAction.setModel): Initialize text and password
289 values here. Also, use the resetable special models.
290 Group radio buttons into ButtonGroup for exclusive selection.
291 (HTMLReader.FormTagAction): New class. Handles FORM tags.
292 (HTMLReader.buttonGroups): New field.
293 (HTMLReader.numOptions): New field.
294 (HTMLReader.option): New field.
295 (HTMLReader.selectModel): New field.
296 (HTMLReader.textAreaDocument): Make ResetablePlainDocument.
297 (HTMLReader.handleText): Handle OPTION text.
298 (HTMLReader.initTags): Map FORM tags to FormTagAction.
299 (HTMLReader.textAreaContent): Set initial content.
300 * javax/swing/text/html/Option.java
301 (Option): Make copy of attribute set. Initialize selected state.
302 (getValue): Fetch value from attribute set.
303 * javax/swing/text/html/ResetableModel.java: New interface.
304 * javax/swing/text/html/ResetablePlainDocument.java: New class.
305 Supports resetting the state.
306 * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise.
307 * javax/swing/text/html/SelectComboBoxModel.java: Likewise.
308 * javax/swing/text/html/SelectListModel.java: Likewise.
310 2006-12-06 Roman Kennke <kennke@aicas.com>
312 * javax/swing/text/DefaultCaret.java
313 (appear): Adjust visibility here.
314 (setDotImpl): Don't adjust visibility here.
315 (moveDotImpl): Don't adjust visibility here.
317 2006-12-06 Roman Kennke <kennke@aicas.com>
319 * gnu/java/awt/peer/gtk/AsyncImage.java
320 (Loader.run): Synchronize on the AsyncImage to avoid threading
322 (addObservers): Check for obs==null outside and synchronize on
323 this inside to avoid locking issues.
324 (checkImage): New helper method.
325 (notifyObservers): Check that the correct lock is held and
326 remove actual locking.
327 * gnu/java/awt/peer/gtk/GtkToolkit.java
328 (checkImage): Added special handling for AsyncImages.
330 2006-12-06 Roman Kennke <kennke@aicas.com>
332 * examples/gnu/classpath/examples/swing/Demo.java
333 (getIcon): Made package private.
334 * examples/gnu/classpath/examples/swing/HtmlDemo.java
335 (hyperlinkUpdate): Convert URL to string.
337 2006-12-06 Mark Wielaard <mark@klomp.org>
339 * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify
342 2006-12-06 Roman Kennke <kennke@aicas.com>
344 * examples/gnu/classpath/examples/icons/back.png,
345 * examples/gnu/classpath/examples/icons/reload.png:
346 New icons for the HTML browser.
347 * examples/gnu/classpath/examples/swing/HtmlDemo.java
348 (history): New field. Manages the browsing history.
349 (HtmlDemo): Initialize history.
350 (createContent): Set location and add history. Add toolbar.
351 (createToolBar): New helper method.
352 (main): Make default size bigger.
353 * examples/gnu/classpath/examples/swing/frame1.html,
354 * examples/gnu/classpath/examples/swing/frame2.html,
355 * examples/gnu/classpath/examples/swing/frame3.html,
356 * examples/gnu/classpath/examples/swing/frame4.html,
357 * examples/gnu/classpath/examples/swing/frames.html,
358 * examples/gnu/classpath/examples/swing/tables.html:
360 * examples/gnu/classpath/examples/swing/welcome.html
361 Add a couple of links and new test pages.
363 2006-12-06 Roman Kennke <kennke@aicas.com>
365 * javax/swing/JEditorPane.java
366 (getStream): Buffer the stream for efficiency.
367 (setPage): Don't scroll the view at this point.
368 * javax/swing/plaf/basic/BasicTextUI.java
369 (RootView.paint): Call RootView's setSize to get synchronization.
370 (RootView.setSize): Synchronize to prevent race in layout code.
371 * javax/swing/text/AbstractDocument.java
372 (notifyListeners): New field.
373 (fireChangedUpdate): Track notifyListener field.
374 (fireRemoveUpdate): Track notifyListener field.
375 (fireIndertUpdate): Track notifyListener field.
376 (writeLock): Check notifyListener and throw IllegalStateException.
377 * javax/swing/text/View.java
378 (preferenceChanged): Create local var for better thread safety and
381 2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
383 * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
384 lightweight component, not just for non-Panel components.
385 (addImpl): Do not call doLayout.
386 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
387 (setNativeBounds): Ensure widget parent is a GtkFixed before
388 calling gtk_fixed_move.
389 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
390 (setNativeBounds): Likewise.
391 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
392 (setNativeBounds): Likewise.
394 2006-12-06 Roman Kennke <kennke@aicas.com>
396 * javax/swing/text/html/TableView.java
397 (RowView.layoutMajorAxis): Check column index for invalid value.
398 (updateGrid): Check column index for invalid value.
400 2006-12-06 Roman Kennke <kennke@aicas.com>
402 * javax/swing/text/html/BlockView.java
403 (getAlignment): Align blocks horizontally by the superclass.
404 * javax/swing/text/html/HTMLEditorKit.java
405 (HTMLFactory.create): Replace equals comparison by == for efficiency.
406 Add mapping for misplaced tr, td and th tags. Include object mapping.
407 * javax/swing/text/html/TableView.java
408 (RowView.replace): Invalidate grid early.
409 (gridValid): Initialize with false.
410 (create): Only create RowView and CellView for correctly placed
411 tags. Avoid unnecessary casts.
412 (getAlignment): Removed.
413 (replace): Invalidate grid early.
415 2006-12-06 Francis Kung <fkung@redhat.com>
417 * java/awt/geom/RectangularShape.java
418 (getBounds): Remove empty rectangle check.
420 2006-12-06 Ben Konrath <bkonrath@redhat.com>
423 * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and
424 newValue are the same.
425 * gnu/xml/dom/DomNode.java: Set parent if null during mutation.
427 2006-12-06 Tania Bento <tbento@redhat.com>
429 * javax/swing/border/CompoundBorder.java:
430 (isBorderOpaque): If inside border is null, return true if outside
431 border is opaque, false otherwise; if outside border is null, return
432 true if inside border is opaque, false otherwise; if inside or
433 outside border are both not null, then return true only if both the
434 inside and outside border are opaque, false otherwise.
436 2006-12-06 Tania Bento <tbento@redhat.com>
438 * javax/swing/border/CompoundBorder.java:
439 (isBorderOpaque): If inside and outside border both have a null
442 2006-12-06 Chris Burdess <dog@gnu.org>
445 * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
446 * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
448 2006-12-06 Chris Burdess <dog@gnu.org>
451 * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
454 2006-12-06 Chris Burdess <dog@gnu.org>
457 * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
458 discover schema factory implementation class.
460 2006-12-05 Francis Kung <fkung@redhat.com>
462 * java/awt/BasicStroke.java
463 (capEnd): Prevent division by zero.
464 * java/awt/geom/Arc2D.java
465 (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive.
466 (ArcIterator.currentSegment): Handle a negative extent.
468 2006-12-05 Francis Kung <fkung@redhat.com>
470 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
471 (constructor): Handle translated subimages properly, ie, if the image's
472 0,0 position is not the data buffer's first element.
474 2006-12-05 Roman Kennke <kennke@aicas.com>
476 * gnu/java/awt/peer/gtk/AsyncImage.java
477 (Loader.run): Nullify observers after loading.
478 (observers): Made package private.
479 (addObserver): Check for null observers field. Create local
480 variable for thread safety.
481 (getHeight): Use addObserver() for checking state of field
482 and notifying observer when necessary.
483 (getWidth): Use addObserver() for checking state of field
484 and notifying observer when necessary.
485 (getProperty): Use addObserver() for checking state of field
486 and notifying observer when necessary.
487 (notifyObservers): Check for null observers field. Create local
488 variable for thread safety.
490 2006-12-05 Roman Kennke <kennke@aicas.com>
492 * javax/swing/text/html/HTMLEditorKit.java
493 (HTMLFactory.create): Removed debug output.
494 * javax/swing/text/html/InlineView.java
495 (getBreakWeight): Likewise.
496 * javax/swing/text/html/StyleSheet.java
498 (ListPainter.paint): Removed debug output.
500 2006-12-05 Roman Kennke <kennke@aicas.com>
502 * javax/swing/text/html/BlockView.java
503 (painter): Made package visible.
504 * javax/swing/text/html/StyleSheet.java
505 (translateBorder): New helper method.
506 (translateHTMLToCSS): Add mappings for border attributes.
507 * javax/swing/text/html/TableView.java
508 Made class subclass of BlockView to get CSS goodness.
509 (CellView.rowSpan): New field.
510 (CellView.setPropertiesFromAttributes): Fetch rowspan.
511 (RowView.overlap): New field.
512 (RowView.rowIndex): New field.
513 (RowView.layoutMajorAxis): Skip overlapping cells.
514 (RowView.layoutMinorAxis): Layout cells that span more than 1 row.
515 (numColumns): New field.
516 (tmpRect): New field.
517 (TableView): Initialize tmpRect.
518 (calculateColumnRequirements): Adjusted and fixed for multirows.
519 (getAlignment): Overridden to center tables.
520 (paint): Overridden to fix clipping.
521 (getStyleSheet): Made protected.
522 (layoutMajorAxis): Invalidate rows.
523 (setPropertiesFromAttributes): Made protected and call super.
524 (updateGrid): Update the overlapping information for multirows.
526 2006-12-05 Roman Kennke <kennke@aicas.com>
528 * gnu/java/awt/peer/gtk/AsyncImage.java
529 (addObserver): Check for null and ignore null observers.
530 (getWidth): Check for null and ignore null observers.
531 (getHeight): Check for null and ignore null observers.
532 (getProperty): Check for null and ignore null observers.
534 2006-12-05 Francis Kung <fkung@redhat.com>
536 * java/awt/BasicStroke.java
537 (capEnd): Prevent division by zero.
538 * java/awt/geom/Arc2D.java
539 (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive.
540 (ArcIterator.currentSegment): Handle a negative extent.
542 2006-12-05 Francis Kung <fkung@redhat.com>
544 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
545 (constructor): Handle translated subimages properly, ie, if the image's
546 0,0 position is not the data buffer's first element.
548 2006-12-05 Roman Kennke <kennke@aicas.com>
550 * javax/swing/text/html/ImageView.java
551 (imageUpdate): Use spans field to determine if the CSS width/height
552 are set. Call safePreferenceChanged to protect view structure
553 from threading issues.
554 (spans): Made package private.
555 (ImageView): Initialize loadOnDemand with false.
556 (loadImage): Call Toolkit.prepareImage() to make sure we have
557 our Observer registered.
558 (safePreferenceChanged): New helper method. Calls preferenceChanged
559 in a thread safe environment.
561 2006-12-05 Roman Kennke <kennke@aicas.com>
563 * NEWS: Add entry about improved HTML support.
565 2006-12-05 Roman Kennke <kennke@aicas.com>
567 * javax/swing/text/html/ImageView.java
568 (ImageView): Initialize spans array here.
569 (setPropertiesFromAttributes): Moved init of spans array to
572 2006-12-05 Roman Kennke <kennke@aicas.com>
574 * javax/swing/text/html/BlockView.java
575 (painter): Made package visible.
576 * javax/swing/text/html/StyleSheet.java
577 (translateBorder): New helper method.
578 (translateHTMLToCSS): Add mappings for border attributes.
579 * javax/swing/text/html/TableView.java
580 Made class subclass of BlockView to get CSS goodness.
581 (CellView.rowSpan): New field.
582 (CellView.setPropertiesFromAttributes): Fetch rowspan.
583 (RowView.overlap): New field.
584 (RowView.rowIndex): New field.
585 (RowView.layoutMajorAxis): Skip overlapping cells.
586 (RowView.layoutMinorAxis): Layout cells that span more than 1 row.
587 (numColumns): New field.
588 (tmpRect): New field.
589 (TableView): Initialize tmpRect.
590 (calculateColumnRequirements): Adjusted and fixed for multirows.
591 (getAlignment): Overridden to center tables.
592 (paint): Overridden to fix clipping.
593 (getStyleSheet): Made protected.
594 (layoutMajorAxis): Invalidate rows.
595 (setPropertiesFromAttributes): Made protected and call super.
596 (updateGrid): Update the overlapping information for multirows.
598 2006-12-05 Roman Kennke <kennke@aicas.com>
600 * javax/swing/text/html/HTMLEditorKit.java
601 (HTMLFactory.create): Removed debug output.
602 * javax/swing/text/html/InlineView.java
603 (getBreakWeight): Likewise.
604 * javax/swing/text/html/StyleSheet.java
606 (ListPainter.paint): Removed debug output.
608 2006-12-06 Roman Kennke <kennke@aicas.com>
610 * javax/swing/text/html/BlockView.java
611 (getAlignment): Align blocks horizontally by the superclass.
612 * javax/swing/text/html/HTMLEditorKit.java
613 (HTMLFactory.create): Replace equals comparison by == for efficiency.
614 Add mapping for misplaced tr, td and th tags. Include object mapping.
615 * javax/swing/text/html/TableView.java
616 (RowView.replace): Invalidate grid early.
617 (gridValid): Initialize with false.
618 (create): Only create RowView and CellView for correctly placed
619 tags. Avoid unnecessary casts.
620 (getAlignment): Removed.
621 (replace): Invalidate grid early.
624 2006-12-06 Roman Kennke <kennke@aicas.com>
626 * javax/swing/text/html/TableView.java
627 (RowView.layoutMajorAxis): Check column index for invalid value.
628 (updateGrid): Check column index for invalid value.
630 2006-12-06 Roman Kennke <kennke@aicas.com>
632 * javax/swing/JEditorPane.java
633 (getStream): Buffer the stream for efficiency.
634 (setPage): Don't scroll the view at this point.
635 * javax/swing/plaf/basic/BasicTextUI.java
636 (RootView.paint): Call RootView's setSize to get synchronization.
637 (RootView.setSize): Synchronize to prevent race in layout code.
638 * javax/swing/text/AbstractDocument.java
639 (notifyListeners): New field.
640 (fireChangedUpdate): Track notifyListener field.
641 (fireRemoveUpdate): Track notifyListener field.
642 (fireIndertUpdate): Track notifyListener field.
643 (writeLock): Check notifyListener and throw IllegalStateException.
644 * javax/swing/text/View.java
645 (preferenceChanged): Create local var for better thread safety and
648 2006-12-06 Roman Kennke <kennke@aicas.com>
650 * examples/gnu/classpath/examples/icons/back.png,
651 * examples/gnu/classpath/examples/icons/reload.png:
652 New icons for the HTML browser.
653 * examples/gnu/classpath/examples/swing/HtmlDemo.java
654 (history): New field. Manages the browsing history.
655 (HtmlDemo): Initialize history.
656 (createContent): Set location and add history. Add toolbar.
657 (createToolBar): New helper method.
658 (main): Make default size bigger.
659 * examples/gnu/classpath/examples/swing/frame1.html,
660 * examples/gnu/classpath/examples/swing/frame2.html,
661 * examples/gnu/classpath/examples/swing/frame3.html,
662 * examples/gnu/classpath/examples/swing/frame4.html,
663 * examples/gnu/classpath/examples/swing/frames.html,
664 * examples/gnu/classpath/examples/swing/tables.html:
666 * examples/gnu/classpath/examples/swing/welcome.html
667 Add a couple of links and new test pages.
669 2006-12-06 Roman Kennke <kennke@aicas.com>
671 * examples/gnu/classpath/examples/swing/Demo.java
672 (getIcon): Made package private.
673 * examples/gnu/classpath/examples/swing/HtmlDemo.java
674 (hyperlinkUpdate): Convert URL to string.
676 2006-12-06 Roman Kennke <kennke@aicas.com>
678 * javax/swing/text/DefaultCaret.java
679 (appear): Adjust visibility here.
680 (setDotImpl): Don't adjust visibility here.
681 (moveDotImpl): Don't adjust visibility here.
683 2006-12-06 Roman Kennke <kennke@aicas.com>
685 * javax/swing/text/html/FormView.java
686 (SubmitThread.postData): Implemented.
687 (SubmitThread.run): Pass data to postData().
688 (actionPerformed): Reset form when reset button is activated.
689 (createComponent): Add support for select lists and comboboxes.
690 Don't set value of text and password fields here, this is done
691 now in HTMLDocument for consistency.
692 (getElementFormData): Add support for fetching form data from
693 select lists and comboboxes as well as textareas.
694 (getSelectData): New helper method. Fetches form data from
696 (getTextAreaData): New helper method. Fetches form data from
698 (resetForm): New helper method. Resets the entire form.
699 * javax/swing/text/html/HTMLDocument.java
700 (HTMLReader.FormAction.end): Handle SELECT and OPTION tags.
701 (HTMLReader.FormAction.start): Handle SELECT and OPTION tags.
702 (HTMLReader.FormAction.setModel): Initialize text and password
703 values here. Also, use the resetable special models.
704 Group radio buttons into ButtonGroup for exclusive selection.
705 (HTMLReader.FormTagAction): New class. Handles FORM tags.
706 (HTMLReader.buttonGroups): New field.
707 (HTMLReader.numOptions): New field.
708 (HTMLReader.option): New field.
709 (HTMLReader.selectModel): New field.
710 (HTMLReader.textAreaDocument): Make ResetablePlainDocument.
711 (HTMLReader.handleText): Handle OPTION text.
712 (HTMLReader.initTags): Map FORM tags to FormTagAction.
713 (HTMLReader.textAreaContent): Set initial content.
714 * javax/swing/text/html/Option.java
715 (Option): Make copy of attribute set. Initialize selected state.
716 (getValue): Fetch value from attribute set.
717 * javax/swing/text/html/ResetableModel.java: New interface.
718 * javax/swing/text/html/ResetablePlainDocument.java: New class.
719 Supports resetting the state.
720 * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise.
721 * javax/swing/text/html/SelectComboBoxModel.java: Likewise.
722 * javax/swing/text/html/SelectListModel.java: Likewise.
724 2006-12-06 Roman Kennke <kennke@aicas.com>
726 * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
728 * examples/gnu/classpath/examples/swing/HtmlDemo.java
729 (LoadActionListener): Call setPage() helper method.
730 (createContent): Register tweaked editor kit. For FormSubmitEvents
731 call submitForm(), otherwise setPage().
732 (postData): Helper method for posting form data.
733 (setPage): Helper method for navigating to a new URL.
734 (submitForm): Helper method for submitting a form.
735 * examples/gnu/classpath/examples/swing/forms.html:
736 Added text/password fields and select boxes.
737 * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo.
739 2006-12-07 Mark Wielaard <mark@klomp.org>
741 * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
743 (URL(URL,String,URLStreamHandler)): Call new constructor.
744 (URL(URL,String)): Likewise.
745 (URL(String)): Likewise.
747 2006-12-07 Mark Wielaard <mark@klomp.org>
749 * javax/swing/JEditorPane.java (createEditorKitForContentType):
750 Always load from system class loader.
752 2006-12-06 Ben Konrath <bkonrath@redhat.com>
755 * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and
756 newValue are the same.
757 * gnu/xml/dom/DomNode.java: Set parent if null during mutation.
759 2006-12-06 Chris Burdess <dog@gnu.org>
762 * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
763 * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
765 2006-12-06 Chris Burdess <dog@gnu.org>
768 * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
771 2006-12-056 Chris Burdess <dog@gnu.org>
774 * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
775 discover schema factory implementation class.
777 2006-12-05 Roman Kennke <kennke@aicas.com>
779 * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports
780 asynchronous loading of images.
781 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
782 (drawImage): Fetch real image from possibly AsyncImage.
783 * gnu/java/awt/peer/gtk/ComponentGraphics.java
784 (drawImage): Fetch real image from possibly AsyncImage.
785 * gnu/java/awt/peer/gtk/GtkToolkit.java
786 (createImage(URL)): Create async image.
787 (imageOrError): Made method static for easy access from AsyncImage.
788 (prepareImage): For async images, register the observer to the
791 2006-12-05 Roman Kennke <kennke@aicas.com>
793 (paintComponent): Include paint area from event.
794 (updateComponent): Include paint area from event.
796 2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
798 * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
799 lightweight component, not just for non-Panel components.
800 (addImpl): Do not call doLayout.
801 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
802 (setNativeBounds): Ensure widget parent is a GtkFixed before
803 calling gtk_fixed_move.
804 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
805 (setNativeBounds): Likewise.
806 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
807 (setNativeBounds): Likewise.
809 2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com>
811 * java/awt/Component.java (getFontImpl): Return a default font if
812 topmost parent's font is null.
814 2006-12-04 Mark Wielaard <mark@klomp.org>
816 * javax/swing/text/html/CSS.java (parseMarginShorthand):
819 2006-12-04 Roman Kennke <kennke@aicas.com>
821 * java/awt/font/TextLayout.java
822 (hitTestChar): Fixed conditions for inclusion of range.
823 Use layout information in the run for more efficiency.
825 2006-12-04 Roman Kennke <kennke@aicas.com>
827 * javax/swing/text/GlyphView.java
828 (J2DGlyphPainter): New inner class.
829 (checkPainter): For Java2D capable environments create
832 2006-12-04 Roman Kennke <kennke@aicas.com>
834 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
835 (FreeTypeGlyphVector): Don't filter control chars here.
836 (getGlyphs): Filter control chars and replace them by
839 2006-12-04 Roman Kennke <kennke@aicas.com>
841 * native/jni/java-nio/gnu_java_nio_VMChannel.c
842 (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR.
844 2006-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
846 * gnu/java/lang/management/BeanImpl.java:
847 (translate(String)): Don't assume the list uses "E",
848 just use the first and only type variable.
849 * java/lang/management/ManagementFactory.java:
850 (getPlatformMBeanServer()): Register logging bean.
851 * javax/management/openmbean/OpenType.java:
852 (OpenType(String,String,String)): Actually use
853 the string created to handle arrays.
855 2006-12-04 Mark Wielaard <mark@klomp.org>
857 * native/jni/java-nio/gnu_java_nio_VMChannel.c
858 (JCL_thread_interrupted): Use CallStaticBooleanMethod.
860 2006-12-04 Mark Wielaard <mark@klomp.org>
862 * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted):
864 * native/jni/java-nio/gnu_java_nio_VMChannel.c
865 (JCL_thread_interrupted): Only take JNIEnv.
866 (vm_channel_class): New static variable.
867 (initID): Set vm_channel_class.
868 Wrap all reads() and writes() in do-while blocks that check
871 2006-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
873 * gnu/javax/management/Server.java:
874 Make map final and initialise it.
875 (unregisterMBean(ObjectName)): Match against
876 delegate's object name and not the instance.
877 * java/lang/management/ManagementFactory.java:
878 Added constant fields.
879 (getPlatformMBeanServer()): Implemented.
880 * javax/management/MBeanServerFactory.java: New file.
882 2006-12-04 Roman Kennke <kennke@aicas.com>
884 * javax/swing/text/BoxView.java
885 (paint): Replaced painting algorithm with more simple and more
886 reliable painting of the box.
887 * javax/swing/text/html/BlockView.java
888 (PositionInfo): New inner class. Stores additional CSS
889 positioning information.
890 (positionInfo): New field.
891 (BlockView): Initialize positionInfo field.
892 (fetchLayoutInfo): New helper method. Fetches additional
893 CSS positioning information.
894 (layoutMajorAxis): Perform additional CSS layout.
895 (layoutMinorAxis): Perform additional CSS layout.
896 (positionView): New helper method.
897 (replace): Overridden to fetch additional layout information.
898 * javax/swing/text/html/CSS.java
899 (Attribute.POSITION): New field.
900 (Attribute.LEFT): New field.
901 (Attribute.RIGHT): New field.
902 (Attribute.TOP): New field.
903 (Attribute.BOTTOM): New field.
904 (getValue): Create Length for left, right, top and bottom
907 2006-12-04 Roman Kennke <kennke@aicas.com>
909 * gnu/javax/swing/text/html/parser/support/Parser.java
910 (Sgml): Consume any whitespace that immediately follows
912 (parseDocument): Consume any initial whitespace.
914 2006-12-03 Mark Wielaard <mark@klomp.org>
916 * gnu/javax/management/Server.java (beans): Initialize.
917 (registerMBean): Don't initialize beans.
919 2006-12-03 Mark Wielaard <mark@klomp.org>
921 * java/util/logging/LogManager.java (getLevelProperty): Check
922 whether value is null before passing to Level.parse().
924 2006-12-04 Robert Lougher <rob.lougher@gmail.com>
926 * java/lang/management/ThreadInfo.java (ThreadInfo): Check
927 whether given a null lock and lockOwner.
929 2006-12-03 Mark Wielaard <mark@klomp.org>
931 * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream.
932 (PageLoader.page): Made package local.
933 (PageLoader.run): Don't reset loader.
934 (PageLoader.cancel): New method.
935 (loading): Renamed to loader.
936 (getPage): Return loader.page.
937 (setPage): Always set loader. Never reset to null.
939 2006-12-03 Mark Wielaard <mark@klomp.org>
941 * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether
943 (isLastChild): Return false when path is null.
945 2006-12-03 Mark Wielaard <mark@klomp.org>
947 * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed
949 (paintComponent): Work with local reference to currentPaintArea.
950 (updateComponent): Likewise.
951 (coalescePaintEvent): Set currentPaintArea.
953 2006-12-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
955 * javax/management/MBeanServerBuilder.java: New file.
957 2006-12-01 Mark Wielaard <mark@klomp.org>
959 * java/text/DecimalFormat.java (parse): Always increment parsing
960 index and adjust pos result.
962 2006-12-01 Roman Kennke <kennke@aicas.com>
964 * javax/swing/text/html/HTML.java
965 (Attribute.DYNAMIC_CLASS): New field.
966 (Attribute.PSEUDO_CLASS): New field.
967 * javax/swing/text/html/HTMLDocument.java
968 (HTMLReader.CharacterAction.start): Initialize anchor with link
970 (updateSpecialClass): New helper method. Updates the dynamic
971 or pseudo class for anchor tags.
972 * javax/swing/text/html/HTMLEditorKit.java
973 (LinkController.lastAnchorElement): New field. For tracking
974 enter/exit of anchors.
975 (LinkController.activateLink): Set pseudo class to 'visited'.
976 (LinkController.mouseMoved): Added support for tracking
977 the 'hover' dynamic class.
978 * javax/swing/text/html/InlineView.java
979 (changedUpdate): Fetch new properties.
980 * javax/swing/text/html/StyleSheet.java
981 (attributeSetToMap): New helper method.
982 (getRule): Also append dynamic and pseudo class to key.
983 (resolveStyle): Resolve style based generally on all attributes.
984 * javax/swing/text/html/TableView.java
985 (RowView.layoutMajorAxis): Make sure the grid is valid.
986 (updateGrid): Made package private.
987 * gnu/javax/swing/text/html/css/Selector.java
988 (calculateSpecificity): Added support for dynamic and pseudo classes.
989 (matches): Changed to operate on general attributes.
990 Added support for dynamic and pseudo classes.
992 2006-12-01 Mario Torre <neugens@limasoftware.net>
994 * java/text/DecimalFormat.java (formatInternal): move the formatting of
995 fractional portion in a separate method.
996 Also fixes the handling of decimal separator and its associated field.
997 (handleFractionalPart): new method, needed to relax a bit
1000 2006-12-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
1002 * java/beans/beancontext/BeanContextServicesSupport.java:
1003 (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices,
1004 Class)): Implemented.
1005 (BCSSProxyServiceProvider.getService(BeanContextServices, Object,
1006 Class, Object)): Implemented.
1007 (BCSSProxyServiceProvider.releaseService(BeanContextServices,
1008 Object, Object)): Implemented.
1009 (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)):
1011 (initialiseBeanContextResources()): Implemented.
1012 (releaseBeanContextResoures()): Implemented.
1014 2006-12-01 Mark Wielaard <mark@klomp.org>
1016 * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated.
1018 2006-12-01 Roman Kennke <kennke@aicas.com>
1020 * gnu/javax/swing/text/html/css/BorderStyle.java: New class for
1021 handling border styles.
1022 * gnu/javax/swing/text/html/css/BorderWidth.java
1023 (isValid): New method.
1024 * gnu/javax/swing/text/html/css/Length.java
1025 (isValid): New method.
1026 * javax/swing/text/html/CSS.java
1027 (addInternal): Added shorthand parsing for border, padding and
1029 (parseBackgroundShorthand): Added API docs.
1030 (parsePaddingShorthand): New method. Handles padding shorthand
1032 (parseMarginShorthand): New method. Handles margin shorthand
1034 (parseBorderShorthand): New method. Handles border shorthand
1036 * javax/swing/text/html/StyleSheet.java
1037 (translateHTMLToCSS): Set specific padding attributes.
1038 (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here.
1039 These shorthands are now handled in CSS.
1040 (BoxPainter.paint): Exclude the outer margin.
1042 2006-12-01 Roman Kennke <kennke@aicas.com>
1044 * gnu/javax/swing/text/html/css/Length.java
1045 (emBase): New field.
1046 (exBase): New field.
1047 (isFontEMRelative): New field.
1048 (isFontEXRelative): New field.
1049 (Length): Recognize and setup EM and EX relative values.
1050 (getValue): Handle EM and EX relative values.
1051 (isEMRelative): New method.
1052 (isEXRelative): New method.
1053 (setEMBase): New method.
1054 (setEXBase): New method.
1055 (setFontBases): New method.
1056 * gnu/javax/swing/text/html/parser/support/Parser.java
1057 (_handleEmptyTag): Use new isBlock() helper method.
1058 (_handleEndTag_remaining): Use new isBlock() helper method.
1059 (_handleStartTag): Consume whitespace after block start tag.
1060 (Comment): Consume whitespace after a comment.
1061 (isBlock): New helper method.
1062 (readAttributes): Consider all characters in unquoted attribute
1064 * javax/swing/text/html/BlockView.java
1065 (layoutMinorAxis): Use cached span value.
1066 (paint): Added debug code (commented out).
1067 (setPropertiesFromAttributes): Set the EM and EX base on lengths.
1068 * javax/swing/text/html/CSSBorder.java
1069 (CSSBorder): Take StyleSheet as argument. Call getBorderWidth()
1071 (getBorderWidth): Set the EM and EX base on the length values.
1072 * javax/swing/text/html/HTMLDocument.java
1073 (HTMLReader.ParagraphAction.end): Do not set the inParagraph field.
1074 (HTMLReader.ParagraphAction.start): Do not set the inParagraph field.
1075 (HTMLReader.inImpliedParagraph): Removed.
1076 (HTMLReader.inParagraph): Removed.
1077 (HTMLReader.parseStack): New field.
1078 (HTMLReader.addContent): Use new paragraph handling.
1079 (HTMLReader.addSpecialElement): Use new paragraph handling.
1080 (HTMLReader.blockClose): Use new paragraph handling.
1081 (HTMLReader.blockOpen): Use new paragraph handling.
1082 (HTMLReader.inImpliedParagraph): New helper method.
1083 (HTMLReader.inParagraph): New helper method.
1084 * javax/swing/text/html/ImageView.java
1085 (attributes): New field. Caches view attributes.
1086 (spans): New field. Caches CSS spans.
1087 (getAttributes): Correctly setup CSS view attributes.
1088 (getPreferredSpan): Use caches spans.
1089 (getStyleSheet): Use the view's getDocument() method.
1090 (setPropertiesFromAttributes): Cache spans and setup EM and EX.
1091 (updateSize): Use cached spans.
1092 * javax/swing/text/html/ParagraphView.java
1093 (setPropertiesFromAttributes): Setup EM and EX.
1094 * javax/swing/text/html/StyleSheet.java
1095 (BoxPainter.BoxPainter): Setup EM and EX correctly.
1096 (getEMBase): New helper method.
1097 (getEXBase): New helper method.
1098 * javax/swing/text/html/TableView.java
1099 (width): New field. Caches the table width.
1100 (calculateMinorAxisRequirements): Use caches span.
1101 (setPropertiesFromAttributes): Cache span and setup EM/EX.
1102 (updateGrid): Correctly setup EM/EX.
1104 2006-11-30 Roman Kennke <kennke@aicas.com>
1106 * javax/swing/text/html/FormSubmitEvent.java: New class.
1107 * javax/swing/text/html/FormView.java
1108 (SubmitThread): New class for submitting data in a separate thread.
1109 (actionPerformed): Fetch the actual for data.
1110 (addData): New helper method.
1111 (getElementFormData): New helper method.
1112 (getFormData): New helper method.
1113 (getInputFormData): New helper method.
1114 (submitData): Implemented.
1115 * javax/swing/text/html/FrameView.java
1116 (createComponent): Add this as hyperlink listener.
1117 Set the target document as frame document.
1118 (getTopEditorPane): New helper method.
1119 (hyperlinkUpdate): Implementation of the HyperlinkListener interface.
1120 (handleHyperlinkEvent): New helper method.
1121 (handleFormSubmitEvent): New helper method.
1122 * javax/swing/text/html/HTMLDocument.java
1123 (HTMLReader.BaseAction.start): Track the base target.
1124 (HTMLReader.BaseAction.end): Removed.
1125 (baseTarget): New field.
1126 (frameDocument): New field.
1127 (getBaseTarget): New property accessor.
1128 (isFrameDocument): New property accessor.
1129 (processHTMLFrameHyperlinkEvent): Implemented.
1130 (setFrameDocument): New property accessor.
1131 (updateFrame): New helper method.
1132 (updateFrameSet): New helper method.
1133 * javax/swing/text/html/HTMLEditorKit.java
1134 (LinkController.createHyperlinkEvent): Handle frame documents.
1135 (autoFormSubmission): New field.
1136 (HTMLEditorKit): Set autoFormSubmission to true.
1137 (isAutoFormSubmission): New property accessor.
1138 (setAutoFormSubmission): New property accessor.
1140 2006-11-30 Roman Kennke <kennke@aicas.com>
1142 * javax/swing/text/ElementIterator.java
1143 (ElementRef): New inner class.
1144 (currentDepth): Removed.
1145 (currentElement): Removed.
1146 (previousItem): Removed.
1147 (stack): New field. Holds the iteration stack.
1149 (ElementIterator(Document)): Removed init of removed fields.
1150 (ElementIterator(Element)): Removed init of removed fields.
1151 (current): Changed to stack based algorithm.
1152 (deepestLeaf): New helper method.
1153 (depth): Changed to stack based algorithm.
1154 (first): Changed to stack based algorithm.
1155 (next): Changed to stack based algorithm.
1156 (previous): Changed to stack based algorithm.
1158 2006-11-30 Francis Kung <fkung@redhat.com>
1160 * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4.
1161 * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses.
1163 2006-11-30 Francis Kung <fkung@redhat.com>
1165 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1166 (draw): Set transform in buffered composite.
1167 (drawComposite): Do not transform bounds; round bounds.
1168 (drawGlyphVector): Set transform in buffered composite.
1169 (drawRenderedImage): Set transform in buffered composite.
1170 (fill): Set transform in buffered composite.
1171 (updateBufferedImage): Fix scanline & height calculations.
1172 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1173 (createPath): Simplify width & height calculation.
1174 (drawImage): Also transform width & height.
1176 2006-11-30 Roman Kennke <kennke@aicas.com>
1178 * javax/swing/text/html/FrameSetView.java: New class. Implements
1180 * javax/swing/text/html/FrameView.java: New class. Implements
1182 * javax/swing/text/html/HTMLDocument.java:
1183 (HTMLReader.addSpecialElement): Only add one artificial space.
1184 * javax/swing/text/html/HTMLEditorKit.java
1185 (HTMLFactory.create): Uncomment code for FrameSetView and FrameView.
1186 * gnu/javax/swing/text/html/parser/support/Parser.java
1187 (_handleEmptyTag): Also consume whitespace after frame tags.
1189 2006-11-30 Gary Benson <gbenson@redhat.com>
1191 * java/lang/Thread.java: Javadoc fixes.
1193 2006-11-29 Tom Tromey <tromey@redhat.com>
1196 * java/lang/Class.java (getAnnotations): Rewrote.
1198 2006-11-29 Tania Bento <tbento@redhat.com>
1200 * tools/gnu/classpath/tools/appletviewer/TagParser.java:
1201 (parseParams): Unescape 'val' before putting it into the Map.
1202 (unescapeString): New private method.
1204 2006-11-29 Tom Tromey <tromey@redhat.com>
1206 * tools/gnu/classpath/tools/getopt/package.html: New file.
1208 2006-11-29 David Gilbert <david.gilbert@object-refinery.com>
1210 * javax/swing/plaf/metal/MetalIconFactory.java
1211 (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint,
1212 (VerticalSliderThumbIcon.paintIcon()): Likewise.
1214 2006-11-29 Mario Torre <neugens@limasoftware.net>
1216 * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign
1217 with the default international currency sign \u00A4.
1218 * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol
1219 table for string formatting.
1220 (formatInternal): likewise.
1221 (scanNegativePattern): likewise.
1222 (applyPattern): likewise.
1223 * java/text/DecimalFormatSymbols.java (clone): Revert to old version as
1224 Locale is immutable and does not need clone.
1226 2006-11-29 Francis Kung <fkung@redhat.com>
1228 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1229 (drawLine): Remove hard-coded pixel shifting.
1231 2006-11-29 Roman Kennke <kennke@aicas.com>
1233 * java/awt/Component.java
1234 (isShowing): Simplified condition code and avoid unnecessary
1236 (coalesceEvents): Always coalesce paint events and let the peer
1237 figure out the expanding of the repaint area.
1238 * gnu/java/awt/peer/swing/SwingComponentPeer.java
1239 (currentPaintEvents): Removed. Replaced by paintArea.
1240 (paintArea): New field. Tracks the dirty area.
1241 (SwingComponentPeer): Removed init of currentPaintEvents.
1242 (coalescePaintEvent): Simplified to only union the dirty regions.
1243 (handleEvent): Paint dirty region that was tracked in paintArea.
1244 * gnu/java/awt/peer/gtk/GtkComponentPeer.java
1245 (paintArea): New field. Tracks the dirty region.
1246 (coalescePaintEvent): Implemented to track the dirty region.
1247 (paintComponent): Use the dirty region in paintArea. Protect
1248 state by putting the paint and dispose code in a try-finally.
1249 (updateComponent): Use the dirty region in paintArea. Protect
1250 state by putting the paint and dispose code in a try-finally.
1252 2006-11-29 Roman Kennke <kennke@aicas.com>
1254 * java/awt/font/TextLayout.java
1255 (getVisualHighlightShape): Removed debug output.
1257 2006-11-28 Andrew Haley <aph@redhat.com>
1259 * vm/reference/sun/reflect/misc/ReflectUtil.java
1260 (checkPackageAccess): Implement.
1262 2006-11-28 Dalibor Topic <robilad@kaffe.org>
1264 * native/jni/java-lang/java_lang_VMDouble.c:
1265 (parseDoubleFromChars) New function. Factored out from ...
1266 (Java_java_lang_VMDouble_parseDouble): Factored out the parsing.
1267 (dtoa_toString): New function. Factored out from ...
1268 (Java_java_lang_VMDouble_toString) : Factored out the conversion.
1269 Changed conversion mode to 2, as modes 0 and 1 don't round
1270 as the API spec demands. Invoke conversion function as often
1271 as necessary with growing precision until a reversible
1272 representation of the double in form of a string is reached.
1274 2006-11-28 Roman Kennke <kennke@aicas.com>
1276 * javax/swing/JComponent.java
1277 (putClientProperty): Do not fire event when both old and new
1280 2006-11-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
1282 * java/lang/Enum.java:
1283 Make name and ordinal final.
1285 2006-11-27 Casey Marshall <csm@gnu.org>
1287 * java/util/jar/JarEntry.java (certs): removed.
1288 (jarfile): new field.
1289 (getCertificates): read the certificates from the containing JarFile.
1290 * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't
1291 fill in 'certs,' fill in 'jarfile' for the entry.
1292 (getEntry): likewise.
1294 2006-11-27 Francis Kung <fkung@redhat.com>
1296 * java/awt/image/WritableRaster.java
1297 (createChild): Implemented.
1299 2006-11-27 Roman Kennke <kennke@aicas.com>
1301 * java/awt/font/TextLayout.java
1302 (TextLayout(TextLayout,int,int)): Also layout the new runs.
1303 (getVisualHighlightShape): Implemented.
1304 (layoutRuns): Fixed boundary so that the last run is also laid out.
1305 (left): New helper method.
1306 (right): New helper method.
1308 2006-11-27 Roman Kennke <kennke@aicas.com>
1310 * java/awt/font/TextLayout.java
1311 (getCaretShape(TextHitInfo,Rectangle2D)): Implemented.
1312 (getCaretShape(TextHitInfo)): Use natural bounds.
1313 (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method.
1314 (getCaretShapes(int,Rectangle2D)): Delegate to new method
1315 above with DEFAULT_CARET_POLICY.
1316 (getCaretShapes(int)): Use natural bounds.
1318 2006-11-27 Roman Kennke <kennke@aicas.com>
1320 * java/awt/font/TextLayout.java
1321 (Run.font): New field.
1322 (Run.location): New field.
1323 (Run.Run): Initialize font.
1324 (font): Removed field. This is moved into Run as the actual font
1325 is something run-specific.
1326 (TextLayout(String,Font,FontRenderContext)): Set font on the
1327 single runs. Layout the runs here.
1328 (TextLayout(TextLayout,int,int)): Copy over the run fonts.
1329 (findRunAtIndex): New helper method.
1330 (getCaretInfo): Implemented.
1331 (layoutRuns): New helper method.
1332 (toString): Don't put font in output string.
1334 2006-11-27 Raif S. Naffah <classpath@naffah-raif.name>
1336 * AUTHORS: Added Jeroen Fritjers.
1338 2006-11-27 neugens <neugens@nirvana.limasoftware.net>
1340 * java/text/DecimalFormat.java (formatInternal): Add an explicit test
1341 for FieldPosition to be null.
1342 Check if the factional part is just 0 and can be omitted from the
1344 (scanNegativePattern): Fixed index out of bound exception when searching
1345 for international currency symbol in negative pattern.
1347 2006-11-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
1349 * java/beans/beancontext/BeanContextSupport.java:
1350 (readObject(ObjectInputStream)): Implemented.
1351 (writeObject(ObjectOutputStream)): Likewise.
1352 (BCSChild.getTargetChild()): Added.
1353 (bcsPreDeserializationHook()): Implemented.
1354 (bcsPreSerializationHook()): Likewise.
1355 (childDeserializedHook(Object,BCSChild)): Likewise.
1356 (isSerializing()): Likewise.
1357 (readChildren(ObjectInputStream)): Likewise.
1358 (writeChildren(ObjectOutputStream)): Likewise.
1360 2006-11-26 Roger Sayle <roger <at> eyesopen.com>
1361 Ian Lance Taylor <ian <at> airs.com>
1362 Paolo Bonzini <bonzini <at> gnu.org>
1366 * lib/gen-classlist.sh.in: Avoid using test's -ef operator for
1367 increased portability. Likewise, use -f instead of -e.
1369 2006-11-26 Mark Wielaard <mark@klomp.org>
1371 * lib/Makefile.am (propertydirs): Removed.
1372 (resources): Explicitly create all dirs.
1374 2006-11-26 Mark Wielaard <mark@klomp.org>
1376 * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket.
1378 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1380 * native/target/.cvsignore,
1381 native/target/generic/.cvsignore,
1382 native/target/Linux/.cvsignore:
1383 Removed no longer used files.
1385 * native/target: Removed no longer used directory.
1387 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1391 * libraries/clib/nio/gnu_java_nio_VMSelector.c
1392 (Java_gnu_java_nio_VMSelector_select):
1393 Use strerror if strerror_r is not available.
1395 Reported by: Michael Franz <mvfranz@gmail.com>,
1396 Riccardo Mottola <zuse@libero.it>
1398 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1402 * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed
1403 STRICT_WARNING_CFLAGS since it caused the build to fail
1406 2006-11-26 Ian Rogers <ian.rogers@manchester.ac.uk>
1408 * doc/vmintegration.texinfo: Update VM Threading Model section.
1410 2006-11-26 Tom Tromey <tromey@redhat.com>
1412 * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally
1414 (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated
1416 * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c:
1417 Conditionally include ifaddrs.h.
1418 (getif_address): Updated conditional.
1419 (getif_index): Likewise.
1420 * configure.ac: Check for ifaddrs.h.
1422 2006-11-25 Mark Wielaard <mark@klomp.org>
1424 * java/io/File.java (list): Return empty list for unreadable dirs.
1426 2006-11-25 Mark Wielaard <mark@klomp.org>
1428 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector):
1429 Synchronize on font peer.
1430 (setFont): Likewise.
1431 * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark
1433 (getTextMetrics): Likewise.
1435 2006-11-25 Roman Kennke <kennke@aicas.com>
1437 * javax/swing/text/GapContent.java
1438 (getPositionsInRange): Rewritten to use the more efficient
1439 binary search searchFirst() and avoid an NPE that was caused
1442 2006-11-25 Mark Wielaard <mark@klomp.org>
1444 * javax/swing/text/CompositeView.java (modelToView): Never return
1447 2006-11-25 Mark Wielaard <mark@klomp.org>
1449 * javax/swing/text/html/TableView.java (calculateColumnRequirements):
1450 Check whether rowView instanceof RowView.
1451 (updateGrid): Likewise.
1453 2006-11-25 Mario Torre <neugens@nirvana.limasoftware.net>
1456 * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5.
1457 * java/text/NumberFormat.java (format): all format methods, fixed
1458 FieldPosition argument should never be null.
1459 (format(Object, StringBuffer, FieldPosition)): fixed signature,
1460 method is not final.
1461 * java/text/DecimalFormatSymbols.java (clone): fixed to also clone
1463 * AUTHORS: added my name to the file.
1465 2006-11-25 Mark Wielaard <mark@klomp.org>
1467 * javax/swing/text/html/StyleSheet.java (paint): Guard against
1468 getChildAllocation() returning null.
1470 2006-11-25 Mark Wielaard <mark@klomp.org>
1472 * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity):
1473 Use clazzIndex for id substring.
1475 2006-11-25 Mark Wielaard <mark@klomp.org>
1477 * java/awt/EventQueue.java (pop): Only terminate dispatchThread when
1478 it is still running.
1480 2006-11-25 Mark Wielaard <mark@klomp.org>
1483 * doc/api/Makefile.am (create_html): Guard GJDOC invocation with
1486 2006-11-24 Tania Bento <tbento@redhat.com>
1488 * java/awt/font/TextHitInfo.java
1489 (equals(TextHitInfo)): If TextHitInfo parameter is null, return false.
1490 (beforeOffset): Decreased first parameter by 1.
1492 2006-11-24 Francis Kung <fkung@redhat.com>
1494 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1495 (constructor): Check sample model when setting fastCM flag.
1496 (updateBufferedImage): Check scanline and sample model offsets before
1497 copying data directly into the image data buffer.
1499 2006-11-24 Francis Kung <fkung@redhat.com>
1501 * gnu/java/awt/java2d/QuadSegment.java
1502 (offsetSubdivided): Handle special straight-line cases.
1504 2006-11-24 Roman Kennke <kennke@aicas.com>
1506 * java/awt/dnd/DropTarget.java
1507 (DropTargetAutoScroller.HYSTERESIS): New constant.
1508 (DropTargetAutoScroller.DELAY): New constant.
1509 (DropTargetAutoScroller.inner): New field. A cached
1511 (DropTargetAutoScroller.outer): New field. A cached
1513 (DropTargetAutoScroller.timer): New field. The actual timer.
1514 (DropTargetAutoScroller.DropTargetAutoScroller):
1516 (DropTargetAutoScroller.actionPerformed): Implemented.
1517 (DropTargetAutoScroller.stop): Implemented.
1518 (DropTargetAutoScroller.updateLocation): Implemented.
1519 (clearAutoscroll): Stop the autoscroller before nullifying it.
1520 (createDropTargetAutoScroller): Don't set the field here,
1521 only return a new instance.
1522 (dragEnter): Only do something when active. Initialize
1524 (dragExit): Only do something when active. Stop auto scrolling.
1525 (dragOver): Only do something when active. Update auto scrolling.
1526 (drop): Only do something when active. Update auto scrolling.
1527 (dropActionChanged): Only do something when active. Update
1529 (initializeAutoScrolling): Check if component is an instance
1530 of Autoscroll, otherwise do nothing.
1531 (setActive): Disable autoscrolling when deactivating.
1532 (setComponent): When component is set to null, disable autoscrolling.
1534 2006-11-24 David Gilbert <david.gilbert@object-refinery.com>
1536 * java/beans/beancontext/BeanContextServicesSupport.java
1537 (getChildBeanContextServicesListener): Implemented.
1539 2006-11-23 Roman Kennke <kennke@aicas.com>
1541 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1542 (createGraphics): Use constructor to create new instance of
1543 BufferedImageGraphics.
1544 * java/awt/Toolkit.java
1545 (getDefaultToolkit): Really try to get a real toolkit. Only
1546 use HeadlessToolkit if no other is available.
1547 * gnu/java/awt/peer/gtk/GtkToolkit.java
1548 (checkHeadless): New helper method. Checks for headless environment
1549 and throws HeadlessException if appropriate.
1550 (createButton): Check for headless.
1551 (createCanvas): Check for headless.
1552 (createCheckbox): Check for headless.
1553 (createCheckboxMenuItem): Check for headless.
1554 (createChoice): Check for headless.
1555 (createDialog): Check for headless.
1556 (createDragGestureRecognizer): Check for headless.
1557 (createDragSourceContextPeer): Check for headless.
1558 (createEmbeddedWindow): Check for headless.
1559 (createFileDialog): Check for headless.
1560 (createFrame): Check for headless.
1561 (createCheckbox): Check for headless.
1562 (createLabel): Check for headless.
1563 (createList): Check for headless.
1564 (createMenu): Check for headless.
1565 (createMenuBar): Check for headless.
1566 (createMenuItem): Check for headless.
1567 (createPanel): Check for headless.
1568 (createPopupMenu): Check for headless.
1569 (createScrollbar): Check for headless.
1570 (createScrollPane): Check for headless.
1571 (createTextArea): Check for headless.
1572 (createTextField): Check for headless.
1573 (createWindow): Check for headless.
1575 2006-11-23 David Gilbert <david.gilbert@object-refinery.com>
1577 * java/beans/beancontext/BeanContextSupport.java
1578 (deserialize): Implemented,
1579 (serialize): Implemented.
1581 2006-11-23 Roman Kennke <kennke@aicas.com>
1583 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1584 (createGraphics): Try to use Cairo graphics if available.
1586 2006-11-22 David Gilbert <david.gilbert@object-refinery.com>
1588 * java/beans/beancontext/BeanContextSupport.java
1589 (toArray): Added API docs,
1590 (toArray(Object[])): Added API docs, removed NotImplementedException.
1592 2006-11-22 Tania Bento <tbento@redhat.com>
1594 * javax/swing/JRootPane.java
1595 (setLayeredPane): Added documentation; throw
1596 IllegalComponentStateException if layered pane parameter is null.
1598 2006-11-22 David Gilbert <david.gilbert@object-refinery.com>
1600 * java/beans/beancontext/BeanContextSupport.java
1601 (avoidingGui): Removed NotImplementedException.
1603 2006-11-22 Francis Kung <fkung@redhat.com>
1605 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1606 (drawGlyphVector): Clip updated area to glyph bounds.
1607 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1608 (createPath): Eliminate distortion when pixel-shifting rectangles; separate
1609 x-coordinate and y-coordinate pixel shifting.
1610 (shifted): Removed method.
1611 (shiftX): New method, recognising scaling transforms.
1612 (shiftY): New method, recognising scaling transforms.
1613 (walkPath): Separate x-coordinate and y-coordinate pixel shifting.
1615 2006-11-22 Roman Kennke <kennke@aicas.com>
1617 * java/awt/font/TextLayout.java
1618 (hash): New field. Caches the hash code.
1619 (hashCode): Implemented.
1621 2006-11-22 Roman Kennke <kennke@aicas.com>
1623 * java/awt/image/ImageFilter.java
1624 Reformat whole class.
1625 (getFilterInstance): Don't touch the consumer field. Don't check
1627 (imageComplete): Don't check consumer.
1628 (setColorModel): Don't check consumer.
1629 (setDimensions): Don't check consumer.
1630 (setHints): Don't check consumer.
1631 (setPixels): Don't check consumer.
1632 (setProperties): Pass the original property too.
1633 * java/awt/image/IndexColorModel.java
1634 (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the
1635 transparent pixel by calling the new helper method.
1636 (IndexColorModel(int,int,byte[],int,boolean,int)): Set the
1637 transparent pixel by calling the new helper method.
1638 (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the
1639 transparent pixel by calling the new helper method.
1640 (coerceData): Removed. This is not needed.
1641 (getAlpha): Simply return value from color map. The transparent
1642 pixel has to be there.
1643 (setTransparentPixel): New helper method. Inserts the transparent
1645 * java/awt/image/RGBImageFilter.java
1646 Reformat whole class.
1647 (convertColorModelToDefault): Removed. No longer needed.
1648 (filterIndexColorModel): Don't handle transparent pixels
1650 (filterRGBPixels): Set pixels on consumer already.
1651 (makeColor): Removed. No longer needed.
1652 * java/awt/image/ReplicateScaleFilter.java
1653 (replicatePixels): Removed.
1654 (setDimension): Correctly compute destination size, avoid double
1656 (setPixels): Avoid double calculations. Fixed some boundary cases.
1657 (setupSources): New helper method.
1658 * java/awt/image/SampleModel.java
1659 (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT
1661 * java/awt/image/SinglePixelPackedSampleModel.java
1662 (setDataElements(int,int,int,int,Object,DataBuffer)): Removed.
1663 This is not needed as the superclass already copies line
1665 (setDataElements(int,int,Object,DataBuffer)): Simplified code,
1666 removed some checks that the RI also doesn't perform. Call
1667 DataBuffer.setElem().
1669 2006-11-22 Roman Kennke <kennke@aicas.com>
1671 * java/awt/text/TextLayout.java
1672 (getLogicalRangesForVisualSelection): Implemented.
1674 2006-11-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
1676 * sun/reflect/annotation/AnnotationParser.java,
1677 * sun/reflect/annotation/AnnotationType.java,
1678 * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java,
1679 * sun/reflect/annotation/ExceptionProxy.java:
1681 * sun/misc/ServiceConfigurationError.java,
1682 * sun/misc/Service.java:
1685 2006-11-21 Roman Kennke <kennke@aicas.com>
1687 * java/awt/text/TextLayout.java
1688 (Run.isLeftToRight): New helper method.
1689 (logicalToVisual): New field. Maps logical indices to visual
1691 (visualToLogical): New field. Maps visual indices to logical
1693 (TextLayout): Setup mappings.
1694 (setupMappings): New method for setting up the mappings.
1695 (getCharacterLevel): Reorganized code.
1696 (getNextLeftHit(int)): Implemented.
1697 (getNextLeftHit(int,CaretPolicy)): New method.
1698 (getNextLeftHit(TextHitInfo)): Implemented.
1699 (getNextRightHit(int)): Implemented.
1700 (getNextRightHit(int,CaretPolicy)): New method.
1701 (getNextRightHit(TextHitInfo)): New method.
1702 (getVisualOtherHit): Implemented.
1703 (checkHitInfo): New helper methods for checking parameters.
1704 (hitToCaret): New helper method. Maps hit infos to caret locations.
1705 (caretToHit): New helper method. Maps caret locations to hit infos.
1706 (isCharacterLTR): New helper method.
1707 (CaretPolicy.getStrongCaret): Implemented.
1709 2006-11-21 Francis Kung <fkung@redhat.com>
1711 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1712 (draw): Include stroke width when calculating bounds.
1713 (updateBufferedImage): Round bounds more generously, handle negative
1714 height/width values, and clip more intelligently.
1715 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1716 (createPath): Add shortcut optimization for lines.
1717 (draw): Include stroke width when calculating bounds.
1718 (drawLine): Delegate to main draw() method.
1719 (drawRect): Likewise.
1720 (fillRect): Delegate to main fill() method.
1721 (findStrokedBounds): New method.
1722 (setCustomPaint): Round bounds more generously.
1723 * gnu/java/awt/peer/gtk/ComponentGraphics.java
1724 (drawLine): Removed.
1725 (drawRect): Removed.
1726 (fillRect): Removed.
1728 2006-11-21 Francis Kung <fkung@redhat.com>
1730 * gnu/java/awt/java2d/TexturePaintContext.java
1731 (getRaster): Handle negative coordinate values.
1732 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1733 (setPaint): Moved custom paint processing to a new method.
1734 (setPaintPixels): Added x, y parameters.
1735 (getRealBounds): Added documentation.
1736 (copy): Copy clipping information.
1737 (drawLine): Process custom paints.
1738 (setCustomPaint): New method.
1739 (fill): Process custom paints.
1740 (drawGlyphVector): Process custom paints.
1741 (drawRect): Process custom paints.
1742 (draw): Process custom paints.
1743 * gnu/java/awt/peer/gtk/CairoSurface.java
1744 (cairoCM_opaque): New constant.
1745 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1746 (argb32): Removed constant.
1747 (rgb32): Removed constant.
1748 (BufferedImageGraphics(BufferedImage)): Updated constant names.
1749 (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags.
1750 (updateBufferedImage): Transform to device-space before updating.
1751 * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
1752 (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y
1754 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
1755 (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern
1756 source at designated x, y origin.
1758 2006-11-21 Roman Kennke <kennke@aicas.com>
1760 * java/awt/text/TextLayout.java
1761 (Run): New inner helper class.
1762 (length): New field.
1763 (naturalBounds): New field.
1764 (offset): New field.
1765 (runIndices): Removed. This is now encapsulate in a Run object.
1766 (runs): Changed to Run[].
1767 (string): Changed to char[].
1768 (totalAdvance): New field. Caches advance value.
1769 (TextLayout(String,Font,FontRenderContext)): Change to store
1770 string as char[] and run layout as Run[]. Clean out empty
1772 (TextLayout(TextLayout,int,int)): Change to store
1773 string as char[] and run layout as Run[].
1774 (clone): Call private constructor for maximum efficiency.
1775 (determineWhitespace): Adapted to use char[] data.
1776 (draw): Adapted to use Run objects.
1777 (getAdvance): Cache computed total advance.
1778 (getBlackBoxBounds): Adapted to use Run objects.
1779 (getCaretInfo): Use natural layout bounds.
1780 (getCharacterCount): Return length field.
1781 (getLogicalHighlightShape): Adapted to use Run objects.
1782 (getNaturalBounds): New helper method. Calculates and returns the
1783 natural bounds of this text layout.
1784 (getOutline): Adapted to use Run objects.
1785 (getStringProperties): Adapted to use char[] data.
1786 (getVisibleAdvance): Adapted to use char[] and Run data.
1787 (handleJustify): Adapted to use char[] and Run data.
1788 (hitTestChar(float,float,Rectangle2D)): Implemented.
1789 (hitTestChar(float,float)): Use natural bounds.
1790 (setCharIndices): Adapted to use char[] and Run data.
1791 (toString): Adapted to use char[] and Run data.
1792 * java/text/Bidi.java
1793 (requiresBidi): Exclude paragraph separators from bidi-triggers.
1795 2006-11-21 Roman Kennke <kennke@aicas.com>
1797 * gnu/java/awt/peer/gtk/GdkFontMetrics.java:
1798 Removed. This is now an inner class in GdkFontPeer.
1799 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1800 (drawString(float,float)): Use text layout cache from
1802 (getFontMetrics): Delegate to GdkFontPeer.
1803 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
1804 (getGlyphCodes): Also check array size.
1805 (getGlyphPositions): Also check array size.
1806 * gnu/java/awt/peer/gtk/GdkFontPeer.java
1807 (GdkFontLineMetrics.fm): Removed.
1808 (GdkFontLineMetrics.strikeThroughOffset): Removed.
1809 (GdkFontLineMetrics.strikeThroughThickness): Removed.
1810 (GdkFontLineMetrics.underlineOffset): Removed.
1811 (GdkFontLineMetrics.underlineThickness): Removed.
1812 (GdkFontLineMetrics.GdkFontLineMetrics): Don't take
1813 FontMetrics argument. Don't init removed fields.
1814 (GdkFontLineMetrics.getAscent): Return font peer's field.
1815 (GdkFontLineMetrics.getDescent): Return font peer's field.
1816 (GdkFontLineMetrics.getHeight): Return font peer's field.
1817 (GdkFontLineMetrics.getLeading): Return font peer's field.
1818 (GdkFontLineMetrics.getNumChars): Reformat.
1819 (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent.
1820 (GdkFontLineMetrics.getStrikeThroughThickness): Return 1.
1821 (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field.
1822 (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field.
1823 (GdkFontMetrics): Moved class in here as inner class.
1824 Make it use the font peer's fields and for the char(s) width
1825 and string width method, use TextLayout to measure the actual widths.
1826 (ascent): New field.
1828 (DEFAULT_CTX): New constant field.
1829 (descent): New field.
1830 (FONT_METRICS_ASCENT): New constant.
1831 (FONT_METRICS_DESCENT): New constant.
1832 (FONT_METRICS_HEIGHT): New constant.
1833 (FONT_METRICS_MAX_ADVANCE): New constant.
1834 (FONT_METRICS_MAX_ASCENT): New constant.
1835 (FONT_METRICS_MAX_DESCENT): New constant.
1836 (FONT_METRICS_UNDERLINE_OFFSET): New constant.
1837 (FONT_METRICS_UNDERLINE_THICKNESS): New constant.
1838 (height): New field.
1839 (maxAdvance): New field.
1840 (maxAscent): New field.
1841 (maxDescent): New field.
1842 (metrics): New field. Stores a FontMetrics for this font.
1843 (textLayoutCache): New field. Caches TextLayout instances.
1844 (underlineOffset): New field.
1845 (underlineThickness): New field.
1846 (cinit): Don't initialize resource bundle.
1847 (GdkFontPeer): Setup the metrics.
1848 (getFontMetrics): Return stored metrics if possible.
1849 (getLineMetrics): Adapt to new constructor.
1850 (initFont): New helper method.
1851 (setupMetrics): New helper method.
1852 * gnu/java/awt/peer/gtk/GtkToolkit.java
1853 (LRUCache): Made class a static class.
1854 (getFontMetrics): Delegate to GdkFontPeer.
1855 * native/jni/gtk-peer/gdkfont.h
1856 Added new constant defines.
1857 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
1858 (getFontMetrics): Rewritten to fetch the font metrics from
1861 2006-11-20 Tania Bento <tbento@redhat.com>
1863 * javax/swing/ButtonGroup.java:
1864 (setSelected): Select the ButtonModel if all conditions
1867 2006-11-20 Tania Bento <tbento@redhat.com>
1869 * javax/swing/JSlider.java:
1870 (updateLabelUIs): Removed casting.
1872 2006-11-20 Mark Wielaard <mark@klomp.org>
1874 * gnu/java/util/regex/RE.java (messages): Don't initialize.
1875 (bundle): New static final String field.
1876 (getLocalizedMessage): Initialize messages when still null.
1877 * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed.
1878 (set): Use RE.getLocalizedMessage().
1880 (setLineSeparator): Likewise.
1882 2006-11-20 Roman Kennke <kennke@aicas.com>
1884 * javax/swing/text/html/StyleSheet.java
1885 (linked): New field.
1886 (styleSheet): Replaced by linked.
1887 (addStyleSheet): Use an arraylist for simplicity.
1888 (getRule): Removed useless instantiation.
1889 (getStyleSheets): Convert array list to array.
1890 (removeStyleSheet): Use an arraylist for simplicity.
1891 (resolveStyle): Include styles from linked lists.
1893 2006-11-20 Roman Kennke <kennke@aicas.com>
1895 * javax/swing/text/BoxView.java
1896 (BoxView): Initialize with invalid req's.
1897 (forwardUpdate): Trigger repaint when children changed the
1899 (getResizeWeight): Return resizable when the pref differs from
1900 the min or the pref differs from the max size.
1901 (layoutMajorAxis): Actually sum up the preferred sizes.
1902 (paint): Made binary search more robust.
1903 (replace): Let arrays shrink when needed.
1904 (replaceLayoutArray): Let arrays shrink when needed.
1905 (setAxis): Trigger preferenceChanged.
1906 * javax/swing/text/CompositeView.java
1907 (getInsideAllocation): Call insets method to take account
1908 of overriding subclasses.
1909 * javax/swing/text/DefaultStyledDocument.java
1910 (ElementBuffer.finishEdit): Clear the stack and edits buffer.
1911 (ElementBuffer.insertUpdate): Only remove the found element, not
1913 * javax/swing/text/GlyphView.java
1914 (insertUpdate): Pass null in preferenceChanged.
1915 (removeUpdate): Pass null in preferenceChanged.
1916 (changedUpdate): Pass null in preferenceChanged.
1917 * javax/swing/text/Utilities.java
1918 (drawTabbedText): Avoid single calls to charWidth() and instead
1919 call charsWidth() on whole chunks.
1920 * javax/swing/text/html/HTMLDocument.java
1921 (BlockElement.getName): Fall back to super when necessary.
1922 (RunElement.getName): Fall back to super when necessary.
1923 (HTMLReader.MAX_THRESHOLD): New constant field.
1924 (HTMLReader.GROW_THRESHOLD): New constant field.
1925 (HTMLReader.theshold): New field.
1926 (HTMLReader.HTMLReader): Fetch threshold from document.
1927 (HTMLReader.addContent): Sucessivly grow the threshold.
1928 (createLeafElement): Don't create two elemens and don't set
1930 * javax/swing/text/html/TableView.java
1931 (RowView.replace): Invalidate grid.
1932 (gridValid): Made package private.
1933 (layoutMinorAxis): Mark all rows as invalid.
1934 (replace): Invalidate grid.
1936 2006-11-20 Roman Kennke <kennke@aicas.com>
1938 * javax/swing/text/AbstractDocument.java
1939 (DefaultDocumentEvent.changes): Changed to be a HashMap.
1940 (DefaultDocumentEvent.modified): Made private.
1941 (DefaultDocumentEvent.THRESHOLD): New constant field.
1942 (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize
1944 (DefaultDocumentEvent.addEdit): Switch to hashmap only when
1945 exceeding threshold.
1946 (DefaultDocumentEvent.getChange): Use iterative approach
1947 when we have no hashmap yet.
1948 (documentCV): Removed.
1949 (numWriters): Renamed from numWritersWaiting.
1950 (createPosition): Reformat.
1951 (getCurrentWriter): Synchronized.
1952 (readLock): Implement more straightforward.
1953 (readUnlock): Implement more straightforward.
1954 (writeLock): Implement more straightforward.
1955 (writeUnlock): Implement more straightforward.
1956 (remove): Write-lock here.
1957 (removeImpl): Don't write-lock here.
1959 2006-11-20 Roman Kennke <kennke@aicas.com>
1961 * javax/swing/JEditorPane.java
1962 (setPage): Set priority on loading thread.
1964 2006-11-20 Roman Kennke <kennke@aicas.com>
1966 * javax/swing/plaf/basic/BasicTextUI.java
1967 (RootView.paint): Avoid allocation.
1968 (cachedInsets): New field. Caches an Insets instance.
1969 (getNextVisualPositionFrom): Read-lock the document to avoid
1970 thread nastiness. Push allocation.
1971 (getPreferredSize): Push fake allocation when not yet laid out.
1972 (getVisibleEditorRect): Use cached insets.
1973 (viewToModel): Read-lock the document to avoid
1974 thread nastiness. Push allocation.
1976 2006-11-20 Roman Kennke <kennke@aicas.com>
1978 * javax/swing/text/StyleContext.java
1979 (attributeSetPool): Synchronize this map.
1980 (addAttribute): Synchronize this method.
1981 (addAttributes: Synchronize this method.
1982 (readObject): Install synchronized map on target object.
1983 (removeAttribute): Synchronize this method.
1984 (removeAttributes): Synchronize this method.
1985 (removeAttributes): Synchronize this method.
1987 2006-11-20 Roman Kennke <kennke@aicas.com>
1989 * javax/swing/text/GapContent.java
1990 (GapContentPosition.GapContentPosition): Removed constructor.
1991 (Mark): Made subclass of WeakReference to refer directly to
1992 the associated position.
1993 (Mark.refCount): Removed.
1994 (Mark.Mark(int,GapContentPosition,ReferenceQueue):
1995 New constructor. Used to reference a position and register the
1997 (Mark.Mark(index)): Call super and don't adjust mark offset.
1998 (Mark.compareTo): Removed.
1999 (Mark.equals): Removed.
2000 (Mark.getOffset): Return at least null. Removed assert.
2001 (Mark.getPosition): New helper method.
2002 (garbageMarks): New field.
2003 (positions): Removed.
2004 (searchMark): New field.
2005 (GapContent): Removed init of positions map.
2006 (addImpl): New helper method.
2007 (adjustPositionsInRange): Removed.
2008 (compare): New helper method.
2009 (createPosition): Rewritten for new datastructures. This now
2010 performs a much more efficient binary search for finding
2011 a position at the requested offste.
2012 (garbageCollect): Rewritten to collect unused marks.
2013 (getPositionsInRange): Adjusted for new data structures.
2014 (removeImpl): New helper method.
2015 (replace): Use new addImpl() and removeImpl() helper method for
2016 correctly adjusting the positions and gap.
2017 (search): Rewritten. Implements a more suitable binary search.
2018 (searchFirst): New helper method.
2019 (setPositionsInRange): Removed.
2020 (shiftEnd): Update the marks here.
2021 (shiftGap): Update the marks here.
2022 (shiftGapEndUp): Update the marks here.
2023 (shiftGapStartDown): Update the marks here.
2025 2006-11-20 Marco Trudel <mtrudel@gmx.ch>
2027 * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache
2028 digest algorithm implementations.
2029 (readSignatures): Parse the manifest once and reuse that data.
2030 Add support for line breaks.
2031 (verifyHashes): Use the parsed manifest entry.
2032 (readManifestEntry): Removed.
2034 2006-11-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
2036 * java/beans/beancontext/BeanContextServicesSupport.java:
2037 Added more documentation.
2038 (addService(Class,BeanContextServiceProvider,boolean)):
2039 Synchronized over global hierarchy lock.
2040 (bcsPreDeserializationHook(ObjectInputStream)): Implemented.
2041 (bcsPreSerializationHook(ObjectOutputStream)): Implemented.
2042 (childJustRemovedHook(Object,BCSChild)): Implemented.
2043 (createBCSSServiceProvider(Class,BeanContextServiceProvider)):
2045 (fireServiceRevoked(BeanContextServiceRevokedEvent)):
2046 Added revocation-only listeners.
2047 (getBeanContextServicesPeer()): Implemented.
2048 (getCurrentServiceClasses(Class)): Synchronized over global
2050 (getCurrentServiceSelectors(Class)): Synchronized over global
2051 hierarchy lock, and fixed FIXME.
2052 (getService(BeanContextChild,Object,Class,Object,
2053 BeanContextServiceRevokedListener)): Implemented.
2054 (hasService(Class)): Synchronized over global hierarchy lock.
2055 (releaseService(BeanContextChild,Object,Object)): Implemented.
2056 (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented.
2057 * java/beans/beancontext/BeanContextSupport.java:
2058 (remove(Object, boolean)): Documentation correction.
2060 2006-11-19 Roman Kennke <kennke@aicas.com>
2062 * javax/swing/JEditorPane.java
2063 (PageStream): New inner class.
2064 (PageLoader): New inner class.
2065 (loading): New field.
2066 (setPage): Implemented asynchronous loading.
2067 * javax/swing/text/DefaultStyledDocument.java
2068 (ElementBuffer.create): New helper method.
2069 (create): Use new ElementBuffer method instead of hack.
2070 * javax/swing/text/html/HTMLDocument.java
2071 (HTMLReader.flushImpl): New helper method.
2072 (HTMLReader.addContent): Use flushImpl().
2073 (HTMLReader.blockClose): Added null check.
2074 (HTMLReader.flush): Use flushImpl().
2075 * javax/swing/text/html/HTMLEditorKit.java
2076 (createDefaultDocument): Set load priority to 4 and token threshold
2078 * javax/swing/text/html/TableView.java
2079 (insertUpdate): Overridden to provide correct view factory.
2080 (removeUpdate): Overridden to provide correct view factory.
2081 (changedUpdate): Overridden to provide correct view factory.
2083 2006-11-19 Roman Kennke <kennke@aicas.com>
2085 * javax/swing/text/BoxView.java
2086 (clipRect): New field.
2087 (tmpRect): New field.
2088 (layout): Reorganized code. Now uses layoutAxis() helper method.
2089 (layoutAxis): New helper method.
2090 (paint): Optimized by using cached Rectangle objects and
2091 a binary search for child views inside the clip.
2092 * javax/swing/text/CompositeView.java
2093 (insideAllocation): Made private and initialized in constructor.
2094 (getInsideAllocation): Removed initialization block for
2095 insideAllocation field. Avoid unnecessary allocations.
2096 * javax/swing/text/GlyphView.java
2097 (DefaultGlyphPainter.paint): Only paint the actual glyphs here
2098 The remaining stuff (background, underline and striking) is
2099 done in the GlpyhView itself. Avoid unnecessary allocations.
2100 (cached): A cached Segment instance.
2101 (getText): Return cached segment.
2102 (paint): Paint underline, strike and background here. Avoid
2105 2006-11-19 Roman Kennke <kennke@aicas.com>
2107 * javax/swing/text/html/StyleSheet.java
2108 (getFontSize): Removed debug output.
2109 (ListPainter.tmpRect): New field.
2110 (ListPainter.paint): Align bullet vertically centered to
2111 the first line of the paragraph.
2113 2006-11-17 Roman Kennke <kennke@aicas.com>
2115 * gnu/javax/swing/text/html/css/CSSParser.java
2116 (parseDeclaration): Trim string before reporting.
2117 * gnu/javax/swing/text/html/css/FontSize.java
2119 (isRelative): New field.
2120 (sizeIndex): New field.
2121 (FontSize): Initialize new fields.
2122 (getValue): Changed to call getValue(int).
2123 (getValue(int)): New method. Implements relative font sizes.
2124 (isRelative): New method.
2125 (mapAbsolute): Store index.
2126 (mapEM): New helper method.
2127 (mapLarger): New helper method.
2128 (mapPercent): New helper method.
2129 (mapRelative): New helper method.
2130 (mapSmaller): New helper method.
2131 (mapValue): New helper method.
2132 * javax/swing/text/html/CSS.java
2133 (parseBackgroundShorthand): Create CSSColor directly.
2134 * javax/swing/text/html/StyleSheet.java
2135 (addRule): Invalidate resolved styles.
2136 (getFont): Call new getFontSize() method to resolve relative
2138 (getFontSize): New helper method. Resolves relative font sizes.
2139 (translateHTMLToCSS): Create CSS objects directly.
2141 2006-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
2143 * gnu/java/util/regex/RETokenNamedProperty.java:
2144 (getHandler(String)): Add support for 'all'.
2146 2006-11-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
2148 * gnu/javax/management/Server.java:
2149 Initial implementation of a GNU management server.
2150 * javax/management/MBeanPermission.java,
2151 * javax/management/MBeanRegistration.java,
2152 * javax/management/MBeanTrustPermission.java:
2155 2006-11-17 Mark Wielaard <mark@klomp.org>
2157 * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement.
2159 2006-11-17 Gary Benson <gbenson@redhat.com>
2161 * java/net/DatagramSocket.java (getLocalAddress, connect,
2162 receive): Perform security check on address not hostname.
2164 2006-11-16 Roman Kennke <kennke@aicas.com>
2166 * gnu/javax/swing/text/html/parser/support/Parser.java
2167 (_handleText): Fixed condition for consuming whitespace.
2168 Removed validator check, this is superfluous now.
2170 2006-11-16 Roman Kennke <kennke@aicas.com>
2172 * gnu/javax/swing/text/html/css/CSSParser.java
2173 (parseRuleset): Support 'combined' selectors.
2174 (main): Adapt callback for combined selectors support.
2175 * gnu/javax/swing/text/html/css/CSSParserCallback.java
2176 (startStatement): Take selector array as argument, to
2177 support combined selectors.
2178 * javax/swing/text/html/BlockView.java
2179 (calculateMinorAxisRequirements): Fetch and apply alignment.
2180 * javax/swing/text/html/StyleSheet.java
2181 (CSSStyle): Inverted the constants for correct precedence.
2182 (CSSStyleSheetParserCallback.styles): New field. Stores the current
2184 (CSSStyleSheetParserCallback.style): Removed.
2185 (CSSStyleSheetParserCallback.declaration): Update multiple styles.
2186 (CSSStyleSheetParserCallback.end): Push multiple styles.
2187 (CSSStyleSheetParserCallback.start): Initialize multiple styles.
2189 2006-11-16 Roman Kennke <kennke@aicas.com>
2191 * javax/swing/text/FlowView.java
2192 (LogicalView.getPreferredSpan): Calculate maximum correctly.
2193 * javax/swing/text/GlyphView.java
2194 (tabExpander): New field.
2196 (breakView): Set tabX on broken view.
2197 (getPartialSpan): Let the painter fetch the span.
2198 (getTabbedSpan): Update the tab expander field. Maybe trigger
2200 (getTabExpander): Simply return the stored expander.
2201 * javax/swing/text/Utilities.java
2202 (getTabbedTextOffset): Made algoritm a little smarter and more
2204 (getTabbedTextWidth): Don't add single char widths, instead add
2205 chunks of characters.
2206 * javax/swing/text/html/ParagraphView.java
2207 (calculateMinorAxisRequirements): Adjust margin only when the
2208 CSS span is not fixed.
2210 2006-11-16 David Gilbert <david.gilbert@object-refinery.com>
2212 * java/beans/beancontext/BeanContextSupport.java
2213 (getChildBeanContextMembershipListener): Implemented,
2214 (getChildPropertyChangeListener): Implemented,
2215 (getChildSerializable): Implemented,
2216 (getChildVetoableChangeListener): Implemented,
2217 (getChildVisibility): Implemented,
2218 (setDesignTime): Use same property name as Sun's implementation.
2220 2006-11-16 David Gilbert <david.gilbert@object-refinery.com>
2222 * java/beans/DesignMode.java: Reformatted and removed a FIXME,
2223 * java/beans/Statement.java
2224 (toString): Updated to match reference implementation.
2226 2006-11-15 Roman Kennke <kennke@aicas.com>
2228 * javax/swing/text/html/HTMLEditorKit.java
2229 (InsertHTMLTextAction.actionPerformed): Also try inserting
2230 the alternate tag. Adjust the selection accordingly.
2231 (InsertHTMLTextAction.adjustSelection): New helper method.
2232 Adjusts the selection after an insertion.
2233 (insertAtBoundary): Delegate to deprecated method.
2234 (insertAtBoundry): Implemented missing method.
2235 (tryInsert): New helper method.
2236 (defaultActions): Implemented to fill the array with
2237 a couple of InsertHTMLTextActions.
2239 2006-11-15 Roman Kennke <kennke@aicas.com>
2241 * javax/swing/text/html/ImageView.java
2242 (Observer): New class. Observes image loading.
2243 (haveHeight): New field.
2244 (haveWidth): New field.
2245 (height): New field.
2248 (imageIcon): New field.
2249 (loading): New field.
2250 (observer): New field.
2251 (reloadImage): New field.
2252 (reloadProperties): New field.
2253 (ImageView): Initialize observer and some flags.
2254 (getImage): Update the image state and return the image.
2255 (loadImage): New helper method. Actually starts loading.
2256 (paint): Rewritten to paint the image directly, not via Icon.
2257 (reloadImage): Rewritten. Loads the image and its properties.
2258 (renderIcon): Removed. No more necessary.
2259 (setPropertiesFromAttributes): Don't nullify image here.
2260 Added comment about missing impl.
2261 (setSize): Added comment about missing impl.
2262 (updateSize): New helper method. Updates the size attributes.
2263 (updateState): New helper method. Makes sure the image
2264 and its properties are valid.
2266 2006-11-15 Roman Kennke <kennke@aicas.com>
2268 * gnu/javax/swing/text/html/parser/support/Parser.java
2269 (_handleEndTag_remaining): Consume whitespace after a closing
2272 2006-11-15 Roman Kennke <kennke@aicas.com>
2274 * javax/swing/text/html/HTMLDocument.java
2275 (HTMLReader.ParagraphAction.end): Call super instead of blockClose()
2277 (HTMLReader.ParagraphAction.start): Call super instead of blockOpen()
2279 (HTMLReader.parseStack): Removed.
2280 (HTMLReader.blockClose): Simply call addContent() with ' '
2281 instead of doing more complicated stuff. Removed parseStack
2283 (HTMLReader.blockOpen): Removed parseStack handling.
2284 (getInsertingReader): Removed parseStack init.
2285 * gnu/javax/swing/text/html/parser/htmlValidator.java
2286 (closeTag): Return true only when the tag actually should be
2288 * gnu/javax/swing/text/html/parser/support/Parser.java
2289 (_handleEndTag): Only actually close the tag when the validator
2292 2006-11-15 Roman Kennke <kennke@aicas.com>
2294 * javax/swing/text/html/CSS.java
2295 (Attribute.BORDER_SPACING): New field for the CSS border-spacing
2297 * javax/swing/text/html/StyleSheet.java
2298 (BoxPainter.bottomPadding): New field.
2299 (BoxPainter.leftPadding): New field.
2300 (BoxPainter.rightPadding): New field.
2301 (BoxPainter.topPadding): New field.
2302 (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes
2304 (BoxPainter.getInset): Recognize and include the padding.
2305 (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING.
2306 javax/swing/text/html/TableView.java
2307 (RowView.calculateMajorAxisRequirements): Adjust req's for
2309 (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing.
2310 (cellSpacing): New field.
2311 (columnRequirements): Made package private to avoid accessor method.
2312 (calculateMinorAxisRequirements): Include cellSpacing.
2313 (calculateMajorAxisRequirements): Overridden to include cellSpacing.
2314 (layoutMajorAxis): Likewise.
2315 (layoutColumns): Respect cellSpacing.
2316 (setParent): Overridden to fetch the CSS attributes when view gets
2318 (setPropertiesFromAttributes): New method. Fetches the cell
2319 spacing from the CSS attributes.
2321 2006-11-15 Roman Kennke <kennke@aicas.com>
2323 * gnu/javax/swing/text/html/parser/support/Parser.java
2324 (_handleText): Consume whitespace directly before a closing tag.
2325 (restOfTag): Consume whitespace directly after opening.
2326 * gnu/javax/swing/text/html/parser/support/textPreProcessor.java
2327 (preprocess): Don't perform array boundary checking by
2328 catch AIOOBE, instead check the boundary in loop condition.
2329 * gnu/javax/swing/text/html/parser/support/low/Constants.java
2330 (TAG_CLOSE): New constants. Describes the token pattern for
2333 2006-11-14 Roman Kennke <kennke@aicas.com>
2335 * javax/swing/text/html/ImageView.java
2336 (getPreferredSpan): Use CSS length values.
2337 * javax/swing/text/html/TableView.java
2338 (CellView.calculateMajorAxisRequirements): Overridden to
2339 set the maximum reqs to maximum.
2340 (RowView.getMaximumSize): For the X_AXIS, set the maximum
2342 (RowView.getMinimumSpan): Overridden. For the X_AXIS, return
2343 the total column reqs.
2344 (RowView.getPreferredSpan): Overridden. For the X_AXIS, return
2345 the total column reqs.
2346 * gnu/javax/swing/text/html/css/CSSColor.java
2347 (convertValue): Catch NumberFormatExceptions for more robustness.
2348 * gnu/javax/swing/text/html/css/FontSize.java
2349 (mapPixels): Actually map px values. Catch NFE for more robustness.
2351 2006-11-14 Roman Kennke <kennke@aicas.com>
2353 * gnu/java/awt/font/autofit/AxisHints.java,
2354 * gnu/java/awt/font/autofit/Constants.java,
2355 * gnu/java/awt/font/autofit/GlyphHints.java,
2356 * nu/java/awt/font/autofit/Latin.java,
2357 * nu/java/awt/font/autofit/LatinAxis.java,
2358 * gnu/java/awt/font/autofit/LatinMetrics.java,
2359 * gnu/java/awt/font/autofit/Scaler.java,
2360 * gnu/java/awt/font/autofit/Script.java,
2361 * gnu/java/awt/font/autofit/ScriptMetrics.java,
2362 * gnu/java/awt/font/autofit/Segment.java,
2363 * gnu/java/awt/font/autofit/Width.java:
2364 New classes. This is some skeleton stuff for the FreeType-alike
2366 * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public.
2367 * gnu/java/awt/font/opentype/OpenTypeFont.java
2368 (unitsPerEm): Made field public.
2369 (getRawGlyphOutline): New method. Fetches the raw outline.
2370 * gnu/java/awt/font/opentype/Scaler.java
2371 (getRawGlyphOutline): New method. Fetches the raw outline.
2372 * gnu/java/awt/font/opentype/truetype/GlyphLoader.java
2373 (loadGlyph): New method. This is used to load raw outlines.
2374 * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java
2375 (getRawOutline): New method. Fetches the raw outline.
2376 * gnu/java/awt/font/opentype/truetype/Zone.java:
2379 2006-11-14 Roman Kennke <kennke@aicas.com>
2381 * javax/swing/RepaintManager.java
2382 (RepaintManager): Fetch the default state for the double buffering
2383 from a system property gnu.swing.doublebuffering.
2385 2006-11-14 Roman Kennke <kennke@aicas.com>
2387 * javax/swing/plaf/basic/BasicLabelUI.java
2388 (cachedInsets): New field.
2389 (getFontMetrics): New helper method. Fetches the font metrics
2390 from the component or the toolkit.
2391 (getPreferredSize): Use getFontMetrics() helper method for
2392 fetching the font metrics.
2393 (paint): Use getFontMetrics() helper method for
2394 fetching the font metrics. Only paint if icon or text
2395 are != null. Use cached insets.
2396 (paintDisabledText): Don't store/restore color object. The
2397 JComponent painting mechanism takes care of this by calling
2399 (paintEnabledText): Don't store/restore color object. The
2400 JComponent painting mechanism takes care of this by calling
2403 2006-11-14 Roman Kennke <kennke@aicas.com>
2405 * gnu/java/awt/peer/GLightweightPeer.java
2406 (handleEvent): Try to do something reasonable and trigger painting
2407 for the lightweight component.
2408 (getFontMetrics): Fetch and return a font metrics object from
2411 2006-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
2413 * gnu/java/util/regex/RETokenNamedProperty.java:
2414 (getHandler(String)): Add support for 'all'.
2416 2006-11-13 Andreas Tobler <a.tobler@schweiz.org>
2418 * AUTHORS: Add myself.
2420 2006-11-13 Thomas Fitzsimmons <fitzsim@redhat.com>
2422 * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and
2423 Dalibor Topic. Re-order 'K' section. Remove trailing space from
2424 Roman Kennke's entry.
2426 2006-11-13 Roman Kennke <kennke@aicas.com>
2428 * java/awt/image/IndexColorModel.java
2429 (createCompatibleSampleModel): Implemented missing method.
2431 2006-11-11 Andreas Tobler <a.tobler@schweiz.org>
2433 * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data
2434 from big endian systems correctly.
2436 2006-11-11 Roman Kennke <kennke@aicas.com>
2438 * gnu/javax/swing/text/html/css/CSSColor.java
2439 (isValidColor): New helper method. Checks strings if they
2440 form a valid color value.
2441 * gnu/javax/swing/text/html/css/Length.java
2442 (Length): Catch number format exceptions.
2443 * javax/swing/text/html/CSS.java
2444 (addInternal): New method. Checks for shorthand CSS attributes
2446 (parseBackgroundShorthand): New method. Parses the background
2447 shorthand attribute.
2448 * javax/swing/text/html/HTMLDocument.java
2449 (HTMLReader.LinkAction): Made class a subclass of HiddenAction.
2450 (HTMLReader.LinkAction.start): Implemented to load the linked
2452 (HTMLReader.LinkAction.end): Removed. This is not needed.
2453 * javax/swing/text/html/StyleSheet.java
2454 (CSSStyleSheetParserCallback.declaration): Push declaration
2455 through CSS.addInternal() to parse shorthand attributes.
2456 (addCSSAttribute): Push declaration through CSS.addInternal()
2457 to parse shorthand attributes.
2458 (importStyleSheet): Implemented. This adds a stylesheet from
2460 * javax/swing/text/html/TableView.java
2461 (calculateColumnRequirements): Increase column index for
2462 non CellView children to avoid endless loop.
2463 * javax/swing/text/CompositeView.java
2464 (setParent): Comparen with numChildren not with real arraylength.
2466 2006-11-11 David Gilbert <david.gilbert@object-refinery.com>
2468 * java/beans/beancontext/BeanContextSupport.java
2469 (getChildBeanContextChild): Implemented.
2471 2006-11-10 Roman Kennke <kennke@aicas.com>
2473 * javax/swing/text/View.java
2474 (updateLayout): Only repaint when needed.
2476 2006-11-10 David Gilbert <david.gilbert@object-refinery.com>
2478 * java/util/Collections.java
2479 (sort(List)): Minor API doc addition,
2480 (sort(List, Comparator)): Likewise.
2482 2006-11-10 David Fu <fchoong@netbeans.jp>
2484 * javax/swing/text/html/HTMLWriter.java
2485 (traverse): Removed Classpath specific handling of implied
2487 (traverseHtmlFragment): Removed Classpath specific handling of
2490 2006-11-10 Roman Kennke <kennke@aicas.com>
2492 * javax/swing/text/ParagraphView.java
2493 (Row.getMaximumSize): Removed. This method is not necessary.
2494 * javax/swing/text/html/TableView.java
2495 (CellView): Moved attribute init to setPropertiesFromAttributes().
2496 (setPropertiesFromAttributes): Fetch attributes here.
2497 (RowView.RowView): Documented.
2498 (RowView.getMaximumSpan): Overridden to restrict the max span
2500 (RowView.layoutMajorAxis): Correctly layout the spans.
2501 (columnWidths): New field. Stores the width attributes of
2503 (calculateColumnRequirements): Added support for relative
2504 (== percent) width attributes.
2505 (calculateMajorAxisRequirements): Removed.
2506 (calculateMinorAxisRequirements): Removed unnecessary code.
2507 (getMaximumSpan): Overridden to restrict the table's width.
2508 (layoutColumns): Documented. Implement more clever table layout,
2509 i.e. for relative columns etc.
2510 (layoutMinorAxis): Don't mark rows invalid.
2511 (updateGrid): Added docs. Initialize column widths.
2513 2006-11-09 Roman Kennke <kennke@aicas.com>
2515 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment,
2516 * gnu/java/awt/peer/headless/HeadlessToolkit: New classes.
2517 Implement basic headless toolkit.
2518 * java/awt/Toolkit.java
2519 (getDefaultToolkit): Check headless property and create
2520 headless toolkit when true.
2522 2006-11-09 Ingo Proetel <proetel@aicas.com>
2523 2006-11-09 Roman Kennke <kennke@aicas.com>
2525 * gnu/java/awt/peer/swing/SwingButtonPeer.java
2526 (SwingButton.button): New field.
2527 (SwingButton.SwingButton): Added constructor.
2528 (SwingButton.isShowing): Access button field instead of
2529 the surrounding class.
2530 (SwingButton.getParent): Access button field instead of
2531 the surrounding class.
2532 (SwingButtonPeer): Call new SwingButton constructor.
2533 * gnu/java/awt/peer/swing/SwingComponent.java:
2534 Several documentation updates.
2535 * gnu/java/awt/peer/swing/SwingComponentPeer.java
2536 (currentPaintEvents): New field.
2537 (peerFont): New field.
2538 (SwingComponentPeer): Initialize currentPaintEvents fields.
2539 (coalescePaintEvents): Implemented.
2540 (dispose): Unregister peer from heavyweight list of its container.
2541 (getGraphics): Fetch graphics from parent component.
2542 (handleEvent): Discard paint event if its coalesced.
2543 (init): Register component with its container for proper painting.
2544 (paint): Call peerPaint().
2545 (peerPaint): Added argument that indicates if we should update.
2546 Call paint or update on the actual AWT component.
2547 (peerPaintComponent): New method. Paints the peer (Swing) component.
2548 (setFont): Set peerFont field.
2549 * gnu/java/awt/peer/swing/SwingContainerPeer.java
2550 (backbuffer): New field.
2551 (focusOwner): New field.
2552 (heavyweightDescendents): New field.
2553 (SwingContainerPeer): Take Container as argument. Don't call init
2555 (addHeavyweightDescendent): New method.
2556 (getFocusOwner): New helper method.
2557 (getInsets): Delegate to insets().
2558 (handleKeyEvent): Dispatch event to focus owner.
2559 (handleMouseEvent): Dispatch to child component.
2560 (isDoubleBuffering): New helper method.
2561 (peerPaint): Overridden to implement container painting with
2563 (peerPaintChildren): New method. Paints the descendents of this
2565 (removeHeavyweightDescendent): New helper method.
2566 * gnu/java/awt/peer/swing/SwingFramePeer.java
2567 (peerPaint): Removed.
2568 (peerPaintComponent): Overridden to paint the menu bar.
2569 * gnu/java/awt/peer/swing/SwingLabelPeer.java
2570 (SwingLabel.label): New field.
2571 (SwingLabel.SwingLabel): Added constructor with Label argument.
2572 (SwingLabel.getGraphics): Implemented to fetch the graphics from
2573 the actual AWT component.
2574 (SwingLabel.getParent): Implemented to fetch the parent from
2576 (SwingLabel.isShowing): Access the label field.
2577 (SwingLabelPeer): Set alignment from label.
2578 * gnu/java/awt/peer/swing/SwingListPeer.java: New class.
2579 * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation
2581 * gnu/java/awt/peer/swing/SwingPanelPeer.java:
2582 Don't be a lighweight peer.
2583 (SwingPanelPeer): Call init.
2584 * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class.
2585 * gnu/java/awt/peer/swing/SwingTextFieldPeer.java
2586 (SwingTextField.textField): New field.
2587 (SwingTextField.SwingTextField): New constructor.
2588 (SwingTextField.isShowing): Access field not enclosing class.
2589 (SwingTextField.getGraphics): New method.
2590 (SwingTextField.getParent): New method.
2591 (SwingTextFieldPeer): Call new constructor.
2592 (select): Renamed arguments.
2593 * gnu/java/awt/peer/swing/SwingWindowPeer.java
2594 (SwingWindowPeer): Call init.
2596 2006-11-09 Tania Bento <tbento@redhat.com>
2598 * javax/swing/JLabel.java
2599 (JLabel(Icon)): Changed documentation; Changed text to null.
2600 (JLabel(Icon,int)): Likewise.
2601 (JLabel(text)): Changed documenation.
2602 (JLabel(text,int)): Likewise.
2603 (JLabel(text,Icon,int)): Changed documentation; Throw
2604 IllegalArgumentException if int is not one of LEFT, RIGHT,
2605 CENTER, LEADING or TRAILING.
2607 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2609 * java/beans/beancontext/BeanContextSupport.java
2610 (BeanContextSupport): Use correct dtime default,
2611 (BeanContextSupport(BeanContext)): Likewise,
2612 (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed
2614 (BeanContextSupport(BeanContext, Locale, boolean)): Likewise,
2615 (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise.
2617 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2619 * java/beans/beancontext/BeanContextSupport.java
2620 (getBeanContextPeer): Implemented.
2622 2006-11-09 Roman Kennke <kennke@aicas.com>
2624 * javax/swing/text/html/BlockView.java
2625 (cssHeight): Removed.
2626 (cssWidth): Removed.
2627 (cssSpans): New field. Replaces the two fields above.
2628 (BlockView): Allocate cssSpans array.
2629 (layoutMinorAxis): Fetch and use child span, not this view's span.
2630 (setCSSSpan): Adjusted to use cssSpans array.
2631 (setPropertiesFromAttributes): Adjusted to use cssSpans array.
2633 2006-11-09 Roman Kennke <kennke@aicas.com>
2635 * javax/swing/text/html/InlineView.java
2636 (nowrap): New field.
2637 (getBreakWeight): Add support for nowrap.
2638 (setPropertiesFromAttributes): Fetch the nowrap setting.
2640 2006-11-09 Roman Kennke <kennke@aicas.com>
2642 * gnu/javax/swing/text/html/css/CSSParser.java
2643 (parseRuleset): Use new Selector class.
2644 (parseValue): Parse multiple anys, not only one.
2645 (main): Allow stylesheet be specified on the command line.
2646 Use new Selector class.
2647 * gnu/javax/swing/text/html/css/CSSParserCallback.java
2648 (startStatement): Use Selector class.
2649 * gnu/javax/swing/text/html/css/CSSScanner.java
2650 (readName): Actually read a character in the loop to avoid
2652 * gnu/javax/swing/text/html/css/Length.java
2653 (getValue): Only multiply when we have a percentage value.
2654 * gnu/javax/swing/text/html/css/Selector.java:
2655 New class. Provides handling of CSS selectors.
2656 * javax/swing/text/html/StyleSheet.java
2657 (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field.
2658 (CSSStyle.PREC_AUTHOR_NORMAL): New constant field.
2659 (CSSStyle.PREC_NORM): New constant field.
2660 (CSSStyle.PREC_UA): New constant field.
2661 (CSSStyle.PREC_USER_IMPORTANT): New constant field.
2662 (CSSStyle.precedence): New field.
2663 (CSSStyle.priority): Removed.
2664 (CSSStyle.selector): New field.
2665 (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector
2667 (CSSStyle.compareTo): Adjusted to use the precedence and
2668 specificity of the selector.
2669 (CSSStyleSheetParserCallback.precedence): New field.
2670 (CSSStyleSheetParserCallback.selector): Removed.
2671 (CSSStyleSheetParserCallback.style): New field.
2672 (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback):
2673 Initialize with precedence.
2674 (CSSStyleSheetParserCallback.declaration): Don't look up
2675 existing rule, simply create new one.
2676 (CSSStyleSheetParserCallback.endStatement): Append style
2678 (CSSStyleSheetParserCallback.startStatement): Use new Selector
2680 (css): Changed to be ArrayList.
2681 (addRule): Create parser with author-normal precendence.
2682 (getRule): Fixed implementation.
2683 (loadRules): Create parser with UA precendence.
2684 (resolveStyle): Use Selector class for resolving and matching
2686 (translateHTMLToCSS): Added mappings for a couple of HTML
2689 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2692 * java/beans/SimpleBeanInfo.java
2693 (loadImage): Check for nulls.
2695 2006-11-09 Robert Schuster <robertschuster@fsfe.org>
2697 * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2698 (getpeername): Added 16 byte offset to memcpy operation.
2700 2006-11-09 Robert Schuster <robertschuster@fsfe.org>
2702 * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2703 (getsockname): Added 16 byte offset to memcpy operation.
2705 2006-11-08 Mark Wielaard <mark@klomp.org>
2708 * java/io/OutputStreamWriter.java
2709 (OutputStreamWriter(OutputStream,Charset)): Set encodingName.
2710 (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
2712 2006-11-08 Roman Kennke <kennke@aicas.com>
2714 * javax/swing/text/html/HTMLEditorKit.java
2715 (getParser): Use plain HTML_401F DTD.
2716 * javax/swing/text/html/HTMLDocument.java
2717 (HTMLReader.print): Removed method and all calls to it.
2718 (HTMLReader.printBuffer): Removed method and all calls to it.
2719 (HTMLReader.inImpliedParagraph): New field.
2720 (HTMLReader.inParagraph): New field.
2721 (HTMLReader.addContent): Create implied p-tag if necessary.
2722 (HTMLReader.addSpecialElement): Create implied p-tag if necessary.
2723 (HTMLReader.blockClose): Close implied p-tag if necessary.
2724 (HTMLReader.blockOpen): Close implied p-tag if necessary.
2725 * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed.
2727 2006-11-08 Roman Kennke <kennke@aicas.com>
2729 * javax/swing/text/html/HTMLEditorKit.java
2730 (HTMLFactory.create): Removed mapping for TD tag. This
2731 is done in TableView.
2732 * javax/swing/text/html/TableView.java:
2733 Implemented from scratch.
2735 2006-11-07 Roman Kennke <kennke@aicas.com>
2737 * gnu/javax/swing/text/html/parser/support/Parser.java
2738 (_handleText): Check if text content is actually allowed before
2739 passing empty text fragments on to the parser callbacks.
2741 2006-11-07 Mark Wielaard <mark@klomp.org>
2743 * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar
2747 2006-11-07 Tania Bento <tbento@redhat.com>
2749 * java/awt/FlowLayout.java
2750 (getSize): If parent does not have a component, then a
2751 different formula is used to calcuate the width.
2753 2006-11-07 Roman Kennke <kennke@aicas.com>
2755 * javax/swing/text/html/HTMLEditorKit.java
2756 (HTMLFactory.create): Include ListView.
2757 * javax/swing/text/html/ListView.java
2758 (paint): Removed comment.
2759 * javax/swing/text/html/StyleSheet.java
2760 (CSSStyle.priority): New field.
2761 (CSSStyle.CSSStyle(int)): New constructor with priority.
2762 (CSSStyle.compareTo): New method. Used for sorting the styles.
2763 (CSSStyleSheetParserCallback.declaration): Store the style
2764 with the complete selector.
2765 (ListPainter.attributes): Renamed as field.
2766 (ListPainter.styleSheet): New field.
2767 (ListPainter.type): New field.
2768 (ListPainter.ListPainter): Pass StyleSheet to constructor.
2769 (ListPainter.paint): Provide simplistic implementation.
2770 (getListPainter): Pass StyleSheet to constructor.
2771 (resolveStyle): Fixed CSS style resolving.
2773 2006-11-07 Roman Kennke <kennke@aicas.com>
2775 * gnu/javax/swing/text/html/css/BorderWidth.java:
2776 New class. Handles CSS border width values.
2777 * gnu/javax/swing/text/html/css/Length.java
2778 (floatValue): Made protected so that BorderWidth can access it.
2779 * javax/swing/text/html/CSS.java
2780 (Attribute.BORDER_BOTTOM_COLOR): New static field.
2781 (Attribute.BORDER_BOTTOM_STYLE): New static field.
2782 (Attribute.BORDER_LEFT_COLOR): New static field.
2783 (Attribute.BORDER_LEFT_STYLE): New static field.
2784 (Attribute.BORDER_RIGHT_COLOR): New static field.
2785 (Attribute.BORDER_RIGHT_STYLE): New static field.
2786 (Attribute.BORDER_TOP_COLOR): New static field.
2787 (Attribute.BORDER_TOP_STYLE): New static field.
2788 (getValue): Added some mappings for the border color and
2789 border width values.
2790 * javax/swing/text/html/CSSBorder.java: New class. Implements
2792 * javax/swing/text/html/StyleSheet.java
2793 (BoxPainter.background): New field.
2794 (BoxPainter.border): New field.
2795 (BoxPainter.bottomInset): Documented.
2796 (BoxPainter.leftInset): Documented.
2797 (BoxPainter.rightInset): Documented.
2798 (BoxPainter.topInset): Documented.
2799 (BoxPainter.BoxPainter): Added support for borders and background.
2800 (BoxPainter.getInset): Add border insets.
2801 (BoxPainter.paint): Implemented. Paints the background and the
2803 (addRule): Be less picky about parse and IO exceptions.
2804 (getBoxPainter): Adjust to new BoxPainter constructor.
2806 2006-11-07 Andreas <a.tobler@schweiz.org>
2808 * examples/Makefile.am: Add rule to install the *.html files we use
2811 2006-11-06 Francis Kung <fkung@redhat.com>
2813 * gnu/java/awt/peer/gtk/ComponentGraphics.java
2814 (fillRect): Handle custom composites.
2815 (drawRenderedImage): Handle custom composites.
2816 (drawImage): Handle custom composites.
2817 (createBuffer): New method.
2818 (drawLine): Handle custom composites.
2819 (drawComposite): New method.
2820 (fill): Handle custom composites.
2821 (getNativeCM): New method.
2822 (drawGlyphVector): Handle custom composites.
2823 (drawRect): Handle custom composites.
2824 (draw): Handle custom composites.
2825 * gnu/java/awt/peer/gtk/VolatileImageGraphics.java
2826 (drawComposite): Unset composite during draw call, to prevent parent
2827 from handling composite again.
2828 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
2829 (getBufferCM): Added comments.
2830 (getNativeCM): Made abstract.
2831 (setComposite): Removed comments.
2833 2006-11-06 Roman Kennke <kennke@aicas.com>
2835 * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2836 Fixed initial window size and start document.
2838 2006-11-06 Roman Kennke <kennke@aicas.com>
2840 * javax/swing/text/html/HTMLDocument.java
2841 (HTMLReader.addSpecialElement): Removed comment about
2843 (HTMLReader.handleComment): Create SimpleAttributeSet instead
2844 of htmlAttributeSet.
2845 * javax/swing/text/html/parser/DocumentParser.java
2846 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2847 of htmlAttributeSet.
2848 * javax/swing/text/html/parser/ParserDelegator.java
2849 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2850 of htmlAttributeSet.
2851 * gnu/javax/swing/text/html/parser/GnuParserDelegator.java
2852 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2853 of htmlAttributeSet.
2854 * gnu/javax/swing/text/html/parser/support/Parser.java
2855 (getAttributes): Return a SimpleAttributeSet.
2856 (restOfTag): Don't set resolving parent here.
2858 2006-11-06 Tania Bento <tbento@redhat.com>
2860 * java/awt/TextComponent.java
2861 (setSelectionStart): Added check.
2863 2006-11-06 Tania Bento <tbento@redhat.com>
2865 * java/awt/TextField.java
2866 (minimumSize(int)): Check if minimum size has been previously
2867 set and changed values of Dimension returned if peer == null.
2868 (preferredSize(int)): Check if preferred size has been previously
2869 set and changed values of Dimension returned if peer == null.
2871 2006-11-06 Roman Kennke <kennke@aicas.com>
2873 * javax/swing/JTree.java
2874 (TreeModelHandler.treeNodesRemoved): Implemented.
2875 (TreeModelHandler.treeStructureChanged): Implemented.
2876 (nodeStates): Made package private.
2878 2006-11-06 Francis Kung <fkung@redhat.com>
2881 * javax/swing/JTree.java
2882 (clearSelectionPathStates): New private method to clean up nodeStates.
2883 (removeSelectionPath): Call clearSelectionPathStates().
2884 (removeSelectionPaths): Call clearSelectionPathStates().
2885 (removeSelectionRow): Call clearSelectionPathStates().
2886 (setSelectionPath): Call clearSelectionPathStates().
2887 (setSelectionPaths): Call clearSelectionPathStates().
2888 (setSelectionRow): Call clearSelectionPathStates().
2890 2006-11-06 Ito Kazumitsu <kaz@maczuka.gcd.org>
2893 * java/util/regex/Matcher.java(reset): Reset inputCharIndexed.
2895 2006-11-06 Roman Kennke <kennke@aicas.com>
2897 * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2898 Changed to implement a minimalistic browser.
2899 * examples/gnu/classpath/examples/swing/forms.html,
2900 * examples/gnu/classpath/examples/swing/textstyles.html,
2901 * examples/gnu/classpath/examples/swing/welcome.html:
2902 Some example content.
2904 2006-11-06 Roman Kennke <kennke@aicas.com>
2906 * javax/swing/text/ComponentView.java
2907 (setParent): Lock the document and repaint the hosting
2909 * javax/swing/text/FlowView.java
2910 (FlowStrategy.createView): Removed comment.
2911 (FlowView): Initialize span with Short.MAX_VALUE.
2912 (getFlowStart): Return 0 unconditionally.
2913 (layout): Moved code around to make it more readable.
2914 (loadChildren): Always set the parent.
2915 * javax/swing/text/GlyphView.java
2916 (DefaultGlyphPainter.fontMetrics): New field.
2917 (DefaultGlyphPainter.getAscent): Use new helper method to
2918 synchronize the font metrics.
2919 (DefaultGlyphPainter.getBoundedPosition): Use new helper method
2920 to synchronize the font metrics.
2921 (DefaultGlyphPainter.getDescent): Use new helper method to
2922 synchronize the font metrics.
2923 (DefaultGlyphPainter.getHeight): Use new helper method to
2924 synchronize the font metrics.
2925 (DefaultGlyphPainter.getSpan): Use new helper method to
2926 synchronize the font metrics.
2927 (DefaultGlyphPainter.modelToView): Use new helper method to
2928 synchronize the font metrics.
2929 (DefaultGlyphPainter.updateFontMetrics): New helper method for
2930 font metrics caching.
2931 (DefaultGlyphPainter.viewToModel): Use new helper method to
2932 synchronize the font metrics. Fixed view to model mapping.
2933 * javax/swing/text/View.java
2934 (removeAll): Pass null to replace().
2935 (setParent): Only reparent children that have this view as parent.
2937 2006-11-05 Mark Wielaard <mark@klomp.org>
2939 * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed.
2940 * include/gnu_java_nio_channels_FileChannelImpl.h: Removed.
2941 * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c:
2943 * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
2945 * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES):
2946 Remove gnu_java_nio_channels_FileChannelImpl.c.
2948 2006-11-03 Roman Kennke <kennke@aicas.com>
2950 * javax/swing/text/html/BlockView.java
2951 (attributes): New field.
2952 (cssHeight): New field.
2953 (cssWidth): New field.
2954 (painter): New field.
2955 (calculateMajorAxisRequirements): Overridden to account for
2957 (calculateMinorAxisRequirements): Overridden to account for
2959 (layoutMinorAxis): Overridden to account for CSS settings.
2960 (changedUpdate): Formatting fixlet.
2961 (constrainSize): New helper method.
2962 (getAlignment): Fix alignment.
2963 (getAttributes): Cache attributes for better performance.
2964 (getStyleSheet): Fetch stylesheet from document rather than creating
2966 (paint): Remove comment.
2967 (setCSSSpan): New helper method.
2968 (setPropertiesFromAttributes): Implemented to fetch the
2969 recognized properties.
2970 * javax/swing/text/html/CSS.java
2971 (getValue): Added mapping for width and height attributes.
2972 * javax/swing/text/html/InlineView.java
2973 (longestWord): New field.
2974 (getLongestWord): New helper method.
2975 (calculateLongestWord): New helper method.
2976 (getMinimumSpan): Overridden to constrain the minimum span by the
2978 * javax/swing/text/html/ParagraphView.java
2979 (cssHeight): New field.
2980 (cssWidth): New field.
2981 (calculateMinorAxisRequirements): Overridden to account for
2983 (setCSSSpan): New helper method.
2984 (setPropertiesFromAttributes): Fetch CSS width and height. Added
2986 * gnu/javax/swing/text/html/css/Length.java
2987 (percentage): New field.
2988 (Length): Determine percentage values.
2989 (getValue(float)): New method for handling percentage values.
2990 (isPercentage): New method.
2992 2006-11-03 Tania Bento <tbento@redhat.com>
2994 * java/awt/TextArea.java
2995 (getMinimumSize): Changed documentation.
2996 (getPreferredSize): Changed documentation.
2997 (getMinimumSize(int,int)): Changed documenation.
2998 (getPreferredSize(int,int)): Changed documenation.
2999 (minimumSize): Changed documentation.
3000 (preferredSize): Changed documenation.
3001 (minimumSize(int,int)): Changed documentation. Checked if
3002 minimum size had been previously set and changed values of
3003 Dimension returned if peer == null.
3004 (preferredSize(int, int)): Checked if preferred size had been
3005 previously set and changed values of Dimension returned if
3008 2006-11-03 Tania Bento <tbento@redhat.com>
3010 * java/awt/event/ComponentEvent.java
3011 (paramString): Changed format of string representation returned.
3013 2006-11-03 Roman Kennke <kennke@aicas.com>
3015 * javax/swing/text/html/HTMLDocument.java
3016 (HTMLReader.FormAction.start): Added support for textarea.
3017 (HTMLReader.FormAction.end): Added support for textarea.
3018 (HTMLReader.HeadAction.end): Call super to actually close the
3020 (HTMLReader.inTextArea): New field.
3021 (HTMLReader.textAreaDocument): New field.
3022 (HTMLReader.handleText): Call textAreaContent when inside
3024 (HTMLReader.textAreaContent): Implemented to initialize
3025 the text area's model.
3026 * javax/swing/text/html/FormView.java
3027 (createComponent): Added support for textarea tag.
3029 2006-11-03 Roman Kennke <kennke@aicas.com>
3031 * javax/swing/text/html/HTMLDocument.java
3032 (HTMLReader.IsindexAction.start): Implemented.
3034 2006-11-03 Roman Kennke <kennke@aicas.com>
3036 * javax/swing/text/html/StyleSheet.java
3037 (addRule): Implemented.
3038 * javax/swing/text/html/HTMLDocument.java
3039 (HTMLReader.inStyleTag): New field.
3040 (HTMLReader.styles): New field.
3041 (HTMLReader.HeadAction.end): Implemented to read all stylesheets,
3043 (HTMLReader.StyleAction.start): Set inStyleTag flag.
3044 (HTMLReader.StyleAction.end): Set inStyleTag flag.
3045 (HTMLReader.handleText): When inside a style tag, add
3046 content to the styles array.
3048 2006-11-02 Roman Kennke <kennke@aicas.com>
3050 * javax/swing/text/html/FormView.java
3051 (maxIsPreferred): New field.
3052 (createComponent): Initialize components correctly.
3053 (getMaximumSpan): Return the preferred span for components
3054 that need this. The maxIsPreferred flag is set accordingly
3056 * javax/swing/text/html/HTMLDocument.java
3057 (HTMLReader.FormAction.start): Implemented to set the
3058 correct model as attribute.
3059 (HTMLReader.FormAction.setModel): New helper method.
3060 (HTMLReader.FormAction.end): Call super to finish the element.
3061 Added TODO about things left to do.
3062 (HTMLReader.handleComment): Use SimpleAttributeSet rather
3063 than htmlAttributeSet.
3064 * javax/swing/text/html/HTMLEditorKit.java
3065 (HTMLFactory.create): Create BlockView for FORM tags.
3066 Create FormView for INPUT, TEXTAREA and SELECT tags.
3068 2006-11-02 David Gilbert <david.gilbert@object-refinery.com>
3070 * java/awt/geom/GeneralPath.java: API doc fixes.
3072 2006-11-02 Roman Kennke <kennke@aicas.com>
3074 * javax/swing/text/html/ImageView.java
3075 (getImageURL): Fetch attribute from element. Consider the
3076 base URL for relative image locations.
3078 2006-11-02 Roman Kennke <kennke@aicas.com>
3080 * javax/swing/JEditorPane.java
3081 (setContentType): Strip off attributes.
3082 * javax/swing/text/html/HTMLEditorKit.java
3083 (LinkController.activateLink(int,JEditorPane,int,int): New
3084 method. Implements activation of a hyperlink.
3085 (LinkController.activateLinke(int,JEditorPane)): Delegate
3086 to the other activateLink() method.
3087 (LinkController.createHyperlinkEvent): New helper method.
3088 (LinkController.mouseClicked): Implemented to activate the link.
3089 (LinkController.mouseDragged): Added comment that this
3090 method does nothing.
3091 (LinkController.mouseMoved): Update cursor for hyperlinks.
3092 (mouseHandler): Renamed field to linkController.
3093 (HTMLEditorKit): Create a link controller.
3094 (clone): Give the clone a new link controller.
3095 (deinstall): De-install link controller as mouseMotionListener too.
3096 (install): Install link controller as mouseMotionListener too.
3098 2006-11-02 Roman Kennke <kennke@aicas.com>
3101 * javax/swing/text/FlowView.java
3102 (FlowStrategy.changedUpdate): Reversed condition. This caused
3103 wrong layout and bad performance.
3104 (FlowStrategy.insertUpdate): Reversed condition. This caused
3105 wrong layout and bad performance.
3106 (FlowStrategy.removeUpdate): Reversed condition. This caused
3107 wrong layout and bad performance.
3108 (LogicalView): Changed to be a subclass of CompositeView.
3109 (LogicalView()): Only take one Element argument.
3110 (LogicalView.childAllocation): New method for implementing
3111 the abstract CompositeView method.
3112 (LogicalView.forwardUpdateToView): Overridden for correct
3114 (getMinimumSpan): Overridden to handle line breaking correctly.
3115 (getPreferredSpan): Implemented to handle line breaking correctly.
3116 (getViewAtPoint): New method for implementing
3117 the abstract CompositeView method.
3118 (getViewIndexAtPosition): Overridden to handle leaf elements
3120 (isAfter): New method for implementing
3121 the abstract CompositeView method.
3122 (isBefore): New method for implementing
3123 the abstract CompositeView method.
3124 (loadChildren): Overridden to handle leaf elements
3126 (paint): New method for implementing
3127 the abstract CompositeView method.
3128 (calculateMinorAxisRequirements): Use preferredSpan in calculation.
3129 (loadChildren): Initialize flow layout by sending a synthetic
3130 insertUpdate() to the layout strategy.
3131 * javax/swing/text/GlyphView.java
3132 (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's
3133 font metrics if component is not available. Add initial offset
3135 (breakView): Be more clever when breaking the view.
3136 (getBreakLocation): New helper method to determine a good
3138 (getBreakWeight): Be more clever when breaking the view.
3139 (getTabbedSpan): Make sure we have a painter. Use view's
3140 start and end offset rather than the element's.
3141 * javax/swing/text/Utilities.java
3142 (drawTabbedText): Avoid useless add and sub with the y offset.
3144 2006-11-02 Roman Kennke <kennke@aicas.com>
3147 * gnu/java/awt/peer/ClasspathFontPeer.java
3148 (getStringBounds): Removed abstract method. This is replaced
3149 in java.awt.Font to use a TextLayout.
3150 * gnu/java/awt/peer/gtk/GtkWindowPeer.java
3151 (GtkWindowPeer): Set a font on the window object.
3152 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
3153 (FreetypeGlyphVector(Font,String,FontRenderContext,int)):
3154 Changed to take char,int,int instead of String. Filter
3156 (FreetypeGlyphVector(Font,String,FontRenderContext)):
3157 Create char array out of string.
3158 (getLogicalBounds): Don't translate bounds. They already are
3160 * gnu/java/awt/peer/gtk/GdkFontMetrics.java
3161 (stringWidth): Filter out control characters.
3162 * gnu/java/awt/peer/gtk/GdkFontPeer.java
3163 (getStringBounds): Removed unneeded method.
3164 (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector
3166 * gnu/java/awt/peer/qt/QtFontPeer.java
3167 (getStringBounds): Removed unneeded method.
3168 * gnu/java/awt/peer/x/XFontPeer.java
3169 (getStringBounds): Removed unneeded method.
3170 * gnu/java/awt/peer/x/XFontPeer2.java
3171 (getStringBounds): Removed unneeded method.
3172 * java/awt/Font.java
3173 (getStringBounds(char[],int,int,FontRenderContext)):
3174 Use TextLayout to determine the bounds.
3175 (getStringBounds(CharacterIterator,int,int,FontRenderContext)):
3176 Delegate to the char[] version of this method.
3177 (getStringBounds(String,FontRenderContext)):
3178 Delegate to the char[] version of this method.
3179 (getStringBounds(String,int,int,FontRenderContext)):
3180 Delegate to the String version of this method.
3182 2006-11-01 Tania Bento <tbento@redhat.com>
3184 * java/awt/ScrollPaneAdjustable.java
3185 (paramString): Changed format of string representation returned.
3186 (paramStringHelper): New private method.
3188 2006-11-01 Tania Bento <tbento@redhat.com>
3190 * java/awt/GridBagLayout.java
3191 (toString): Implemented method.
3193 2006-10-30 Thomas Fitzsimmons <fitzsim@redhat.com>
3195 * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading
3196 initialization to NP_Initialize.
3197 (NP_Initialize): Initialize GLib threading.
3199 2006-10-31 Tania Bento <tbento@redhat.com>
3201 * javax/swing/JTextField.java
3202 (fireActionPerformed): When creating the new event, if
3203 actionCommand == null, then getText() is used.
3205 2006-10-31 Francis Kung <fkung@redhat.com>
3207 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
3208 (fillArc): Corrected arc type to Arc2D.PIE.
3210 2006-10-31 Roman Kennke <kennke@aicas.com>
3212 * javax/swing/text/html/HTMLDocument.java
3213 (HTMLReader.PreAction.end): Implemented.
3214 (HTMLReader.PreAction.start): Implemented.
3215 (HTMLReader.inPreTag): New field.
3216 (HTMLReader.handleTag): When inside a pre tag, call preContent().
3217 (HTMLReader.preContent): Implemented.
3219 2006-10-31 Tania Bento <tbento@redhat.com>
3221 * javax/swing/JTextField.java
3222 (fireActionPerformed): When creating the new event,
3223 actionCommand should be used as the command, not
3226 2006-10-31 Roman Kennke <kennke@aicas.com>
3228 * javax/swing/text/html/HTMLEditorKit.java
3229 (write): Use HTMLWriter or MinimalHTMLWriter for writing
3230 HTML or Styled documents.
3232 2006-10-31 David Fu <fchoong@netbeans.jp>
3234 * javax/swing/text/html/HTMLWriter.java: New class.
3236 2006-10-30 Roman Kennke <kennke@aicas.com>
3238 * java/awt/dnd/DragSourceContext.java
3239 (dragExit): Use constant fields instead of 0.
3240 (updateCurrentCursor): Completed implementation.
3242 2006-10-30 Roman Kennke <kennke@aicas.com>
3244 * java/awt/dnd/DragGestureRecognizer.java
3245 (resetRecognizer): Added API docs. Do not replace the events object
3246 but rather clear() it. Removed not implemented tag.
3248 2006-10-30 Roman Kennke <kennke@aicas.com>
3250 * java/awt/datatransfer/DataFlavor.java
3251 (writeExternal): Remove not implemented tag.
3253 2006-10-30 Roman Kennke <kennke@aicas.com>
3255 * java/awt/datatransfer/DataFlavor.java
3256 (javaFileListFlavor): Don't explicitly specify class.
3257 (plainTextFlavor): Don't explicitly specify class.
3258 (mimeType): Changed to type MimeType. Remove final.
3259 (representationClass): Remove final.
3260 (DataFlavor): Don't do anything here.
3261 (DataFlavor(Class,String,String)): Removed.
3262 (DataFlavor(Class,String)): Initialize here.
3263 (DataFlavor(String,String,ClassLoader)): Initialize in init().
3264 (DataFlavor(String,String)): Initialize in init().
3265 (DataFlavor(String)): Initialize in init().
3266 (init): New initialization method.
3267 (getMimeType): Delegate to MimeType.toString().
3268 (getParameter(String,String)): Removed. Is now done in MimeType.
3269 (getParameter(String)): Delegate to MimeType.
3270 (getPrimaryType): Delegate to MimeType.
3271 (getRepresentationClassFromMime): Removed.
3272 (getRepresentationClassFromMimeThrows): Removed.
3273 (getSubType): Delegate to MimeType.
3274 (hashCode): Take MimeType.toString() for the hashCode.
3275 (isFlavorRemoveObjectType): Return true only when representation
3276 class is remove and serializable and the mime type is remote.
3277 (isFlavorSerializedObjectType): Return true only when representation
3278 class is serializable and the mime type is serialized.
3279 (isMimeTypeEqual): Rewritten to delegate to MimeType.matches().
3280 (isMimeTypeSerializedObject): Delegate to isMimeTypeEqual().
3281 (readExternal): Implemented stub method.
3282 (writeExternal): Implemented stub method.
3283 * java/awt/datatransfer/MimeType.java: New helper class.
3285 2006-10-28 Roman Kennke <kennke@aicas.com>
3287 * javax/swing/TransferHandler.java
3288 (importData): Implemented stub method. Added API docs.
3290 2006-10-26 Christian Elias Naur <elias@oddlabs.com>
3292 * native/jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_depth): New
3294 * native/jni/classpath/classpath_jawt.h: Likewise.
3295 * native/jawt/jawt.c (_Jv_GetDrawingSurfaceInfo): Added
3296 initializer for surface_info_x11->depth.
3298 2006-10-26 Tania Bento <tbento@redhat.com>
3300 * java/awt/FileDialog.java:
3301 (setFile): Changed if-clause condition.
3303 2006-10-25 Francis Kung <fkung@redhat.com>
3305 * include/gnu_java_nio_VMChannel.h,
3306 * include/java_net_VMNetworkInterface.h,
3307 * include/gnu_java_nio_EpollSelectorImpl.h,
3308 * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h,
3309 * include/gnu_java_nio_FileChannelImpl.h,
3310 * include/gnu_java_nio_KqueueSelectorImpl.h,
3311 * include/gnu_java_nio_VMPipe.h,
3312 * include/gnu_java_net_VMPlainSocketImpl.h: Regenerated.
3314 2006-10-25 Tania Bento <tbento@redhat.com>
3316 * java/awt/Dialog.java: Created new private variable
3318 (Dialog(Frame, String, boolean, GraphicsConfiguration)):
3319 Set cursor to default cursor.
3320 (Dialog(Dialog, STring, boolean, GraphicsConfiguration)):
3322 (generateName): New method.
3323 (getUniqueLong): New private method.
3324 * java/awt/FileDialog.java: Created new private variable
3325 next_file_dialog_number.
3326 (setFile): If file == "", set it to null.
3327 (generateName): New method.
3328 (getUniqueLong): New private method.
3330 2006-10-25 Robert Schuster <robertschuster@fsfe.org>
3332 * java/net/MulticastSocket.java:
3333 (setNetworkInterface): Rewritten.
3335 2006-10-25 Robert Schuster <robertschuster@fsfe.org>
3337 * native/jni/java-net/javanet.h: Added declaration for
3338 _javanet_create_inetaddress.
3339 * native/jni/java-net/javanet.c:
3340 (_javanet_create_inetaddress): Removed static keyword.
3342 2006-10-25 Robert Schuster <robertschuster@fsfe.org>
3344 * gnu/java/net/PlainDatagramSocketImpl.java:
3345 (connect): Use VMChannel instance for connect call.
3346 (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive.
3347 (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive.
3348 (setOption): Handle multicast options.
3349 (getOption): Handle multicast options.
3350 * gnu/java/net/PlainSocketImpl.java:
3351 (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive.
3352 (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive.
3353 (setOption): Filter unappropriate options.
3354 (getOption): Filter unappropriate options.
3355 (connect): Use given SocketAddress.
3356 (close): Reset address and port.
3358 * include/Makefile.am: Removed all occurences of
3359 gnu_java_net_VMPlainDatagramSocketImpl.h.
3360 * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed.
3361 * native/jni/java-net/Makefile.am: Removed
3362 gnu_java_net_VMPlainDatagramSocketImpl.c from sources.
3363 * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c:
3365 as SocketException, declare to throw SocketException.
3366 * native/jni/java-nio/gnu_java_nio_VMChannel.c: Added definitions
3367 for SocketException and ConnectException.
3368 (Java_gnu_java_nio_VMChannel_connect): Throw SocketException instead
3370 (Java_gnu_java_nio_VMChannel_connect6): Throw SocketException instead
3372 (Java_gnu_java_nio_VMChannel_accept): Rewritten.
3373 (JCL_thread_interrupted): New function.
3374 (initIDs): Added initialisation for isThreadInterrupted method id.
3375 * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Added
3376 CPNET_IP_TTL to java_sockopt enum.
3377 (Java_gnu_java_net_VMPlainSocketImpl_setOption): Handle CPNET_IP_TTL
3378 case, handle SO_LINGER case properly.
3379 (Java_gnu_java_net_VMPlainSocketImpl_getOption): Handle CPNET_IP_TTL
3380 case, handle SO_LINGER case properly.
3381 (Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface): New
3383 (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface): New
3385 (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6): New
3387 (Java_gnu_java_net_VMPlainSocketImpl_leave6): Fixed constant to be
3389 * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Removed.
3390 * vm/reference/gnu/java/nio/VMChannel.java:
3391 (connect(int, byte[], int, int)): Declare to throw SocketException.
3392 (connect6): Declare to throw SocketException.
3393 (connect(InetSocketAddress, int)): Catch IOException and rethrow
3394 (isThreadInterrupted): New method.
3395 * vm/reference/gnu/java/net/VMPlainSocketImpl.java: Added CP_IP_TTL
3397 (setTimeToLive): New method.
3398 (getTimeToLive): New method.
3399 (setMulticastInterface(int, InetAddress)): New method.
3400 (setMulticastInterface(int, int, Inet4Address): New method.
3401 (setMulticastInterface6(int, int, Inet6Address): New method.
3402 (setOptions): Handle SO_LINGER case.
3403 (getOptions): Add missing SO_REUSEADDR case.
3404 * java/net/Socket.java:
3405 (Socket(InetAddress, int, InetAddress, int, boolean)): Close socket
3406 when exception was thrown out of connect().
3407 (setSoLinger): Replaced instantiations with valueOf calls, replaced
3408 Boolean.FALSE with Integer.valueOf(-1).
3409 * native/jni/native-lib/cpio.h: Added cpio_closeOnExec declaration.
3410 * native/jni/native-lib/cpio.c: Added cpio_closeOnExec implementation.
3411 * NEWS: Documented VM interface changes.
3413 2006-10-25 Robert Schuster <robertschuster@fsfe.org>
3415 * java/net/Inet6Address.java:
3416 (isMulticastAddress): Fixed check.
3418 2006-10-25 Robert Schuster <robertschuster@fsfe.org>
3421 * java/net/MulticastSocket.java:
3422 (getNetworkInterface): Return a special NetworkInterface instance
3423 if the socket's multicast interface is set to any.
3425 2006-10-25 Robert Schuster <robertschuster@fsfe.org>
3428 * java/net/NetworkInterface.java:
3429 (createAnyInterface): New method.
3430 (equals): Added if-statement to handle case where netif.name is null.
3431 * vm/reference/java/net/VMNetworkInterface.java:
3432 (hashCode): Rewritten.
3433 (VMNetworkInterface): New constructor.
3435 2006-10-24 Thomas Fitzsimmons <fitzsim@redhat.com>
3437 * tools/Makefile.am: Add ASM_JAR define to each tool's CFLAGS.
3438 * tools/toolwrapper.c (main): Set bootclasspath, not classpath.
3439 Add ASM_JAR to bootclasspath.
3441 2006-10-24 Tania Bento <tbento@redhat.com>
3443 * java/awt/Scrollbar.java:
3444 (setLineIncrement): Removed unnecessary if-clause and if
3445 lineIncrement == 0, then it should be set to 1, not 0.
3446 (setPageIncrement): Removed unnecessary if-clause and if
3447 pageIncrement == 0, then it should be set to 1, not 0.
3448 (setValues): If visibleAmount <= 0, it should be set to 1, not 0.
3449 If maximum <= minimum, maximum should be set to mininum + 1. The
3450 actual value of maximum is maximum - visibleAmount, so I made
3451 this change to the appropriate if-check. Remove the two unneccessary
3454 2006-10-23 Francis Kung <fkung@redhat.com>
3456 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
3457 (cairoSetFont): New method.
3458 (copy): Set font using setFont method.
3459 (setFont): Call cairoSetFont.
3460 (setup): Set font using setFont method.
3461 * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method.
3462 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
3463 (install_font_peer): Removed.
3464 (cairoDrawGlyphVector): Removed call to install_font_peer.
3465 (cairoSetFont): New method.
3467 2006-10-23 Thomas Fitzsimmons <fitzsim@redhat.com>
3469 * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file.
3470 * gnu/java/awt/peer/gtk/GtkMainThread.java: Post
3471 NativeEventLoopRunningEvent after GTK main loop start and stop.
3472 * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning.
3473 (getNextEvent): Set dispatchThread to null.
3474 (postEventImpl): Set nativeLoopRunning.
3475 (pop): Interrupt event dispatch thread.
3476 * java/awt/Frame.java (noteFrame): Synchronize on weakFrames.
3478 2006-10-22 Christian Thalinger <twisti@complang.tuwien.ac.at>
3480 * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (config-int.h):
3482 * native/jni/java-nio/gnu_java_nio_VMChannel.c (config-int.h):
3485 2006-10-23 Marco Trudel <mtrudel@gmx.ch>
3487 * gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an unnecessary test.
3488 * javax/crypto/CipherOutputStream.java: Re-implemented.
3489 * gnu/javax/crypto/jce/cipher/CipherAdapter.java
3490 (engineUpdate(byte[], int, int)): Always keep data for unpadding in padded
3491 decryption mode and check if it is a complete block.
3492 (engineUpdate(byte[], int, int, byte[], int)): Likewise.
3493 (engineDoFinal(byte[], int, int)): In padded decryption mode, take
3494 partially processed data into account.
3496 2006-10-21 Tom Tromey <tromey@redhat.com>
3499 * java/util/AbstractCollection.java (toArray): Removed cast.
3501 2006-10-20 Tom Tromey <tromey@redhat.com>
3503 * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass):
3504 Don't use mangled class name for .h file.
3505 * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass):
3506 Don't use mangled class name for .c file.
3507 * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass):
3508 Handle classes from the default package.
3510 2006-10-20 Francis Kung <fkung@redhat.com>
3512 * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants.
3514 2006-10-19 Francis Kung <fkung@redhat.com>
3517 * java/awt/image/BufferedImage.java
3518 (constructor): Updated some properties of default image types.
3519 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
3520 (argb32): Updated field to match default in BufferedImage.
3522 2006-10-18 Roman Kennke <kennke@aicas.com>
3525 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
3526 (copyArea): Changed size comparison to return when size == 0
3528 * javax/swing/JViewport.java
3529 (paintBackingStore): Check width and height of blitted area
3530 and only do blit if its > 0.
3531 (paintBlit): Check width and height of blitted area
3532 and only do blit if its > 0.
3534 2006-10-18 Roman Kennke <kennke@aicas.com>
3537 * gnu/java/awt/peer/gtk/GtkFramePeer.java
3538 (maximize): New native method.
3539 (unmaximize): New native method.
3540 (iconify): New native method.
3541 (deiconify): New native method.
3542 (getState): Implemented.
3543 (setState): Implemented.
3544 * gnu/java/awt/peer/gtk/GtkWindowPeer.java
3545 (oldState): Rename to windowState and made protected, so that
3546 the FramePeer can access it.
3547 (postWindowEvent): Handle state change events more gently and
3549 * java/awt/Frame.java
3550 (getState): Fetch state from getExtendedState().
3551 (setExtendedState): Update the peer. Check if the state change
3552 is actually supported.
3553 (getExtendedState): Update the state from the peer.
3554 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c
3555 (maximize): New method.
3556 (unmaximize): New method.
3557 (iconify): New method.
3558 (deiconify): New method.
3559 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
3560 (AWT_FRAME_NORMAL): New macro.
3561 (AWT_FRAME_ICONIFIED): New macro.
3562 (AWT_FRAME_MAXIMIZED_BOTH): New macro.
3563 (window_window_state_cb): Rewritten to handle window state changes
3564 more gently (mostly on the java side of the world).
3565 * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated.
3567 2006-10-18 Tania Bento <tbento@redhat.com>
3569 * java/awt/CardLayout.java:
3570 (maximumLayoutSize): Return a new Dimension with Integer.MAX_VALUE as
3571 its height and width if Container passed as argument is null.
3572 (gotoComponent): Consider the case where the component is not visible.
3574 2006-10-18 Thomas Fitzsimmons <fitzsim@redhat.com>
3576 * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties:
3578 * resource/gnu/classpath/tools/appletviewer/messages.properties:
3580 * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties:
3582 * tools/gnu/classpath/tools/appletviewer/AppletWarning.java:
3584 * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java:
3586 * tools/gnu/classpath/tools/appletviewer/Messages.java: New file.
3587 * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java:
3588 Retrieve user-visible strings through Messages.getString.
3589 * tools/gnu/classpath/tools/appletviewer/Main.java: Likewise.
3590 * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java:
3592 * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java:
3594 * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java:
3596 * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java:
3598 * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java:
3600 * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java:
3603 2006-10-18 Roman Kennke <kennke@aicas.com>
3605 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
3606 (AWT_WINDOW_OPENED): Remove unnecessary macro.
3607 (window_show_cb): Removed unnecessary function.
3608 (connect_signals): Don't connect signal for show. *
3609 gnu/java/awt/peer/gtk/GtkWindowPeer.java
3610 (hasBeenShown): Removed. This is handled in java.awt.Window.
3611 (postWindowEvent): Removed handling of WINDOW_OPENED. This is done
3612 in java.awt.Window. * java/awt/Window.java
3613 (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED.
3615 2006-10-18 Francis Kung <fkung@redhat.com>
3617 * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java
3618 (drawRenderedImage): New method.
3619 (drawImage): New method.
3620 (CairoSurfaceGraphics): Set clip.
3621 (createBuffer): New method.
3622 (getBufferCM): New method.
3623 (drawComposite): New method.
3625 (getNativeCM): New method.
3626 (drawGlyphVector): New method.
3628 * gnu/java/awt/peer/gtk/VolatileImageGraphics.java
3629 (getNativeCM): Reflect renamed field.
3630 * gnu/java/awt/peer/gtk/CairoSurface.java
3631 (cairoCM_pre): Renamed from cairoColorModel.
3632 (cairoColorModel): Set premultiplication to false.
3634 2006-10-18 Roman Kennke <kennke@aicas.com>
3637 * javax/swing/JScrollPane.java
3638 (viewportBorder): Made field private.
3639 (wheelScrollingEnabled): Made field private.
3640 (JScrollPane): Enabled wheel scrolling by default.
3641 * javax/swing/JTree.java
3642 (TreeSelectionRedirector.valueChanged): Don't repaint anything
3644 (getScrollableUnitIncrement): Fixed thinko.
3645 * javax/swing/plaf/basic/BasicScrollBarUI.java
3646 (static scrollByBlock): New static method to avoid code duplication
3647 for the BasicScrollPane wheel scrolling.
3648 (static scrollByUnits): New static method to avoid code duplication
3649 for the BasicScrollPane wheel scrolling.
3650 (scrollByBlock): Delegate to static helper method.
3651 (scrollByUnit): Delegate to static helper method.
3652 * javax/swing/plaf/basic/BasicScrollPaneUI.java
3653 (MouseWheelHandler.mouseWheelMoved): Delegate to BasicScrollBarUI
3654 static helper methods to avoid code duplication.
3655 (MouseWheelHandler.bounds): Removed.
3656 (MouseWheelHandler.getValue): Removed.
3657 (MouseWheelHandler.scroll): Removed.
3659 2006-10-18 Roman Kennke <kennke@aicas.com>
3662 * gnu/java/awt/peer/gtk/GtkWindowPeer.java
3663 (updateComponent): Don't override this here.
3664 * java/awt/Window.java
3665 (addWindowListener): Ignore null listener. Set newEventsOnly flag.
3666 (addWindowFocusListener): Ignore null listener. Set newEventsOnly
3668 (addWindowStateListener): Ignore null listener. Set newEventsOnly
3671 2006-10-18 Roman Kennke <kennke@aicas.com>
3673 * javax/swing/JEditorPane.java
3674 (getStream): Try to detect and set the content type of the
3677 2006-10-18 Roman Kennke <kennke@aicas.com>
3679 * javax/swing/RepaintManager.java
3680 (RepaintWorkerEvent): Pass full set of params to super.
3681 (RepaintWorker.dispatch): Overridden to allow apps to call this
3683 (addDirtyRegion): Synchronize a little more to protect the
3684 dirtyComponents field and avoid NPEs.
3685 (invokeLater): Pass full set of params to RepaintWorkerEvent
3688 2006-10-18 Roman Kennke <kennke@aicas.com>
3690 * javax/swing/JEditorPane.java
3691 (page): Removed field. The page is now stored in the correct
3693 (getPage): Fetch page URL from document property.
3694 (read): Set the document for this JEditorPane. Use a Reader
3695 for reading in the document.
3696 (setPage): Call getStream() to get the stream from which we read.
3697 Fire property change. Store page in document property.
3699 2006-10-18 Roman Kennke <kennke@aicas.com>
3701 * java/awt/datatransfer/DataFlavor.java
3702 (DataFlavor(String)): Removed check for space in mime string.
3704 2006-10-18 Roman Kennke <kennke@aicas.com>
3706 * java/awt/Container.java
3707 (validateTree): Call ContainerPeer.begin|endLayout() rather than
3708 begin|endValidate().
3709 (validate): Call ContainerPeer.begin|endValidate() here.
3710 Added some local vars to avoid NPEs.
3712 2006-10-18 Roman Kennke <kennke@aicas.com>
3714 * native/target/.cvsignore
3715 * native/target/Linux/.cvsignore
3716 * native/target/generic/.cvsignore:
3717 Added to let CVS ignore the generated Makefile and Makefile.in
3720 2006-10-18 Roman Kennke <kennke@aicas.com>
3723 * java/awt/Window.java
3724 (eventTypeEnabled): Overridden to handle WindowEvents.
3725 (processEvent): Switch between processWindowEvent(),
3726 processWindowFocusEvent() and processWindowStateEvent() here,
3727 rather than simply calling processWindowEvent().
3728 (processWindowEvent): Only dispatch event to listener, do not
3729 switch to processWindowFocusEvent() or processWindowStateEvent()
3731 * javax/swing/JFrame.java
3732 (frameInit): Explicitly enable window and key events here.
3733 (processWindowEvent): Throw out some unnecessary code.
3734 * javax/swing/JWindow.java
3735 (windowInit): Explicitly enable key events here.
3736 * javax/swing/JDialog.java
3737 (close_action): Renamed to closeAction.
3738 (dialogInit): Explicitly enable window events here.
3739 (getDefaultCloseOperation): Renamed close_action to closeAction.
3740 (processWindowEvent): Throw out some unnecessary code.
3741 Renamed close_action to closeAction.
3742 (setDefaultCloseOperation): Renamed close_action to closeAction.
3744 2006-10-17 Thomas Fitzsimmons <fitzsim@redhat.com>
3746 * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag
3747 to track native GTK event loop status.
3748 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and
3749 clear running flag when native GTK event loop starts and stops.
3751 2006-10-17 Roman Kennke <kennke@aicas.com>
3753 * javax/swing/TransferHandler.java
3754 (exportToClipboard): Implemented.
3756 2006-10-17 Francis Kung <fkung@redhat.com>
3758 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated
3759 region to account for pixel-shifting.
3760 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made
3763 2006-10-17 Francis Kung <fkung@redhat.com>
3766 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
3767 (getLogicalBounds): Translate individual glyphs before appending bounds.
3768 (getOutline): Translate individual glyphs before appending outline.
3770 2006-10-17 Cameron McCormack <cam@mcc.id.au>
3773 * java/awt/font/TextLayout.java
3775 (constructor): Store bidi in field.
3776 (getCharacterLevel): Implemented.
3778 2006-10-17 Roman Kennke <kennke@aicas.com>
3780 * javax/swing/TransferHandler.java
3781 (PropertyTransferable): New inner class. Handles transfers
3782 from component properties.
3783 (createTransferable): Implemented.
3785 2006-10-17 Francis Kung <fkung@redhat.com>