1 2007-01-26 Andrew Haley <aph@redhat.com>
3 * java/lang/SecurityManager.java: Load and initialize
4 java.security.Security.
6 2007-01-26 Tom Tromey <tromey@redhat.com>
8 * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print
9 'volatile' after field type.
11 2007-01-23 Marco Trudel <mtrudel@gmx.ch>
13 * java/util/Arrays.java (binarySearch): Change comparison order.
15 2007-01-17 Tom Tromey <tromey@redhat.com>
17 * tools/gnu/classpath/tools/javah/PathOptionGroup.java
18 (PathOptionGroup): Set default boot class path.
20 2006-12-14 Andrew Haley <aph@redhat.com>
22 * tools/gnu/classpath/tools/jar/Creator.java: Close the
25 2006-10-12 Andrew Haley <aph@redhat.com>
27 * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel.
28 * java/lang/ThreadLocal.java: Likewise.
30 2006-09-13 Andrew Haley <aph@redhat.com>
32 * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java:
33 Revert previous gcj-specific disabling of checks.
34 * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java:
36 * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java:
39 2006-09-13 Andrew Haley <aph@redhat.com>
41 * java/util/PriorityQueue.java: Throw IllegalArgumentException for
43 (Iterator.remove()): Decrement index after removing element.
45 2006-12-11 Jeroen Frijters <jeroen@frijters.net>
47 * javax/net/ssl/SSLSocketFactory.java (getDefault):
48 Chain exception cause.
50 2006-12-11 Roman Kennke <kennke@aicas.com>
52 * .classpath: Include ASM in Eclipse classpath.
54 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
56 * gnu/java/lang/management/BeanImpl.java:
57 (translate(String)): Trim strings of whitespace.
58 * javax/management/MBeanAttributeInfo.java:
59 (MBeanAttributeInfo(String,String,Method,Method)):
60 Use Class.getName() for normal (non-parameterized) cases.
61 * javax/management/MBeanConstructorInfo.java:
62 (MBeanConstructorInfo(String, Constructor)):
64 * javax/management/MBeanOperationInfo.java:
65 (MBeanOperationInfo(String, Method)):
68 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
70 * java/lang/Class.java:
71 (getClasses()): Return Class<?>[].
72 (internalGetClasses()): Likewise.
73 (getConstructor(Class<?>...)): Add type parameter
75 (getDeclaredConstructor(Class<?>...)): Likewise.
76 (getDeclaredClasses()): Return Class<?>[].
77 (getDeclaredClasses(boolean)): Likewise.
78 (getDeclaredConstructors()): Return Constructor<?>[].
79 (getDeclaredConstructors(boolean)): Likewise.
80 (getDeclaredMethod(String,Class<?>...)): Add type
81 parameter to parameters.
82 (getInterfaces()): Return Class<?>[].
83 (getMethods(String,Class<?>...)): Add type
84 parameter to parameters.
85 * java/text/CollationKey.java:
87 * java/text/DecimalFormatSymbols.java:
90 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
92 * gnu/java/lang/management/BeanImpl.java:
93 (translate(String)): Handle Map and List as
94 Strings of the form "java.util.Map<K,V>" and
96 * javax/management/MBeanAttributeInfo.java:
97 (MBeanAttributeInfo(String,String,Method,Method)):
98 Use generic parameter and return types.
99 * javax/management/MBeanConstructorInfo.java:
100 (MBeanConstructorInfo(String, Constructor)):
101 Use generic parameter types.
102 * javax/management/MBeanOperationInfo.java:
103 (MBeanOperationInfo(String, Method)):
104 Use generic parameter and return types.
106 2006-12-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
108 * gnu/java/lang/management/BeanImpl.java:
109 (translate(String)): Comment out code for using type
110 variables for Map and List.
111 * java/lang/Thread.java:
112 (Thread(ThreadGroup,Runnable,String,long)): Fix
113 incrementation of totalThreadsCreated to be prior to use.
115 2006-12-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
117 * javax/management/MBeanServerFactory.java:
118 (createMBeanServer(String)): Added security check.
119 (findMBeanServer(String)): Likewise.
120 (newMBeanServer(String)): Likewise.
121 (releaseMBeanServer(String)): Likewise.
122 * javax/management/MBeanServerPermission.java:
125 2006-12-08 David Daney <ddaney@avtrex.com>
127 * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
130 2006-12-08 David Daney <ddaney@avtrex.com>
132 * NEWS: Mention URLConnection.[get|set]ReadTimeout.
134 2006-12-08 David Daney <ddaney@avtrex.com>
136 * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add
138 (HTTPConnection): Handle NumberFormatException in properties parsing.
139 (Pool.get): Set timeout on reused sockets.
140 * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort):
142 (HTTPURLConnection): Cleanup properties handling.
143 (getConnection): Use both connection and read timeouts.
144 (setConnectTimeout): Removed.
145 (setReadTimeout): New method.
146 * java/net/URLConnection.java (timeout): Renamed to...
147 (connectTimeout): ... connectTimeout throughout.
148 (readTimeout): New field.
149 (getReadTimeout): New method.
150 (setReadTimeout): New method.
152 2006-12-08 Tania Bento <tbento@redhat.com>
154 * java/awt/ScrollPane.java
155 (doLayout): Change the location of the scrollpane's child
158 2006-12-08 David Daney <ddaney@avtrex.com>
160 * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
162 (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw
163 SocketTimeoutException if a blocking socket timesout.
164 (Java_gnu_java_nio_VMChannel_readScattering): Same.
165 (Java_gnu_java_nio_VMChannel_read__I): Same.
166 (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set.
167 (Java_gnu_java_nio_VMChannel_connect6): Same.
169 2006-12-08 Mark Wielaard <mark@klomp.org>
171 * configure.ac (VERSION): Set to 0.93-generics.
172 * NEWS: Add release date.
174 2006-12-08 Tania Bento <tbento@redhat.com>
176 * java/awt/ScrollPane.java
177 (getScrollPosition): Throw NullPointerException if scrollpane
179 (setScrollPosition(int, int)): Throw NullPointerException if
180 scrollpane does have a child. Check that both ints are within
181 the allowed bounds; If they are not, scroll to the closest allowed
184 2006-12-07 Roman Kennke <kennke@aicas.com>
186 * javax/swing/JEditorPane.java
187 (EditorKitMapping): New inner helper class.
188 (editorKits): New static field for caching editor kit instances.
189 (static_initiazer): Initialize static mappings here.
190 (createEditorKitForContentType): Try to use cached instance.
191 Use correct classloader for loading.
192 (getEditorKitClassNameForContentType): Make use of EditorKitMapping
194 (getEditorKitForContentType): Store the fetched editor kit.
195 Fallback to createDefaultEditorKit().
196 (init): Don't clean the static registry here.
197 (registerEditorKitForContentType(String,String,ClassLoader)):
199 (registerEditorKitForContentType(String,String)): Delegate to
200 the other version of this method with the thread's context
203 2006-12-07 Mark Wielaard <mark@klomp.org>
205 * examples/gnu/classpath/examples/swing/HtmlDemo.java
206 (setPage): Don't convert URL to String for setPage().
208 2006-12-07 Mark Wielaard <mark@klomp.org>
210 * tools/Makefile.am (clean-local): Remove iasm and asm.lst.
212 2006-12-07 Mark Wielaard <mark@klomp.org>
214 * tools/Makefile.am: Explicitly define and use bootclasspath as
217 2006-12-07 Mark Wielaard <mark@klomp.org>
219 * javax/swing/JEditorPane.java (createEditorKitForContentType):
220 Always load from system class loader.
222 2006-12-07 Mark Wielaard <mark@klomp.org>
224 * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
226 (URL(URL,String,URLStreamHandler)): Call new constructor.
227 (URL(URL,String)): Likewise.
228 (URL(String)): Likewise.
230 2006-12-07 Tom Tromey <tromey@redhat.com>
233 * INSTALL: Don't mention --with-asm.
234 * tools/external/README: New file.
235 * tools/toolwrapper.c (main): Don't use ASM_JAR.
236 * tools/gjavah.in: Don't use PATH_TO_ASM.
237 * tools/grmic.in: Likewise.
238 * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added
240 (javah, rmic): Removed variables.
241 (bin_PROGRAMS): Updated.
242 (gappletviewer_CFLAGS): Don't define ASM_JAR.
243 (gjarsigner_CFLAGS): Likewise.
244 (gkeytool_CFLAGS): Likewise.
245 (gjar_CFLAGS): Likewise.
246 (gnative2ascii_CFLAGS): Likewise.
247 (gserialver_CFLAGS): Likewise.
248 (grmiregistry_CFLAGS): Likewise.
249 (gtnameserv_CFLAGS): Likewise.
250 (gorbd_CFLAGS): Likewise.
251 (grmid_CFLAGS): Likewise.
252 (gjavah_CFLAGS): Likewise.
253 (grmic_CFLAGS): Likewise.
254 (bin_SCRIPTS): Updated.
255 (TOOLS_JAVA_FILES): Updated.
256 ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files.
257 * configure.ac: Removed --with-asm. Always build gjavah.
259 2006-12-06 Roman Kennke <kennke@aicas.com>
261 * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
263 * examples/gnu/classpath/examples/swing/HtmlDemo.java
264 (LoadActionListener): Call setPage() helper method.
265 (createContent): Register tweaked editor kit. For FormSubmitEvents
266 call submitForm(), otherwise setPage().
267 (postData): Helper method for posting form data.
268 (setPage): Helper method for navigating to a new URL.
269 (submitForm): Helper method for submitting a form.
270 * examples/gnu/classpath/examples/swing/forms.html:
271 Added text/password fields and select boxes.
272 * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo.
274 2006-12-06 Roman Kennke <kennke@aicas.com>
276 * javax/swing/text/html/FormView.java
277 (SubmitThread.postData): Implemented.
278 (SubmitThread.run): Pass data to postData().
279 (actionPerformed): Reset form when reset button is activated.
280 (createComponent): Add support for select lists and comboboxes.
281 Don't set value of text and password fields here, this is done
282 now in HTMLDocument for consistency.
283 (getElementFormData): Add support for fetching form data from
284 select lists and comboboxes as well as textareas.
285 (getSelectData): New helper method. Fetches form data from
287 (getTextAreaData): New helper method. Fetches form data from
289 (resetForm): New helper method. Resets the entire form.
290 * javax/swing/text/html/HTMLDocument.java
291 (HTMLReader.FormAction.end): Handle SELECT and OPTION tags.
292 (HTMLReader.FormAction.start): Handle SELECT and OPTION tags.
293 (HTMLReader.FormAction.setModel): Initialize text and password
294 values here. Also, use the resetable special models.
295 Group radio buttons into ButtonGroup for exclusive selection.
296 (HTMLReader.FormTagAction): New class. Handles FORM tags.
297 (HTMLReader.buttonGroups): New field.
298 (HTMLReader.numOptions): New field.
299 (HTMLReader.option): New field.
300 (HTMLReader.selectModel): New field.
301 (HTMLReader.textAreaDocument): Make ResetablePlainDocument.
302 (HTMLReader.handleText): Handle OPTION text.
303 (HTMLReader.initTags): Map FORM tags to FormTagAction.
304 (HTMLReader.textAreaContent): Set initial content.
305 * javax/swing/text/html/Option.java
306 (Option): Make copy of attribute set. Initialize selected state.
307 (getValue): Fetch value from attribute set.
308 * javax/swing/text/html/ResetableModel.java: New interface.
309 * javax/swing/text/html/ResetablePlainDocument.java: New class.
310 Supports resetting the state.
311 * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise.
312 * javax/swing/text/html/SelectComboBoxModel.java: Likewise.
313 * javax/swing/text/html/SelectListModel.java: Likewise.
315 2006-12-06 Roman Kennke <kennke@aicas.com>
317 * javax/swing/text/DefaultCaret.java
318 (appear): Adjust visibility here.
319 (setDotImpl): Don't adjust visibility here.
320 (moveDotImpl): Don't adjust visibility here.
322 2006-12-06 Roman Kennke <kennke@aicas.com>
324 * gnu/java/awt/peer/gtk/AsyncImage.java
325 (Loader.run): Synchronize on the AsyncImage to avoid threading
327 (addObservers): Check for obs==null outside and synchronize on
328 this inside to avoid locking issues.
329 (checkImage): New helper method.
330 (notifyObservers): Check that the correct lock is held and
331 remove actual locking.
332 * gnu/java/awt/peer/gtk/GtkToolkit.java
333 (checkImage): Added special handling for AsyncImages.
335 2006-12-06 Roman Kennke <kennke@aicas.com>
337 * examples/gnu/classpath/examples/swing/Demo.java
338 (getIcon): Made package private.
339 * examples/gnu/classpath/examples/swing/HtmlDemo.java
340 (hyperlinkUpdate): Convert URL to string.
342 2006-12-06 Mark Wielaard <mark@klomp.org>
344 * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify
347 2006-12-06 Roman Kennke <kennke@aicas.com>
349 * examples/gnu/classpath/examples/icons/back.png,
350 * examples/gnu/classpath/examples/icons/reload.png:
351 New icons for the HTML browser.
352 * examples/gnu/classpath/examples/swing/HtmlDemo.java
353 (history): New field. Manages the browsing history.
354 (HtmlDemo): Initialize history.
355 (createContent): Set location and add history. Add toolbar.
356 (createToolBar): New helper method.
357 (main): Make default size bigger.
358 * examples/gnu/classpath/examples/swing/frame1.html,
359 * examples/gnu/classpath/examples/swing/frame2.html,
360 * examples/gnu/classpath/examples/swing/frame3.html,
361 * examples/gnu/classpath/examples/swing/frame4.html,
362 * examples/gnu/classpath/examples/swing/frames.html,
363 * examples/gnu/classpath/examples/swing/tables.html:
365 * examples/gnu/classpath/examples/swing/welcome.html
366 Add a couple of links and new test pages.
368 2006-12-06 Roman Kennke <kennke@aicas.com>
370 * javax/swing/JEditorPane.java
371 (getStream): Buffer the stream for efficiency.
372 (setPage): Don't scroll the view at this point.
373 * javax/swing/plaf/basic/BasicTextUI.java
374 (RootView.paint): Call RootView's setSize to get synchronization.
375 (RootView.setSize): Synchronize to prevent race in layout code.
376 * javax/swing/text/AbstractDocument.java
377 (notifyListeners): New field.
378 (fireChangedUpdate): Track notifyListener field.
379 (fireRemoveUpdate): Track notifyListener field.
380 (fireIndertUpdate): Track notifyListener field.
381 (writeLock): Check notifyListener and throw IllegalStateException.
382 * javax/swing/text/View.java
383 (preferenceChanged): Create local var for better thread safety and
386 2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
388 * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
389 lightweight component, not just for non-Panel components.
390 (addImpl): Do not call doLayout.
391 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
392 (setNativeBounds): Ensure widget parent is a GtkFixed before
393 calling gtk_fixed_move.
394 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
395 (setNativeBounds): Likewise.
396 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
397 (setNativeBounds): Likewise.
399 2006-12-06 Roman Kennke <kennke@aicas.com>
401 * javax/swing/text/html/TableView.java
402 (RowView.layoutMajorAxis): Check column index for invalid value.
403 (updateGrid): Check column index for invalid value.
405 2006-12-06 Roman Kennke <kennke@aicas.com>
407 * javax/swing/text/html/BlockView.java
408 (getAlignment): Align blocks horizontally by the superclass.
409 * javax/swing/text/html/HTMLEditorKit.java
410 (HTMLFactory.create): Replace equals comparison by == for efficiency.
411 Add mapping for misplaced tr, td and th tags. Include object mapping.
412 * javax/swing/text/html/TableView.java
413 (RowView.replace): Invalidate grid early.
414 (gridValid): Initialize with false.
415 (create): Only create RowView and CellView for correctly placed
416 tags. Avoid unnecessary casts.
417 (getAlignment): Removed.
418 (replace): Invalidate grid early.
420 2006-12-06 Francis Kung <fkung@redhat.com>
422 * java/awt/geom/RectangularShape.java
423 (getBounds): Remove empty rectangle check.
425 2006-12-06 Ben Konrath <bkonrath@redhat.com>
428 * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and
429 newValue are the same.
430 * gnu/xml/dom/DomNode.java: Set parent if null during mutation.
432 2006-12-06 Tania Bento <tbento@redhat.com>
434 * javax/swing/border/CompoundBorder.java:
435 (isBorderOpaque): If inside border is null, return true if outside
436 border is opaque, false otherwise; if outside border is null, return
437 true if inside border is opaque, false otherwise; if inside or
438 outside border are both not null, then return true only if both the
439 inside and outside border are opaque, false otherwise.
441 2006-12-06 Tania Bento <tbento@redhat.com>
443 * javax/swing/border/CompoundBorder.java:
444 (isBorderOpaque): If inside and outside border both have a null
447 2006-12-06 Chris Burdess <dog@gnu.org>
450 * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
451 * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
453 2006-12-06 Chris Burdess <dog@gnu.org>
456 * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
459 2006-12-06 Chris Burdess <dog@gnu.org>
462 * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
463 discover schema factory implementation class.
465 2006-12-05 Francis Kung <fkung@redhat.com>
467 * java/awt/BasicStroke.java
468 (capEnd): Prevent division by zero.
469 * java/awt/geom/Arc2D.java
470 (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive.
471 (ArcIterator.currentSegment): Handle a negative extent.
473 2006-12-05 Francis Kung <fkung@redhat.com>
475 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
476 (constructor): Handle translated subimages properly, ie, if the image's
477 0,0 position is not the data buffer's first element.
479 2006-12-05 Roman Kennke <kennke@aicas.com>
481 * gnu/java/awt/peer/gtk/AsyncImage.java
482 (Loader.run): Nullify observers after loading.
483 (observers): Made package private.
484 (addObserver): Check for null observers field. Create local
485 variable for thread safety.
486 (getHeight): Use addObserver() for checking state of field
487 and notifying observer when necessary.
488 (getWidth): Use addObserver() for checking state of field
489 and notifying observer when necessary.
490 (getProperty): Use addObserver() for checking state of field
491 and notifying observer when necessary.
492 (notifyObservers): Check for null observers field. Create local
493 variable for thread safety.
495 2006-12-05 Roman Kennke <kennke@aicas.com>
497 * javax/swing/text/html/HTMLEditorKit.java
498 (HTMLFactory.create): Removed debug output.
499 * javax/swing/text/html/InlineView.java
500 (getBreakWeight): Likewise.
501 * javax/swing/text/html/StyleSheet.java
503 (ListPainter.paint): Removed debug output.
505 2006-12-05 Roman Kennke <kennke@aicas.com>
507 * javax/swing/text/html/BlockView.java
508 (painter): Made package visible.
509 * javax/swing/text/html/StyleSheet.java
510 (translateBorder): New helper method.
511 (translateHTMLToCSS): Add mappings for border attributes.
512 * javax/swing/text/html/TableView.java
513 Made class subclass of BlockView to get CSS goodness.
514 (CellView.rowSpan): New field.
515 (CellView.setPropertiesFromAttributes): Fetch rowspan.
516 (RowView.overlap): New field.
517 (RowView.rowIndex): New field.
518 (RowView.layoutMajorAxis): Skip overlapping cells.
519 (RowView.layoutMinorAxis): Layout cells that span more than 1 row.
520 (numColumns): New field.
521 (tmpRect): New field.
522 (TableView): Initialize tmpRect.
523 (calculateColumnRequirements): Adjusted and fixed for multirows.
524 (getAlignment): Overridden to center tables.
525 (paint): Overridden to fix clipping.
526 (getStyleSheet): Made protected.
527 (layoutMajorAxis): Invalidate rows.
528 (setPropertiesFromAttributes): Made protected and call super.
529 (updateGrid): Update the overlapping information for multirows.
531 2006-12-05 Roman Kennke <kennke@aicas.com>
533 * gnu/java/awt/peer/gtk/AsyncImage.java
534 (addObserver): Check for null and ignore null observers.
535 (getWidth): Check for null and ignore null observers.
536 (getHeight): Check for null and ignore null observers.
537 (getProperty): Check for null and ignore null observers.
539 2006-12-05 Francis Kung <fkung@redhat.com>
541 * java/awt/BasicStroke.java
542 (capEnd): Prevent division by zero.
543 * java/awt/geom/Arc2D.java
544 (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive.
545 (ArcIterator.currentSegment): Handle a negative extent.
547 2006-12-05 Francis Kung <fkung@redhat.com>
549 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
550 (constructor): Handle translated subimages properly, ie, if the image's
551 0,0 position is not the data buffer's first element.
553 2006-12-05 Roman Kennke <kennke@aicas.com>
555 * javax/swing/text/html/ImageView.java
556 (imageUpdate): Use spans field to determine if the CSS width/height
557 are set. Call safePreferenceChanged to protect view structure
558 from threading issues.
559 (spans): Made package private.
560 (ImageView): Initialize loadOnDemand with false.
561 (loadImage): Call Toolkit.prepareImage() to make sure we have
562 our Observer registered.
563 (safePreferenceChanged): New helper method. Calls preferenceChanged
564 in a thread safe environment.
566 2006-12-05 Roman Kennke <kennke@aicas.com>
568 * NEWS: Add entry about improved HTML support.
570 2006-12-05 Roman Kennke <kennke@aicas.com>
572 * javax/swing/text/html/ImageView.java
573 (ImageView): Initialize spans array here.
574 (setPropertiesFromAttributes): Moved init of spans array to
577 2006-12-05 Roman Kennke <kennke@aicas.com>
579 * javax/swing/text/html/BlockView.java
580 (painter): Made package visible.
581 * javax/swing/text/html/StyleSheet.java
582 (translateBorder): New helper method.
583 (translateHTMLToCSS): Add mappings for border attributes.
584 * javax/swing/text/html/TableView.java
585 Made class subclass of BlockView to get CSS goodness.
586 (CellView.rowSpan): New field.
587 (CellView.setPropertiesFromAttributes): Fetch rowspan.
588 (RowView.overlap): New field.
589 (RowView.rowIndex): New field.
590 (RowView.layoutMajorAxis): Skip overlapping cells.
591 (RowView.layoutMinorAxis): Layout cells that span more than 1 row.
592 (numColumns): New field.
593 (tmpRect): New field.
594 (TableView): Initialize tmpRect.
595 (calculateColumnRequirements): Adjusted and fixed for multirows.
596 (getAlignment): Overridden to center tables.
597 (paint): Overridden to fix clipping.
598 (getStyleSheet): Made protected.
599 (layoutMajorAxis): Invalidate rows.
600 (setPropertiesFromAttributes): Made protected and call super.
601 (updateGrid): Update the overlapping information for multirows.
603 2006-12-05 Roman Kennke <kennke@aicas.com>
605 * javax/swing/text/html/HTMLEditorKit.java
606 (HTMLFactory.create): Removed debug output.
607 * javax/swing/text/html/InlineView.java
608 (getBreakWeight): Likewise.
609 * javax/swing/text/html/StyleSheet.java
611 (ListPainter.paint): Removed debug output.
613 2006-12-06 Roman Kennke <kennke@aicas.com>
615 * javax/swing/text/html/BlockView.java
616 (getAlignment): Align blocks horizontally by the superclass.
617 * javax/swing/text/html/HTMLEditorKit.java
618 (HTMLFactory.create): Replace equals comparison by == for efficiency.
619 Add mapping for misplaced tr, td and th tags. Include object mapping.
620 * javax/swing/text/html/TableView.java
621 (RowView.replace): Invalidate grid early.
622 (gridValid): Initialize with false.
623 (create): Only create RowView and CellView for correctly placed
624 tags. Avoid unnecessary casts.
625 (getAlignment): Removed.
626 (replace): Invalidate grid early.
629 2006-12-06 Roman Kennke <kennke@aicas.com>
631 * javax/swing/text/html/TableView.java
632 (RowView.layoutMajorAxis): Check column index for invalid value.
633 (updateGrid): Check column index for invalid value.
635 2006-12-06 Roman Kennke <kennke@aicas.com>
637 * javax/swing/JEditorPane.java
638 (getStream): Buffer the stream for efficiency.
639 (setPage): Don't scroll the view at this point.
640 * javax/swing/plaf/basic/BasicTextUI.java
641 (RootView.paint): Call RootView's setSize to get synchronization.
642 (RootView.setSize): Synchronize to prevent race in layout code.
643 * javax/swing/text/AbstractDocument.java
644 (notifyListeners): New field.
645 (fireChangedUpdate): Track notifyListener field.
646 (fireRemoveUpdate): Track notifyListener field.
647 (fireIndertUpdate): Track notifyListener field.
648 (writeLock): Check notifyListener and throw IllegalStateException.
649 * javax/swing/text/View.java
650 (preferenceChanged): Create local var for better thread safety and
653 2006-12-06 Roman Kennke <kennke@aicas.com>
655 * examples/gnu/classpath/examples/icons/back.png,
656 * examples/gnu/classpath/examples/icons/reload.png:
657 New icons for the HTML browser.
658 * examples/gnu/classpath/examples/swing/HtmlDemo.java
659 (history): New field. Manages the browsing history.
660 (HtmlDemo): Initialize history.
661 (createContent): Set location and add history. Add toolbar.
662 (createToolBar): New helper method.
663 (main): Make default size bigger.
664 * examples/gnu/classpath/examples/swing/frame1.html,
665 * examples/gnu/classpath/examples/swing/frame2.html,
666 * examples/gnu/classpath/examples/swing/frame3.html,
667 * examples/gnu/classpath/examples/swing/frame4.html,
668 * examples/gnu/classpath/examples/swing/frames.html,
669 * examples/gnu/classpath/examples/swing/tables.html:
671 * examples/gnu/classpath/examples/swing/welcome.html
672 Add a couple of links and new test pages.
674 2006-12-06 Roman Kennke <kennke@aicas.com>
676 * examples/gnu/classpath/examples/swing/Demo.java
677 (getIcon): Made package private.
678 * examples/gnu/classpath/examples/swing/HtmlDemo.java
679 (hyperlinkUpdate): Convert URL to string.
681 2006-12-06 Roman Kennke <kennke@aicas.com>
683 * javax/swing/text/DefaultCaret.java
684 (appear): Adjust visibility here.
685 (setDotImpl): Don't adjust visibility here.
686 (moveDotImpl): Don't adjust visibility here.
688 2006-12-06 Roman Kennke <kennke@aicas.com>
690 * javax/swing/text/html/FormView.java
691 (SubmitThread.postData): Implemented.
692 (SubmitThread.run): Pass data to postData().
693 (actionPerformed): Reset form when reset button is activated.
694 (createComponent): Add support for select lists and comboboxes.
695 Don't set value of text and password fields here, this is done
696 now in HTMLDocument for consistency.
697 (getElementFormData): Add support for fetching form data from
698 select lists and comboboxes as well as textareas.
699 (getSelectData): New helper method. Fetches form data from
701 (getTextAreaData): New helper method. Fetches form data from
703 (resetForm): New helper method. Resets the entire form.
704 * javax/swing/text/html/HTMLDocument.java
705 (HTMLReader.FormAction.end): Handle SELECT and OPTION tags.
706 (HTMLReader.FormAction.start): Handle SELECT and OPTION tags.
707 (HTMLReader.FormAction.setModel): Initialize text and password
708 values here. Also, use the resetable special models.
709 Group radio buttons into ButtonGroup for exclusive selection.
710 (HTMLReader.FormTagAction): New class. Handles FORM tags.
711 (HTMLReader.buttonGroups): New field.
712 (HTMLReader.numOptions): New field.
713 (HTMLReader.option): New field.
714 (HTMLReader.selectModel): New field.
715 (HTMLReader.textAreaDocument): Make ResetablePlainDocument.
716 (HTMLReader.handleText): Handle OPTION text.
717 (HTMLReader.initTags): Map FORM tags to FormTagAction.
718 (HTMLReader.textAreaContent): Set initial content.
719 * javax/swing/text/html/Option.java
720 (Option): Make copy of attribute set. Initialize selected state.
721 (getValue): Fetch value from attribute set.
722 * javax/swing/text/html/ResetableModel.java: New interface.
723 * javax/swing/text/html/ResetablePlainDocument.java: New class.
724 Supports resetting the state.
725 * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise.
726 * javax/swing/text/html/SelectComboBoxModel.java: Likewise.
727 * javax/swing/text/html/SelectListModel.java: Likewise.
729 2006-12-06 Roman Kennke <kennke@aicas.com>
731 * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
733 * examples/gnu/classpath/examples/swing/HtmlDemo.java
734 (LoadActionListener): Call setPage() helper method.
735 (createContent): Register tweaked editor kit. For FormSubmitEvents
736 call submitForm(), otherwise setPage().
737 (postData): Helper method for posting form data.
738 (setPage): Helper method for navigating to a new URL.
739 (submitForm): Helper method for submitting a form.
740 * examples/gnu/classpath/examples/swing/forms.html:
741 Added text/password fields and select boxes.
742 * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo.
744 2006-12-07 Mark Wielaard <mark@klomp.org>
746 * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
748 (URL(URL,String,URLStreamHandler)): Call new constructor.
749 (URL(URL,String)): Likewise.
750 (URL(String)): Likewise.
752 2006-12-07 Mark Wielaard <mark@klomp.org>
754 * javax/swing/JEditorPane.java (createEditorKitForContentType):
755 Always load from system class loader.
757 2006-12-06 Ben Konrath <bkonrath@redhat.com>
760 * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and
761 newValue are the same.
762 * gnu/xml/dom/DomNode.java: Set parent if null during mutation.
764 2006-12-06 Chris Burdess <dog@gnu.org>
767 * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
768 * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
770 2006-12-06 Chris Burdess <dog@gnu.org>
773 * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
776 2006-12-056 Chris Burdess <dog@gnu.org>
779 * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
780 discover schema factory implementation class.
782 2006-12-05 Roman Kennke <kennke@aicas.com>
784 * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports
785 asynchronous loading of images.
786 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
787 (drawImage): Fetch real image from possibly AsyncImage.
788 * gnu/java/awt/peer/gtk/ComponentGraphics.java
789 (drawImage): Fetch real image from possibly AsyncImage.
790 * gnu/java/awt/peer/gtk/GtkToolkit.java
791 (createImage(URL)): Create async image.
792 (imageOrError): Made method static for easy access from AsyncImage.
793 (prepareImage): For async images, register the observer to the
796 2006-12-05 Roman Kennke <kennke@aicas.com>
798 (paintComponent): Include paint area from event.
799 (updateComponent): Include paint area from event.
801 2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
803 * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
804 lightweight component, not just for non-Panel components.
805 (addImpl): Do not call doLayout.
806 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
807 (setNativeBounds): Ensure widget parent is a GtkFixed before
808 calling gtk_fixed_move.
809 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
810 (setNativeBounds): Likewise.
811 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
812 (setNativeBounds): Likewise.
814 2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com>
816 * java/awt/Component.java (getFontImpl): Return a default font if
817 topmost parent's font is null.
819 2006-12-04 Mark Wielaard <mark@klomp.org>
821 * javax/swing/text/html/CSS.java (parseMarginShorthand):
824 2006-12-04 Roman Kennke <kennke@aicas.com>
826 * java/awt/font/TextLayout.java
827 (hitTestChar): Fixed conditions for inclusion of range.
828 Use layout information in the run for more efficiency.
830 2006-12-04 Roman Kennke <kennke@aicas.com>
832 * javax/swing/text/GlyphView.java
833 (J2DGlyphPainter): New inner class.
834 (checkPainter): For Java2D capable environments create
837 2006-12-04 Roman Kennke <kennke@aicas.com>
839 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
840 (FreeTypeGlyphVector): Don't filter control chars here.
841 (getGlyphs): Filter control chars and replace them by
844 2006-12-04 Roman Kennke <kennke@aicas.com>
846 * native/jni/java-nio/gnu_java_nio_VMChannel.c
847 (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR.
849 2006-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
851 * gnu/java/lang/management/BeanImpl.java:
852 (translate(String)): Don't assume the list uses "E",
853 just use the first and only type variable.
854 * java/lang/management/ManagementFactory.java:
855 (getPlatformMBeanServer()): Register logging bean.
856 * javax/management/openmbean/OpenType.java:
857 (OpenType(String,String,String)): Actually use
858 the string created to handle arrays.
860 2006-12-04 Mark Wielaard <mark@klomp.org>
862 * native/jni/java-nio/gnu_java_nio_VMChannel.c
863 (JCL_thread_interrupted): Use CallStaticBooleanMethod.
865 2006-12-04 Mark Wielaard <mark@klomp.org>
867 * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted):
869 * native/jni/java-nio/gnu_java_nio_VMChannel.c
870 (JCL_thread_interrupted): Only take JNIEnv.
871 (vm_channel_class): New static variable.
872 (initID): Set vm_channel_class.
873 Wrap all reads() and writes() in do-while blocks that check
876 2006-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
878 * gnu/javax/management/Server.java:
879 Make map final and initialise it.
880 (unregisterMBean(ObjectName)): Match against
881 delegate's object name and not the instance.
882 * java/lang/management/ManagementFactory.java:
883 Added constant fields.
884 (getPlatformMBeanServer()): Implemented.
885 * javax/management/MBeanServerFactory.java: New file.
887 2006-12-04 Roman Kennke <kennke@aicas.com>
889 * javax/swing/text/BoxView.java
890 (paint): Replaced painting algorithm with more simple and more
891 reliable painting of the box.
892 * javax/swing/text/html/BlockView.java
893 (PositionInfo): New inner class. Stores additional CSS
894 positioning information.
895 (positionInfo): New field.
896 (BlockView): Initialize positionInfo field.
897 (fetchLayoutInfo): New helper method. Fetches additional
898 CSS positioning information.
899 (layoutMajorAxis): Perform additional CSS layout.
900 (layoutMinorAxis): Perform additional CSS layout.
901 (positionView): New helper method.
902 (replace): Overridden to fetch additional layout information.
903 * javax/swing/text/html/CSS.java
904 (Attribute.POSITION): New field.
905 (Attribute.LEFT): New field.
906 (Attribute.RIGHT): New field.
907 (Attribute.TOP): New field.
908 (Attribute.BOTTOM): New field.
909 (getValue): Create Length for left, right, top and bottom
912 2006-12-04 Roman Kennke <kennke@aicas.com>
914 * gnu/javax/swing/text/html/parser/support/Parser.java
915 (Sgml): Consume any whitespace that immediately follows
917 (parseDocument): Consume any initial whitespace.
919 2006-12-03 Mark Wielaard <mark@klomp.org>
921 * gnu/javax/management/Server.java (beans): Initialize.
922 (registerMBean): Don't initialize beans.
924 2006-12-03 Mark Wielaard <mark@klomp.org>
926 * java/util/logging/LogManager.java (getLevelProperty): Check
927 whether value is null before passing to Level.parse().
929 2006-12-04 Robert Lougher <rob.lougher@gmail.com>
931 * java/lang/management/ThreadInfo.java (ThreadInfo): Check
932 whether given a null lock and lockOwner.
934 2006-12-03 Mark Wielaard <mark@klomp.org>
936 * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream.
937 (PageLoader.page): Made package local.
938 (PageLoader.run): Don't reset loader.
939 (PageLoader.cancel): New method.
940 (loading): Renamed to loader.
941 (getPage): Return loader.page.
942 (setPage): Always set loader. Never reset to null.
944 2006-12-03 Mark Wielaard <mark@klomp.org>
946 * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether
948 (isLastChild): Return false when path is null.
950 2006-12-03 Mark Wielaard <mark@klomp.org>
952 * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed
954 (paintComponent): Work with local reference to currentPaintArea.
955 (updateComponent): Likewise.
956 (coalescePaintEvent): Set currentPaintArea.
958 2006-12-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
960 * javax/management/MBeanServerBuilder.java: New file.
962 2006-12-01 Mark Wielaard <mark@klomp.org>
964 * java/text/DecimalFormat.java (parse): Always increment parsing
965 index and adjust pos result.
967 2006-12-01 Roman Kennke <kennke@aicas.com>
969 * javax/swing/text/html/HTML.java
970 (Attribute.DYNAMIC_CLASS): New field.
971 (Attribute.PSEUDO_CLASS): New field.
972 * javax/swing/text/html/HTMLDocument.java
973 (HTMLReader.CharacterAction.start): Initialize anchor with link
975 (updateSpecialClass): New helper method. Updates the dynamic
976 or pseudo class for anchor tags.
977 * javax/swing/text/html/HTMLEditorKit.java
978 (LinkController.lastAnchorElement): New field. For tracking
979 enter/exit of anchors.
980 (LinkController.activateLink): Set pseudo class to 'visited'.
981 (LinkController.mouseMoved): Added support for tracking
982 the 'hover' dynamic class.
983 * javax/swing/text/html/InlineView.java
984 (changedUpdate): Fetch new properties.
985 * javax/swing/text/html/StyleSheet.java
986 (attributeSetToMap): New helper method.
987 (getRule): Also append dynamic and pseudo class to key.
988 (resolveStyle): Resolve style based generally on all attributes.
989 * javax/swing/text/html/TableView.java
990 (RowView.layoutMajorAxis): Make sure the grid is valid.
991 (updateGrid): Made package private.
992 * gnu/javax/swing/text/html/css/Selector.java
993 (calculateSpecificity): Added support for dynamic and pseudo classes.
994 (matches): Changed to operate on general attributes.
995 Added support for dynamic and pseudo classes.
997 2006-12-01 Mario Torre <neugens@limasoftware.net>
999 * java/text/DecimalFormat.java (formatInternal): move the formatting of
1000 fractional portion in a separate method.
1001 Also fixes the handling of decimal separator and its associated field.
1002 (handleFractionalPart): new method, needed to relax a bit
1005 2006-12-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
1007 * java/beans/beancontext/BeanContextServicesSupport.java:
1008 (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices,
1009 Class)): Implemented.
1010 (BCSSProxyServiceProvider.getService(BeanContextServices, Object,
1011 Class, Object)): Implemented.
1012 (BCSSProxyServiceProvider.releaseService(BeanContextServices,
1013 Object, Object)): Implemented.
1014 (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)):
1016 (initialiseBeanContextResources()): Implemented.
1017 (releaseBeanContextResoures()): Implemented.
1019 2006-12-01 Mark Wielaard <mark@klomp.org>
1021 * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated.
1023 2006-12-01 Roman Kennke <kennke@aicas.com>
1025 * gnu/javax/swing/text/html/css/BorderStyle.java: New class for
1026 handling border styles.
1027 * gnu/javax/swing/text/html/css/BorderWidth.java
1028 (isValid): New method.
1029 * gnu/javax/swing/text/html/css/Length.java
1030 (isValid): New method.
1031 * javax/swing/text/html/CSS.java
1032 (addInternal): Added shorthand parsing for border, padding and
1034 (parseBackgroundShorthand): Added API docs.
1035 (parsePaddingShorthand): New method. Handles padding shorthand
1037 (parseMarginShorthand): New method. Handles margin shorthand
1039 (parseBorderShorthand): New method. Handles border shorthand
1041 * javax/swing/text/html/StyleSheet.java
1042 (translateHTMLToCSS): Set specific padding attributes.
1043 (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here.
1044 These shorthands are now handled in CSS.
1045 (BoxPainter.paint): Exclude the outer margin.
1047 2006-12-01 Roman Kennke <kennke@aicas.com>
1049 * gnu/javax/swing/text/html/css/Length.java
1050 (emBase): New field.
1051 (exBase): New field.
1052 (isFontEMRelative): New field.
1053 (isFontEXRelative): New field.
1054 (Length): Recognize and setup EM and EX relative values.
1055 (getValue): Handle EM and EX relative values.
1056 (isEMRelative): New method.
1057 (isEXRelative): New method.
1058 (setEMBase): New method.
1059 (setEXBase): New method.
1060 (setFontBases): New method.
1061 * gnu/javax/swing/text/html/parser/support/Parser.java
1062 (_handleEmptyTag): Use new isBlock() helper method.
1063 (_handleEndTag_remaining): Use new isBlock() helper method.
1064 (_handleStartTag): Consume whitespace after block start tag.
1065 (Comment): Consume whitespace after a comment.
1066 (isBlock): New helper method.
1067 (readAttributes): Consider all characters in unquoted attribute
1069 * javax/swing/text/html/BlockView.java
1070 (layoutMinorAxis): Use cached span value.
1071 (paint): Added debug code (commented out).
1072 (setPropertiesFromAttributes): Set the EM and EX base on lengths.
1073 * javax/swing/text/html/CSSBorder.java
1074 (CSSBorder): Take StyleSheet as argument. Call getBorderWidth()
1076 (getBorderWidth): Set the EM and EX base on the length values.
1077 * javax/swing/text/html/HTMLDocument.java
1078 (HTMLReader.ParagraphAction.end): Do not set the inParagraph field.
1079 (HTMLReader.ParagraphAction.start): Do not set the inParagraph field.
1080 (HTMLReader.inImpliedParagraph): Removed.
1081 (HTMLReader.inParagraph): Removed.
1082 (HTMLReader.parseStack): New field.
1083 (HTMLReader.addContent): Use new paragraph handling.
1084 (HTMLReader.addSpecialElement): Use new paragraph handling.
1085 (HTMLReader.blockClose): Use new paragraph handling.
1086 (HTMLReader.blockOpen): Use new paragraph handling.
1087 (HTMLReader.inImpliedParagraph): New helper method.
1088 (HTMLReader.inParagraph): New helper method.
1089 * javax/swing/text/html/ImageView.java
1090 (attributes): New field. Caches view attributes.
1091 (spans): New field. Caches CSS spans.
1092 (getAttributes): Correctly setup CSS view attributes.
1093 (getPreferredSpan): Use caches spans.
1094 (getStyleSheet): Use the view's getDocument() method.
1095 (setPropertiesFromAttributes): Cache spans and setup EM and EX.
1096 (updateSize): Use cached spans.
1097 * javax/swing/text/html/ParagraphView.java
1098 (setPropertiesFromAttributes): Setup EM and EX.
1099 * javax/swing/text/html/StyleSheet.java
1100 (BoxPainter.BoxPainter): Setup EM and EX correctly.
1101 (getEMBase): New helper method.
1102 (getEXBase): New helper method.
1103 * javax/swing/text/html/TableView.java
1104 (width): New field. Caches the table width.
1105 (calculateMinorAxisRequirements): Use caches span.
1106 (setPropertiesFromAttributes): Cache span and setup EM/EX.
1107 (updateGrid): Correctly setup EM/EX.
1109 2006-11-30 Roman Kennke <kennke@aicas.com>
1111 * javax/swing/text/html/FormSubmitEvent.java: New class.
1112 * javax/swing/text/html/FormView.java
1113 (SubmitThread): New class for submitting data in a separate thread.
1114 (actionPerformed): Fetch the actual for data.
1115 (addData): New helper method.
1116 (getElementFormData): New helper method.
1117 (getFormData): New helper method.
1118 (getInputFormData): New helper method.
1119 (submitData): Implemented.
1120 * javax/swing/text/html/FrameView.java
1121 (createComponent): Add this as hyperlink listener.
1122 Set the target document as frame document.
1123 (getTopEditorPane): New helper method.
1124 (hyperlinkUpdate): Implementation of the HyperlinkListener interface.
1125 (handleHyperlinkEvent): New helper method.
1126 (handleFormSubmitEvent): New helper method.
1127 * javax/swing/text/html/HTMLDocument.java
1128 (HTMLReader.BaseAction.start): Track the base target.
1129 (HTMLReader.BaseAction.end): Removed.
1130 (baseTarget): New field.
1131 (frameDocument): New field.
1132 (getBaseTarget): New property accessor.
1133 (isFrameDocument): New property accessor.
1134 (processHTMLFrameHyperlinkEvent): Implemented.
1135 (setFrameDocument): New property accessor.
1136 (updateFrame): New helper method.
1137 (updateFrameSet): New helper method.
1138 * javax/swing/text/html/HTMLEditorKit.java
1139 (LinkController.createHyperlinkEvent): Handle frame documents.
1140 (autoFormSubmission): New field.
1141 (HTMLEditorKit): Set autoFormSubmission to true.
1142 (isAutoFormSubmission): New property accessor.
1143 (setAutoFormSubmission): New property accessor.
1145 2006-11-30 Roman Kennke <kennke@aicas.com>
1147 * javax/swing/text/ElementIterator.java
1148 (ElementRef): New inner class.
1149 (currentDepth): Removed.
1150 (currentElement): Removed.
1151 (previousItem): Removed.
1152 (stack): New field. Holds the iteration stack.
1154 (ElementIterator(Document)): Removed init of removed fields.
1155 (ElementIterator(Element)): Removed init of removed fields.
1156 (current): Changed to stack based algorithm.
1157 (deepestLeaf): New helper method.
1158 (depth): Changed to stack based algorithm.
1159 (first): Changed to stack based algorithm.
1160 (next): Changed to stack based algorithm.
1161 (previous): Changed to stack based algorithm.
1163 2006-11-30 Francis Kung <fkung@redhat.com>
1165 * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4.
1166 * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses.
1168 2006-11-30 Francis Kung <fkung@redhat.com>
1170 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1171 (draw): Set transform in buffered composite.
1172 (drawComposite): Do not transform bounds; round bounds.
1173 (drawGlyphVector): Set transform in buffered composite.
1174 (drawRenderedImage): Set transform in buffered composite.
1175 (fill): Set transform in buffered composite.
1176 (updateBufferedImage): Fix scanline & height calculations.
1177 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1178 (createPath): Simplify width & height calculation.
1179 (drawImage): Also transform width & height.
1181 2006-11-30 Roman Kennke <kennke@aicas.com>
1183 * javax/swing/text/html/FrameSetView.java: New class. Implements
1185 * javax/swing/text/html/FrameView.java: New class. Implements
1187 * javax/swing/text/html/HTMLDocument.java:
1188 (HTMLReader.addSpecialElement): Only add one artificial space.
1189 * javax/swing/text/html/HTMLEditorKit.java
1190 (HTMLFactory.create): Uncomment code for FrameSetView and FrameView.
1191 * gnu/javax/swing/text/html/parser/support/Parser.java
1192 (_handleEmptyTag): Also consume whitespace after frame tags.
1194 2006-11-30 Gary Benson <gbenson@redhat.com>
1196 * java/lang/Thread.java: Javadoc fixes.
1198 2006-11-29 Tom Tromey <tromey@redhat.com>
1201 * java/lang/Class.java (getAnnotations): Rewrote.
1203 2006-11-29 Tania Bento <tbento@redhat.com>
1205 * tools/gnu/classpath/tools/appletviewer/TagParser.java:
1206 (parseParams): Unescape 'val' before putting it into the Map.
1207 (unescapeString): New private method.
1209 2006-11-29 Tom Tromey <tromey@redhat.com>
1211 * tools/gnu/classpath/tools/getopt/package.html: New file.
1213 2006-11-29 David Gilbert <david.gilbert@object-refinery.com>
1215 * javax/swing/plaf/metal/MetalIconFactory.java
1216 (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint,
1217 (VerticalSliderThumbIcon.paintIcon()): Likewise.
1219 2006-11-29 Mario Torre <neugens@limasoftware.net>
1221 * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign
1222 with the default international currency sign \u00A4.
1223 * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol
1224 table for string formatting.
1225 (formatInternal): likewise.
1226 (scanNegativePattern): likewise.
1227 (applyPattern): likewise.
1228 * java/text/DecimalFormatSymbols.java (clone): Revert to old version as
1229 Locale is immutable and does not need clone.
1231 2006-11-29 Francis Kung <fkung@redhat.com>
1233 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1234 (drawLine): Remove hard-coded pixel shifting.
1236 2006-11-29 Roman Kennke <kennke@aicas.com>
1238 * java/awt/Component.java
1239 (isShowing): Simplified condition code and avoid unnecessary
1241 (coalesceEvents): Always coalesce paint events and let the peer
1242 figure out the expanding of the repaint area.
1243 * gnu/java/awt/peer/swing/SwingComponentPeer.java
1244 (currentPaintEvents): Removed. Replaced by paintArea.
1245 (paintArea): New field. Tracks the dirty area.
1246 (SwingComponentPeer): Removed init of currentPaintEvents.
1247 (coalescePaintEvent): Simplified to only union the dirty regions.
1248 (handleEvent): Paint dirty region that was tracked in paintArea.
1249 * gnu/java/awt/peer/gtk/GtkComponentPeer.java
1250 (paintArea): New field. Tracks the dirty region.
1251 (coalescePaintEvent): Implemented to track the dirty region.
1252 (paintComponent): Use the dirty region in paintArea. Protect
1253 state by putting the paint and dispose code in a try-finally.
1254 (updateComponent): Use the dirty region in paintArea. Protect
1255 state by putting the paint and dispose code in a try-finally.
1257 2006-11-29 Roman Kennke <kennke@aicas.com>
1259 * java/awt/font/TextLayout.java
1260 (getVisualHighlightShape): Removed debug output.
1262 2006-11-28 Andrew Haley <aph@redhat.com>
1264 * vm/reference/sun/reflect/misc/ReflectUtil.java
1265 (checkPackageAccess): Implement.
1267 2006-11-28 Dalibor Topic <robilad@kaffe.org>
1269 * native/jni/java-lang/java_lang_VMDouble.c:
1270 (parseDoubleFromChars) New function. Factored out from ...
1271 (Java_java_lang_VMDouble_parseDouble): Factored out the parsing.
1272 (dtoa_toString): New function. Factored out from ...
1273 (Java_java_lang_VMDouble_toString) : Factored out the conversion.
1274 Changed conversion mode to 2, as modes 0 and 1 don't round
1275 as the API spec demands. Invoke conversion function as often
1276 as necessary with growing precision until a reversible
1277 representation of the double in form of a string is reached.
1279 2006-11-28 Roman Kennke <kennke@aicas.com>
1281 * javax/swing/JComponent.java
1282 (putClientProperty): Do not fire event when both old and new
1285 2006-11-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
1287 * java/lang/Enum.java:
1288 Make name and ordinal final.
1290 2006-11-27 Casey Marshall <csm@gnu.org>
1292 * java/util/jar/JarEntry.java (certs): removed.
1293 (jarfile): new field.
1294 (getCertificates): read the certificates from the containing JarFile.
1295 * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't
1296 fill in 'certs,' fill in 'jarfile' for the entry.
1297 (getEntry): likewise.
1299 2006-11-27 Francis Kung <fkung@redhat.com>
1301 * java/awt/image/WritableRaster.java
1302 (createChild): Implemented.
1304 2006-11-27 Roman Kennke <kennke@aicas.com>
1306 * java/awt/font/TextLayout.java
1307 (TextLayout(TextLayout,int,int)): Also layout the new runs.
1308 (getVisualHighlightShape): Implemented.
1309 (layoutRuns): Fixed boundary so that the last run is also laid out.
1310 (left): New helper method.
1311 (right): New helper method.
1313 2006-11-27 Roman Kennke <kennke@aicas.com>
1315 * java/awt/font/TextLayout.java
1316 (getCaretShape(TextHitInfo,Rectangle2D)): Implemented.
1317 (getCaretShape(TextHitInfo)): Use natural bounds.
1318 (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method.
1319 (getCaretShapes(int,Rectangle2D)): Delegate to new method
1320 above with DEFAULT_CARET_POLICY.
1321 (getCaretShapes(int)): Use natural bounds.
1323 2006-11-27 Roman Kennke <kennke@aicas.com>
1325 * java/awt/font/TextLayout.java
1326 (Run.font): New field.
1327 (Run.location): New field.
1328 (Run.Run): Initialize font.
1329 (font): Removed field. This is moved into Run as the actual font
1330 is something run-specific.
1331 (TextLayout(String,Font,FontRenderContext)): Set font on the
1332 single runs. Layout the runs here.
1333 (TextLayout(TextLayout,int,int)): Copy over the run fonts.
1334 (findRunAtIndex): New helper method.
1335 (getCaretInfo): Implemented.
1336 (layoutRuns): New helper method.
1337 (toString): Don't put font in output string.
1339 2006-11-27 Raif S. Naffah <classpath@naffah-raif.name>
1341 * AUTHORS: Added Jeroen Fritjers.
1343 2006-11-27 neugens <neugens@nirvana.limasoftware.net>
1345 * java/text/DecimalFormat.java (formatInternal): Add an explicit test
1346 for FieldPosition to be null.
1347 Check if the factional part is just 0 and can be omitted from the
1349 (scanNegativePattern): Fixed index out of bound exception when searching
1350 for international currency symbol in negative pattern.
1352 2006-11-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
1354 * java/beans/beancontext/BeanContextSupport.java:
1355 (readObject(ObjectInputStream)): Implemented.
1356 (writeObject(ObjectOutputStream)): Likewise.
1357 (BCSChild.getTargetChild()): Added.
1358 (bcsPreDeserializationHook()): Implemented.
1359 (bcsPreSerializationHook()): Likewise.
1360 (childDeserializedHook(Object,BCSChild)): Likewise.
1361 (isSerializing()): Likewise.
1362 (readChildren(ObjectInputStream)): Likewise.
1363 (writeChildren(ObjectOutputStream)): Likewise.
1365 2006-11-26 Roger Sayle <roger <at> eyesopen.com>
1366 Ian Lance Taylor <ian <at> airs.com>
1367 Paolo Bonzini <bonzini <at> gnu.org>
1371 * lib/gen-classlist.sh.in: Avoid using test's -ef operator for
1372 increased portability. Likewise, use -f instead of -e.
1374 2006-11-26 Mark Wielaard <mark@klomp.org>
1376 * lib/Makefile.am (propertydirs): Removed.
1377 (resources): Explicitly create all dirs.
1379 2006-11-26 Mark Wielaard <mark@klomp.org>
1381 * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket.
1383 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1385 * native/target/.cvsignore,
1386 native/target/generic/.cvsignore,
1387 native/target/Linux/.cvsignore:
1388 Removed no longer used files.
1390 * native/target: Removed no longer used directory.
1392 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1396 * libraries/clib/nio/gnu_java_nio_VMSelector.c
1397 (Java_gnu_java_nio_VMSelector_select):
1398 Use strerror if strerror_r is not available.
1400 Reported by: Michael Franz <mvfranz@gmail.com>,
1401 Riccardo Mottola <zuse@libero.it>
1403 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1407 * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed
1408 STRICT_WARNING_CFLAGS since it caused the build to fail
1411 2006-11-26 Ian Rogers <ian.rogers@manchester.ac.uk>
1413 * doc/vmintegration.texinfo: Update VM Threading Model section.
1415 2006-11-26 Tom Tromey <tromey@redhat.com>
1417 * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally
1419 (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated
1421 * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c:
1422 Conditionally include ifaddrs.h.
1423 (getif_address): Updated conditional.
1424 (getif_index): Likewise.
1425 * configure.ac: Check for ifaddrs.h.
1427 2006-11-25 Mark Wielaard <mark@klomp.org>
1429 * java/io/File.java (list): Return empty list for unreadable dirs.
1431 2006-11-25 Mark Wielaard <mark@klomp.org>
1433 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector):
1434 Synchronize on font peer.
1435 (setFont): Likewise.
1436 * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark
1438 (getTextMetrics): Likewise.
1440 2006-11-25 Roman Kennke <kennke@aicas.com>
1442 * javax/swing/text/GapContent.java
1443 (getPositionsInRange): Rewritten to use the more efficient
1444 binary search searchFirst() and avoid an NPE that was caused
1447 2006-11-25 Mark Wielaard <mark@klomp.org>
1449 * javax/swing/text/CompositeView.java (modelToView): Never return
1452 2006-11-25 Mark Wielaard <mark@klomp.org>
1454 * javax/swing/text/html/TableView.java (calculateColumnRequirements):
1455 Check whether rowView instanceof RowView.
1456 (updateGrid): Likewise.
1458 2006-11-25 Mario Torre <neugens@nirvana.limasoftware.net>
1461 * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5.
1462 * java/text/NumberFormat.java (format): all format methods, fixed
1463 FieldPosition argument should never be null.
1464 (format(Object, StringBuffer, FieldPosition)): fixed signature,
1465 method is not final.
1466 * java/text/DecimalFormatSymbols.java (clone): fixed to also clone
1468 * AUTHORS: added my name to the file.
1470 2006-11-25 Mark Wielaard <mark@klomp.org>
1472 * javax/swing/text/html/StyleSheet.java (paint): Guard against
1473 getChildAllocation() returning null.
1475 2006-11-25 Mark Wielaard <mark@klomp.org>
1477 * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity):
1478 Use clazzIndex for id substring.
1480 2006-11-25 Mark Wielaard <mark@klomp.org>
1482 * java/awt/EventQueue.java (pop): Only terminate dispatchThread when
1483 it is still running.
1485 2006-11-25 Mark Wielaard <mark@klomp.org>
1488 * doc/api/Makefile.am (create_html): Guard GJDOC invocation with
1491 2006-11-24 Tania Bento <tbento@redhat.com>
1493 * java/awt/font/TextHitInfo.java
1494 (equals(TextHitInfo)): If TextHitInfo parameter is null, return false.
1495 (beforeOffset): Decreased first parameter by 1.
1497 2006-11-24 Francis Kung <fkung@redhat.com>
1499 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1500 (constructor): Check sample model when setting fastCM flag.
1501 (updateBufferedImage): Check scanline and sample model offsets before
1502 copying data directly into the image data buffer.
1504 2006-11-24 Francis Kung <fkung@redhat.com>
1506 * gnu/java/awt/java2d/QuadSegment.java
1507 (offsetSubdivided): Handle special straight-line cases.
1509 2006-11-24 Roman Kennke <kennke@aicas.com>
1511 * java/awt/dnd/DropTarget.java
1512 (DropTargetAutoScroller.HYSTERESIS): New constant.
1513 (DropTargetAutoScroller.DELAY): New constant.
1514 (DropTargetAutoScroller.inner): New field. A cached
1516 (DropTargetAutoScroller.outer): New field. A cached
1518 (DropTargetAutoScroller.timer): New field. The actual timer.
1519 (DropTargetAutoScroller.DropTargetAutoScroller):
1521 (DropTargetAutoScroller.actionPerformed): Implemented.
1522 (DropTargetAutoScroller.stop): Implemented.
1523 (DropTargetAutoScroller.updateLocation): Implemented.
1524 (clearAutoscroll): Stop the autoscroller before nullifying it.
1525 (createDropTargetAutoScroller): Don't set the field here,
1526 only return a new instance.
1527 (dragEnter): Only do something when active. Initialize
1529 (dragExit): Only do something when active. Stop auto scrolling.
1530 (dragOver): Only do something when active. Update auto scrolling.
1531 (drop): Only do something when active. Update auto scrolling.
1532 (dropActionChanged): Only do something when active. Update
1534 (initializeAutoScrolling): Check if component is an instance
1535 of Autoscroll, otherwise do nothing.
1536 (setActive): Disable autoscrolling when deactivating.
1537 (setComponent): When component is set to null, disable autoscrolling.
1539 2006-11-24 David Gilbert <david.gilbert@object-refinery.com>
1541 * java/beans/beancontext/BeanContextServicesSupport.java
1542 (getChildBeanContextServicesListener): Implemented.
1544 2006-11-23 Roman Kennke <kennke@aicas.com>
1546 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1547 (createGraphics): Use constructor to create new instance of
1548 BufferedImageGraphics.
1549 * java/awt/Toolkit.java
1550 (getDefaultToolkit): Really try to get a real toolkit. Only
1551 use HeadlessToolkit if no other is available.
1552 * gnu/java/awt/peer/gtk/GtkToolkit.java
1553 (checkHeadless): New helper method. Checks for headless environment
1554 and throws HeadlessException if appropriate.
1555 (createButton): Check for headless.
1556 (createCanvas): Check for headless.
1557 (createCheckbox): Check for headless.
1558 (createCheckboxMenuItem): Check for headless.
1559 (createChoice): Check for headless.
1560 (createDialog): Check for headless.
1561 (createDragGestureRecognizer): Check for headless.
1562 (createDragSourceContextPeer): Check for headless.
1563 (createEmbeddedWindow): Check for headless.
1564 (createFileDialog): Check for headless.
1565 (createFrame): Check for headless.
1566 (createCheckbox): Check for headless.
1567 (createLabel): Check for headless.
1568 (createList): Check for headless.
1569 (createMenu): Check for headless.
1570 (createMenuBar): Check for headless.
1571 (createMenuItem): Check for headless.
1572 (createPanel): Check for headless.
1573 (createPopupMenu): Check for headless.
1574 (createScrollbar): Check for headless.
1575 (createScrollPane): Check for headless.
1576 (createTextArea): Check for headless.
1577 (createTextField): Check for headless.
1578 (createWindow): Check for headless.
1580 2006-11-23 David Gilbert <david.gilbert@object-refinery.com>
1582 * java/beans/beancontext/BeanContextSupport.java
1583 (deserialize): Implemented,
1584 (serialize): Implemented.
1586 2006-11-23 Roman Kennke <kennke@aicas.com>
1588 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1589 (createGraphics): Try to use Cairo graphics if available.
1591 2006-11-22 David Gilbert <david.gilbert@object-refinery.com>
1593 * java/beans/beancontext/BeanContextSupport.java
1594 (toArray): Added API docs,
1595 (toArray(Object[])): Added API docs, removed NotImplementedException.
1597 2006-11-22 Tania Bento <tbento@redhat.com>
1599 * javax/swing/JRootPane.java
1600 (setLayeredPane): Added documentation; throw
1601 IllegalComponentStateException if layered pane parameter is null.
1603 2006-11-22 David Gilbert <david.gilbert@object-refinery.com>
1605 * java/beans/beancontext/BeanContextSupport.java
1606 (avoidingGui): Removed NotImplementedException.
1608 2006-11-22 Francis Kung <fkung@redhat.com>
1610 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1611 (drawGlyphVector): Clip updated area to glyph bounds.
1612 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1613 (createPath): Eliminate distortion when pixel-shifting rectangles; separate
1614 x-coordinate and y-coordinate pixel shifting.
1615 (shifted): Removed method.
1616 (shiftX): New method, recognising scaling transforms.
1617 (shiftY): New method, recognising scaling transforms.
1618 (walkPath): Separate x-coordinate and y-coordinate pixel shifting.
1620 2006-11-22 Roman Kennke <kennke@aicas.com>
1622 * java/awt/font/TextLayout.java
1623 (hash): New field. Caches the hash code.
1624 (hashCode): Implemented.
1626 2006-11-22 Roman Kennke <kennke@aicas.com>
1628 * java/awt/image/ImageFilter.java
1629 Reformat whole class.
1630 (getFilterInstance): Don't touch the consumer field. Don't check
1632 (imageComplete): Don't check consumer.
1633 (setColorModel): Don't check consumer.
1634 (setDimensions): Don't check consumer.
1635 (setHints): Don't check consumer.
1636 (setPixels): Don't check consumer.
1637 (setProperties): Pass the original property too.
1638 * java/awt/image/IndexColorModel.java
1639 (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the
1640 transparent pixel by calling the new helper method.
1641 (IndexColorModel(int,int,byte[],int,boolean,int)): Set the
1642 transparent pixel by calling the new helper method.
1643 (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the
1644 transparent pixel by calling the new helper method.
1645 (coerceData): Removed. This is not needed.
1646 (getAlpha): Simply return value from color map. The transparent
1647 pixel has to be there.
1648 (setTransparentPixel): New helper method. Inserts the transparent
1650 * java/awt/image/RGBImageFilter.java
1651 Reformat whole class.
1652 (convertColorModelToDefault): Removed. No longer needed.
1653 (filterIndexColorModel): Don't handle transparent pixels
1655 (filterRGBPixels): Set pixels on consumer already.
1656 (makeColor): Removed. No longer needed.
1657 * java/awt/image/ReplicateScaleFilter.java
1658 (replicatePixels): Removed.
1659 (setDimension): Correctly compute destination size, avoid double
1661 (setPixels): Avoid double calculations. Fixed some boundary cases.
1662 (setupSources): New helper method.
1663 * java/awt/image/SampleModel.java
1664 (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT
1666 * java/awt/image/SinglePixelPackedSampleModel.java
1667 (setDataElements(int,int,int,int,Object,DataBuffer)): Removed.
1668 This is not needed as the superclass already copies line
1670 (setDataElements(int,int,Object,DataBuffer)): Simplified code,
1671 removed some checks that the RI also doesn't perform. Call
1672 DataBuffer.setElem().
1674 2006-11-22 Roman Kennke <kennke@aicas.com>
1676 * java/awt/text/TextLayout.java
1677 (getLogicalRangesForVisualSelection): Implemented.
1679 2006-11-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
1681 * sun/reflect/annotation/AnnotationParser.java,
1682 * sun/reflect/annotation/AnnotationType.java,
1683 * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java,
1684 * sun/reflect/annotation/ExceptionProxy.java:
1686 * sun/misc/ServiceConfigurationError.java,
1687 * sun/misc/Service.java:
1690 2006-11-21 Roman Kennke <kennke@aicas.com>
1692 * java/awt/text/TextLayout.java
1693 (Run.isLeftToRight): New helper method.
1694 (logicalToVisual): New field. Maps logical indices to visual
1696 (visualToLogical): New field. Maps visual indices to logical
1698 (TextLayout): Setup mappings.
1699 (setupMappings): New method for setting up the mappings.
1700 (getCharacterLevel): Reorganized code.
1701 (getNextLeftHit(int)): Implemented.
1702 (getNextLeftHit(int,CaretPolicy)): New method.
1703 (getNextLeftHit(TextHitInfo)): Implemented.
1704 (getNextRightHit(int)): Implemented.
1705 (getNextRightHit(int,CaretPolicy)): New method.
1706 (getNextRightHit(TextHitInfo)): New method.
1707 (getVisualOtherHit): Implemented.
1708 (checkHitInfo): New helper methods for checking parameters.
1709 (hitToCaret): New helper method. Maps hit infos to caret locations.
1710 (caretToHit): New helper method. Maps caret locations to hit infos.
1711 (isCharacterLTR): New helper method.
1712 (CaretPolicy.getStrongCaret): Implemented.
1714 2006-11-21 Francis Kung <fkung@redhat.com>
1716 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1717 (draw): Include stroke width when calculating bounds.
1718 (updateBufferedImage): Round bounds more generously, handle negative
1719 height/width values, and clip more intelligently.
1720 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1721 (createPath): Add shortcut optimization for lines.
1722 (draw): Include stroke width when calculating bounds.
1723 (drawLine): Delegate to main draw() method.
1724 (drawRect): Likewise.
1725 (fillRect): Delegate to main fill() method.
1726 (findStrokedBounds): New method.
1727 (setCustomPaint): Round bounds more generously.
1728 * gnu/java/awt/peer/gtk/ComponentGraphics.java
1729 (drawLine): Removed.
1730 (drawRect): Removed.
1731 (fillRect): Removed.
1733 2006-11-21 Francis Kung <fkung@redhat.com>
1735 * gnu/java/awt/java2d/TexturePaintContext.java
1736 (getRaster): Handle negative coordinate values.
1737 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1738 (setPaint): Moved custom paint processing to a new method.
1739 (setPaintPixels): Added x, y parameters.
1740 (getRealBounds): Added documentation.
1741 (copy): Copy clipping information.
1742 (drawLine): Process custom paints.
1743 (setCustomPaint): New method.
1744 (fill): Process custom paints.
1745 (drawGlyphVector): Process custom paints.
1746 (drawRect): Process custom paints.
1747 (draw): Process custom paints.
1748 * gnu/java/awt/peer/gtk/CairoSurface.java
1749 (cairoCM_opaque): New constant.
1750 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1751 (argb32): Removed constant.
1752 (rgb32): Removed constant.
1753 (BufferedImageGraphics(BufferedImage)): Updated constant names.
1754 (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags.
1755 (updateBufferedImage): Transform to device-space before updating.
1756 * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
1757 (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y
1759 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
1760 (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern
1761 source at designated x, y origin.
1763 2006-11-21 Roman Kennke <kennke@aicas.com>
1765 * java/awt/text/TextLayout.java
1766 (Run): New inner helper class.
1767 (length): New field.
1768 (naturalBounds): New field.
1769 (offset): New field.
1770 (runIndices): Removed. This is now encapsulate in a Run object.
1771 (runs): Changed to Run[].
1772 (string): Changed to char[].
1773 (totalAdvance): New field. Caches advance value.
1774 (TextLayout(String,Font,FontRenderContext)): Change to store
1775 string as char[] and run layout as Run[]. Clean out empty
1777 (TextLayout(TextLayout,int,int)): Change to store
1778 string as char[] and run layout as Run[].
1779 (clone): Call private constructor for maximum efficiency.
1780 (determineWhitespace): Adapted to use char[] data.
1781 (draw): Adapted to use Run objects.
1782 (getAdvance): Cache computed total advance.
1783 (getBlackBoxBounds): Adapted to use Run objects.
1784 (getCaretInfo): Use natural layout bounds.
1785 (getCharacterCount): Return length field.
1786 (getLogicalHighlightShape): Adapted to use Run objects.
1787 (getNaturalBounds): New helper method. Calculates and returns the
1788 natural bounds of this text layout.
1789 (getOutline): Adapted to use Run objects.
1790 (getStringProperties): Adapted to use char[] data.
1791 (getVisibleAdvance): Adapted to use char[] and Run data.
1792 (handleJustify): Adapted to use char[] and Run data.
1793 (hitTestChar(float,float,Rectangle2D)): Implemented.
1794 (hitTestChar(float,float)): Use natural bounds.
1795 (setCharIndices): Adapted to use char[] and Run data.
1796 (toString): Adapted to use char[] and Run data.
1797 * java/text/Bidi.java
1798 (requiresBidi): Exclude paragraph separators from bidi-triggers.
1800 2006-11-21 Roman Kennke <kennke@aicas.com>
1802 * gnu/java/awt/peer/gtk/GdkFontMetrics.java:
1803 Removed. This is now an inner class in GdkFontPeer.
1804 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1805 (drawString(float,float)): Use text layout cache from
1807 (getFontMetrics): Delegate to GdkFontPeer.
1808 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
1809 (getGlyphCodes): Also check array size.
1810 (getGlyphPositions): Also check array size.
1811 * gnu/java/awt/peer/gtk/GdkFontPeer.java
1812 (GdkFontLineMetrics.fm): Removed.
1813 (GdkFontLineMetrics.strikeThroughOffset): Removed.
1814 (GdkFontLineMetrics.strikeThroughThickness): Removed.
1815 (GdkFontLineMetrics.underlineOffset): Removed.
1816 (GdkFontLineMetrics.underlineThickness): Removed.
1817 (GdkFontLineMetrics.GdkFontLineMetrics): Don't take
1818 FontMetrics argument. Don't init removed fields.
1819 (GdkFontLineMetrics.getAscent): Return font peer's field.
1820 (GdkFontLineMetrics.getDescent): Return font peer's field.
1821 (GdkFontLineMetrics.getHeight): Return font peer's field.
1822 (GdkFontLineMetrics.getLeading): Return font peer's field.
1823 (GdkFontLineMetrics.getNumChars): Reformat.
1824 (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent.
1825 (GdkFontLineMetrics.getStrikeThroughThickness): Return 1.
1826 (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field.
1827 (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field.
1828 (GdkFontMetrics): Moved class in here as inner class.
1829 Make it use the font peer's fields and for the char(s) width
1830 and string width method, use TextLayout to measure the actual widths.
1831 (ascent): New field.
1833 (DEFAULT_CTX): New constant field.
1834 (descent): New field.
1835 (FONT_METRICS_ASCENT): New constant.
1836 (FONT_METRICS_DESCENT): New constant.
1837 (FONT_METRICS_HEIGHT): New constant.
1838 (FONT_METRICS_MAX_ADVANCE): New constant.
1839 (FONT_METRICS_MAX_ASCENT): New constant.
1840 (FONT_METRICS_MAX_DESCENT): New constant.
1841 (FONT_METRICS_UNDERLINE_OFFSET): New constant.
1842 (FONT_METRICS_UNDERLINE_THICKNESS): New constant.
1843 (height): New field.
1844 (maxAdvance): New field.
1845 (maxAscent): New field.
1846 (maxDescent): New field.
1847 (metrics): New field. Stores a FontMetrics for this font.
1848 (textLayoutCache): New field. Caches TextLayout instances.
1849 (underlineOffset): New field.
1850 (underlineThickness): New field.
1851 (cinit): Don't initialize resource bundle.
1852 (GdkFontPeer): Setup the metrics.
1853 (getFontMetrics): Return stored metrics if possible.
1854 (getLineMetrics): Adapt to new constructor.
1855 (initFont): New helper method.
1856 (setupMetrics): New helper method.
1857 * gnu/java/awt/peer/gtk/GtkToolkit.java
1858 (LRUCache): Made class a static class.
1859 (getFontMetrics): Delegate to GdkFontPeer.
1860 * native/jni/gtk-peer/gdkfont.h
1861 Added new constant defines.
1862 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
1863 (getFontMetrics): Rewritten to fetch the font metrics from
1866 2006-11-20 Tania Bento <tbento@redhat.com>
1868 * javax/swing/ButtonGroup.java:
1869 (setSelected): Select the ButtonModel if all conditions
1872 2006-11-20 Tania Bento <tbento@redhat.com>
1874 * javax/swing/JSlider.java:
1875 (updateLabelUIs): Removed casting.
1877 2006-11-20 Mark Wielaard <mark@klomp.org>
1879 * gnu/java/util/regex/RE.java (messages): Don't initialize.
1880 (bundle): New static final String field.
1881 (getLocalizedMessage): Initialize messages when still null.
1882 * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed.
1883 (set): Use RE.getLocalizedMessage().
1885 (setLineSeparator): Likewise.
1887 2006-11-20 Roman Kennke <kennke@aicas.com>
1889 * javax/swing/text/html/StyleSheet.java
1890 (linked): New field.
1891 (styleSheet): Replaced by linked.
1892 (addStyleSheet): Use an arraylist for simplicity.
1893 (getRule): Removed useless instantiation.
1894 (getStyleSheets): Convert array list to array.
1895 (removeStyleSheet): Use an arraylist for simplicity.
1896 (resolveStyle): Include styles from linked lists.
1898 2006-11-20 Roman Kennke <kennke@aicas.com>
1900 * javax/swing/text/BoxView.java
1901 (BoxView): Initialize with invalid req's.
1902 (forwardUpdate): Trigger repaint when children changed the
1904 (getResizeWeight): Return resizable when the pref differs from
1905 the min or the pref differs from the max size.
1906 (layoutMajorAxis): Actually sum up the preferred sizes.
1907 (paint): Made binary search more robust.
1908 (replace): Let arrays shrink when needed.
1909 (replaceLayoutArray): Let arrays shrink when needed.
1910 (setAxis): Trigger preferenceChanged.
1911 * javax/swing/text/CompositeView.java
1912 (getInsideAllocation): Call insets method to take account
1913 of overriding subclasses.
1914 * javax/swing/text/DefaultStyledDocument.java
1915 (ElementBuffer.finishEdit): Clear the stack and edits buffer.
1916 (ElementBuffer.insertUpdate): Only remove the found element, not
1918 * javax/swing/text/GlyphView.java
1919 (insertUpdate): Pass null in preferenceChanged.
1920 (removeUpdate): Pass null in preferenceChanged.
1921 (changedUpdate): Pass null in preferenceChanged.
1922 * javax/swing/text/Utilities.java
1923 (drawTabbedText): Avoid single calls to charWidth() and instead
1924 call charsWidth() on whole chunks.
1925 * javax/swing/text/html/HTMLDocument.java
1926 (BlockElement.getName): Fall back to super when necessary.
1927 (RunElement.getName): Fall back to super when necessary.
1928 (HTMLReader.MAX_THRESHOLD): New constant field.
1929 (HTMLReader.GROW_THRESHOLD): New constant field.
1930 (HTMLReader.theshold): New field.
1931 (HTMLReader.HTMLReader): Fetch threshold from document.
1932 (HTMLReader.addContent): Sucessivly grow the threshold.
1933 (createLeafElement): Don't create two elemens and don't set
1935 * javax/swing/text/html/TableView.java
1936 (RowView.replace): Invalidate grid.
1937 (gridValid): Made package private.
1938 (layoutMinorAxis): Mark all rows as invalid.
1939 (replace): Invalidate grid.
1941 2006-11-20 Roman Kennke <kennke@aicas.com>
1943 * javax/swing/text/AbstractDocument.java
1944 (DefaultDocumentEvent.changes): Changed to be a HashMap.
1945 (DefaultDocumentEvent.modified): Made private.
1946 (DefaultDocumentEvent.THRESHOLD): New constant field.
1947 (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize
1949 (DefaultDocumentEvent.addEdit): Switch to hashmap only when
1950 exceeding threshold.
1951 (DefaultDocumentEvent.getChange): Use iterative approach
1952 when we have no hashmap yet.
1953 (documentCV): Removed.
1954 (numWriters): Renamed from numWritersWaiting.
1955 (createPosition): Reformat.
1956 (getCurrentWriter): Synchronized.
1957 (readLock): Implement more straightforward.
1958 (readUnlock): Implement more straightforward.
1959 (writeLock): Implement more straightforward.
1960 (writeUnlock): Implement more straightforward.
1961 (remove): Write-lock here.
1962 (removeImpl): Don't write-lock here.
1964 2006-11-20 Roman Kennke <kennke@aicas.com>
1966 * javax/swing/JEditorPane.java
1967 (setPage): Set priority on loading thread.
1969 2006-11-20 Roman Kennke <kennke@aicas.com>
1971 * javax/swing/plaf/basic/BasicTextUI.java
1972 (RootView.paint): Avoid allocation.
1973 (cachedInsets): New field. Caches an Insets instance.
1974 (getNextVisualPositionFrom): Read-lock the document to avoid
1975 thread nastiness. Push allocation.
1976 (getPreferredSize): Push fake allocation when not yet laid out.
1977 (getVisibleEditorRect): Use cached insets.
1978 (viewToModel): Read-lock the document to avoid
1979 thread nastiness. Push allocation.
1981 2006-11-20 Roman Kennke <kennke@aicas.com>
1983 * javax/swing/text/StyleContext.java
1984 (attributeSetPool): Synchronize this map.
1985 (addAttribute): Synchronize this method.
1986 (addAttributes: Synchronize this method.
1987 (readObject): Install synchronized map on target object.
1988 (removeAttribute): Synchronize this method.
1989 (removeAttributes): Synchronize this method.
1990 (removeAttributes): Synchronize this method.
1992 2006-11-20 Roman Kennke <kennke@aicas.com>
1994 * javax/swing/text/GapContent.java
1995 (GapContentPosition.GapContentPosition): Removed constructor.
1996 (Mark): Made subclass of WeakReference to refer directly to
1997 the associated position.
1998 (Mark.refCount): Removed.
1999 (Mark.Mark(int,GapContentPosition,ReferenceQueue):
2000 New constructor. Used to reference a position and register the
2002 (Mark.Mark(index)): Call super and don't adjust mark offset.
2003 (Mark.compareTo): Removed.
2004 (Mark.equals): Removed.
2005 (Mark.getOffset): Return at least null. Removed assert.
2006 (Mark.getPosition): New helper method.
2007 (garbageMarks): New field.
2008 (positions): Removed.
2009 (searchMark): New field.
2010 (GapContent): Removed init of positions map.
2011 (addImpl): New helper method.
2012 (adjustPositionsInRange): Removed.
2013 (compare): New helper method.
2014 (createPosition): Rewritten for new datastructures. This now
2015 performs a much more efficient binary search for finding
2016 a position at the requested offste.
2017 (garbageCollect): Rewritten to collect unused marks.
2018 (getPositionsInRange): Adjusted for new data structures.
2019 (removeImpl): New helper method.
2020 (replace): Use new addImpl() and removeImpl() helper method for
2021 correctly adjusting the positions and gap.
2022 (search): Rewritten. Implements a more suitable binary search.
2023 (searchFirst): New helper method.
2024 (setPositionsInRange): Removed.
2025 (shiftEnd): Update the marks here.
2026 (shiftGap): Update the marks here.
2027 (shiftGapEndUp): Update the marks here.
2028 (shiftGapStartDown): Update the marks here.
2030 2006-11-20 Marco Trudel <mtrudel@gmx.ch>
2032 * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache
2033 digest algorithm implementations.
2034 (readSignatures): Parse the manifest once and reuse that data.
2035 Add support for line breaks.
2036 (verifyHashes): Use the parsed manifest entry.
2037 (readManifestEntry): Removed.
2039 2006-11-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
2041 * java/beans/beancontext/BeanContextServicesSupport.java:
2042 Added more documentation.
2043 (addService(Class,BeanContextServiceProvider,boolean)):
2044 Synchronized over global hierarchy lock.
2045 (bcsPreDeserializationHook(ObjectInputStream)): Implemented.
2046 (bcsPreSerializationHook(ObjectOutputStream)): Implemented.
2047 (childJustRemovedHook(Object,BCSChild)): Implemented.
2048 (createBCSSServiceProvider(Class,BeanContextServiceProvider)):
2050 (fireServiceRevoked(BeanContextServiceRevokedEvent)):
2051 Added revocation-only listeners.
2052 (getBeanContextServicesPeer()): Implemented.
2053 (getCurrentServiceClasses(Class)): Synchronized over global
2055 (getCurrentServiceSelectors(Class)): Synchronized over global
2056 hierarchy lock, and fixed FIXME.
2057 (getService(BeanContextChild,Object,Class,Object,
2058 BeanContextServiceRevokedListener)): Implemented.
2059 (hasService(Class)): Synchronized over global hierarchy lock.
2060 (releaseService(BeanContextChild,Object,Object)): Implemented.
2061 (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented.
2062 * java/beans/beancontext/BeanContextSupport.java:
2063 (remove(Object, boolean)): Documentation correction.
2065 2006-11-19 Roman Kennke <kennke@aicas.com>
2067 * javax/swing/JEditorPane.java
2068 (PageStream): New inner class.
2069 (PageLoader): New inner class.
2070 (loading): New field.
2071 (setPage): Implemented asynchronous loading.
2072 * javax/swing/text/DefaultStyledDocument.java
2073 (ElementBuffer.create): New helper method.
2074 (create): Use new ElementBuffer method instead of hack.
2075 * javax/swing/text/html/HTMLDocument.java
2076 (HTMLReader.flushImpl): New helper method.
2077 (HTMLReader.addContent): Use flushImpl().
2078 (HTMLReader.blockClose): Added null check.
2079 (HTMLReader.flush): Use flushImpl().
2080 * javax/swing/text/html/HTMLEditorKit.java
2081 (createDefaultDocument): Set load priority to 4 and token threshold
2083 * javax/swing/text/html/TableView.java
2084 (insertUpdate): Overridden to provide correct view factory.
2085 (removeUpdate): Overridden to provide correct view factory.
2086 (changedUpdate): Overridden to provide correct view factory.
2088 2006-11-19 Roman Kennke <kennke@aicas.com>
2090 * javax/swing/text/BoxView.java
2091 (clipRect): New field.
2092 (tmpRect): New field.
2093 (layout): Reorganized code. Now uses layoutAxis() helper method.
2094 (layoutAxis): New helper method.
2095 (paint): Optimized by using cached Rectangle objects and
2096 a binary search for child views inside the clip.
2097 * javax/swing/text/CompositeView.java
2098 (insideAllocation): Made private and initialized in constructor.
2099 (getInsideAllocation): Removed initialization block for
2100 insideAllocation field. Avoid unnecessary allocations.
2101 * javax/swing/text/GlyphView.java
2102 (DefaultGlyphPainter.paint): Only paint the actual glyphs here
2103 The remaining stuff (background, underline and striking) is
2104 done in the GlpyhView itself. Avoid unnecessary allocations.
2105 (cached): A cached Segment instance.
2106 (getText): Return cached segment.
2107 (paint): Paint underline, strike and background here. Avoid
2110 2006-11-19 Roman Kennke <kennke@aicas.com>
2112 * javax/swing/text/html/StyleSheet.java
2113 (getFontSize): Removed debug output.
2114 (ListPainter.tmpRect): New field.
2115 (ListPainter.paint): Align bullet vertically centered to
2116 the first line of the paragraph.
2118 2006-11-17 Roman Kennke <kennke@aicas.com>
2120 * gnu/javax/swing/text/html/css/CSSParser.java
2121 (parseDeclaration): Trim string before reporting.
2122 * gnu/javax/swing/text/html/css/FontSize.java
2124 (isRelative): New field.
2125 (sizeIndex): New field.
2126 (FontSize): Initialize new fields.
2127 (getValue): Changed to call getValue(int).
2128 (getValue(int)): New method. Implements relative font sizes.
2129 (isRelative): New method.
2130 (mapAbsolute): Store index.
2131 (mapEM): New helper method.
2132 (mapLarger): New helper method.
2133 (mapPercent): New helper method.
2134 (mapRelative): New helper method.
2135 (mapSmaller): New helper method.
2136 (mapValue): New helper method.
2137 * javax/swing/text/html/CSS.java
2138 (parseBackgroundShorthand): Create CSSColor directly.
2139 * javax/swing/text/html/StyleSheet.java
2140 (addRule): Invalidate resolved styles.
2141 (getFont): Call new getFontSize() method to resolve relative
2143 (getFontSize): New helper method. Resolves relative font sizes.
2144 (translateHTMLToCSS): Create CSS objects directly.
2146 2006-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
2148 * gnu/java/util/regex/RETokenNamedProperty.java:
2149 (getHandler(String)): Add support for 'all'.
2151 2006-11-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
2153 * gnu/javax/management/Server.java:
2154 Initial implementation of a GNU management server.
2155 * javax/management/MBeanPermission.java,
2156 * javax/management/MBeanRegistration.java,
2157 * javax/management/MBeanTrustPermission.java:
2160 2006-11-17 Mark Wielaard <mark@klomp.org>
2162 * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement.
2164 2006-11-17 Gary Benson <gbenson@redhat.com>
2166 * java/net/DatagramSocket.java (getLocalAddress, connect,
2167 receive): Perform security check on address not hostname.
2169 2006-11-16 Roman Kennke <kennke@aicas.com>
2171 * gnu/javax/swing/text/html/parser/support/Parser.java
2172 (_handleText): Fixed condition for consuming whitespace.
2173 Removed validator check, this is superfluous now.
2175 2006-11-16 Roman Kennke <kennke@aicas.com>
2177 * gnu/javax/swing/text/html/css/CSSParser.java
2178 (parseRuleset): Support 'combined' selectors.
2179 (main): Adapt callback for combined selectors support.
2180 * gnu/javax/swing/text/html/css/CSSParserCallback.java
2181 (startStatement): Take selector array as argument, to
2182 support combined selectors.
2183 * javax/swing/text/html/BlockView.java
2184 (calculateMinorAxisRequirements): Fetch and apply alignment.
2185 * javax/swing/text/html/StyleSheet.java
2186 (CSSStyle): Inverted the constants for correct precedence.
2187 (CSSStyleSheetParserCallback.styles): New field. Stores the current
2189 (CSSStyleSheetParserCallback.style): Removed.
2190 (CSSStyleSheetParserCallback.declaration): Update multiple styles.
2191 (CSSStyleSheetParserCallback.end): Push multiple styles.
2192 (CSSStyleSheetParserCallback.start): Initialize multiple styles.
2194 2006-11-16 Roman Kennke <kennke@aicas.com>
2196 * javax/swing/text/FlowView.java
2197 (LogicalView.getPreferredSpan): Calculate maximum correctly.
2198 * javax/swing/text/GlyphView.java
2199 (tabExpander): New field.
2201 (breakView): Set tabX on broken view.
2202 (getPartialSpan): Let the painter fetch the span.
2203 (getTabbedSpan): Update the tab expander field. Maybe trigger
2205 (getTabExpander): Simply return the stored expander.
2206 * javax/swing/text/Utilities.java
2207 (getTabbedTextOffset): Made algoritm a little smarter and more
2209 (getTabbedTextWidth): Don't add single char widths, instead add
2210 chunks of characters.
2211 * javax/swing/text/html/ParagraphView.java
2212 (calculateMinorAxisRequirements): Adjust margin only when the
2213 CSS span is not fixed.
2215 2006-11-16 David Gilbert <david.gilbert@object-refinery.com>
2217 * java/beans/beancontext/BeanContextSupport.java
2218 (getChildBeanContextMembershipListener): Implemented,
2219 (getChildPropertyChangeListener): Implemented,
2220 (getChildSerializable): Implemented,
2221 (getChildVetoableChangeListener): Implemented,
2222 (getChildVisibility): Implemented,
2223 (setDesignTime): Use same property name as Sun's implementation.
2225 2006-11-16 David Gilbert <david.gilbert@object-refinery.com>
2227 * java/beans/DesignMode.java: Reformatted and removed a FIXME,
2228 * java/beans/Statement.java
2229 (toString): Updated to match reference implementation.
2231 2006-11-15 Roman Kennke <kennke@aicas.com>
2233 * javax/swing/text/html/HTMLEditorKit.java
2234 (InsertHTMLTextAction.actionPerformed): Also try inserting
2235 the alternate tag. Adjust the selection accordingly.
2236 (InsertHTMLTextAction.adjustSelection): New helper method.
2237 Adjusts the selection after an insertion.
2238 (insertAtBoundary): Delegate to deprecated method.
2239 (insertAtBoundry): Implemented missing method.
2240 (tryInsert): New helper method.
2241 (defaultActions): Implemented to fill the array with
2242 a couple of InsertHTMLTextActions.
2244 2006-11-15 Roman Kennke <kennke@aicas.com>
2246 * javax/swing/text/html/ImageView.java
2247 (Observer): New class. Observes image loading.
2248 (haveHeight): New field.
2249 (haveWidth): New field.
2250 (height): New field.
2253 (imageIcon): New field.
2254 (loading): New field.
2255 (observer): New field.
2256 (reloadImage): New field.
2257 (reloadProperties): New field.
2258 (ImageView): Initialize observer and some flags.
2259 (getImage): Update the image state and return the image.
2260 (loadImage): New helper method. Actually starts loading.
2261 (paint): Rewritten to paint the image directly, not via Icon.
2262 (reloadImage): Rewritten. Loads the image and its properties.
2263 (renderIcon): Removed. No more necessary.
2264 (setPropertiesFromAttributes): Don't nullify image here.
2265 Added comment about missing impl.
2266 (setSize): Added comment about missing impl.
2267 (updateSize): New helper method. Updates the size attributes.
2268 (updateState): New helper method. Makes sure the image
2269 and its properties are valid.
2271 2006-11-15 Roman Kennke <kennke@aicas.com>
2273 * gnu/javax/swing/text/html/parser/support/Parser.java
2274 (_handleEndTag_remaining): Consume whitespace after a closing
2277 2006-11-15 Roman Kennke <kennke@aicas.com>
2279 * javax/swing/text/html/HTMLDocument.java
2280 (HTMLReader.ParagraphAction.end): Call super instead of blockClose()
2282 (HTMLReader.ParagraphAction.start): Call super instead of blockOpen()
2284 (HTMLReader.parseStack): Removed.
2285 (HTMLReader.blockClose): Simply call addContent() with ' '
2286 instead of doing more complicated stuff. Removed parseStack
2288 (HTMLReader.blockOpen): Removed parseStack handling.
2289 (getInsertingReader): Removed parseStack init.
2290 * gnu/javax/swing/text/html/parser/htmlValidator.java
2291 (closeTag): Return true only when the tag actually should be
2293 * gnu/javax/swing/text/html/parser/support/Parser.java
2294 (_handleEndTag): Only actually close the tag when the validator
2297 2006-11-15 Roman Kennke <kennke@aicas.com>
2299 * javax/swing/text/html/CSS.java
2300 (Attribute.BORDER_SPACING): New field for the CSS border-spacing
2302 * javax/swing/text/html/StyleSheet.java
2303 (BoxPainter.bottomPadding): New field.
2304 (BoxPainter.leftPadding): New field.
2305 (BoxPainter.rightPadding): New field.
2306 (BoxPainter.topPadding): New field.
2307 (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes
2309 (BoxPainter.getInset): Recognize and include the padding.
2310 (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING.
2311 javax/swing/text/html/TableView.java
2312 (RowView.calculateMajorAxisRequirements): Adjust req's for
2314 (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing.
2315 (cellSpacing): New field.
2316 (columnRequirements): Made package private to avoid accessor method.
2317 (calculateMinorAxisRequirements): Include cellSpacing.
2318 (calculateMajorAxisRequirements): Overridden to include cellSpacing.
2319 (layoutMajorAxis): Likewise.
2320 (layoutColumns): Respect cellSpacing.
2321 (setParent): Overridden to fetch the CSS attributes when view gets
2323 (setPropertiesFromAttributes): New method. Fetches the cell
2324 spacing from the CSS attributes.
2326 2006-11-15 Roman Kennke <kennke@aicas.com>
2328 * gnu/javax/swing/text/html/parser/support/Parser.java
2329 (_handleText): Consume whitespace directly before a closing tag.
2330 (restOfTag): Consume whitespace directly after opening.
2331 * gnu/javax/swing/text/html/parser/support/textPreProcessor.java
2332 (preprocess): Don't perform array boundary checking by
2333 catch AIOOBE, instead check the boundary in loop condition.
2334 * gnu/javax/swing/text/html/parser/support/low/Constants.java
2335 (TAG_CLOSE): New constants. Describes the token pattern for
2338 2006-11-14 Roman Kennke <kennke@aicas.com>
2340 * javax/swing/text/html/ImageView.java
2341 (getPreferredSpan): Use CSS length values.
2342 * javax/swing/text/html/TableView.java
2343 (CellView.calculateMajorAxisRequirements): Overridden to
2344 set the maximum reqs to maximum.
2345 (RowView.getMaximumSize): For the X_AXIS, set the maximum
2347 (RowView.getMinimumSpan): Overridden. For the X_AXIS, return
2348 the total column reqs.
2349 (RowView.getPreferredSpan): Overridden. For the X_AXIS, return
2350 the total column reqs.
2351 * gnu/javax/swing/text/html/css/CSSColor.java
2352 (convertValue): Catch NumberFormatExceptions for more robustness.
2353 * gnu/javax/swing/text/html/css/FontSize.java
2354 (mapPixels): Actually map px values. Catch NFE for more robustness.
2356 2006-11-14 Roman Kennke <kennke@aicas.com>
2358 * gnu/java/awt/font/autofit/AxisHints.java,
2359 * gnu/java/awt/font/autofit/Constants.java,
2360 * gnu/java/awt/font/autofit/GlyphHints.java,
2361 * nu/java/awt/font/autofit/Latin.java,
2362 * nu/java/awt/font/autofit/LatinAxis.java,
2363 * gnu/java/awt/font/autofit/LatinMetrics.java,
2364 * gnu/java/awt/font/autofit/Scaler.java,
2365 * gnu/java/awt/font/autofit/Script.java,
2366 * gnu/java/awt/font/autofit/ScriptMetrics.java,
2367 * gnu/java/awt/font/autofit/Segment.java,
2368 * gnu/java/awt/font/autofit/Width.java:
2369 New classes. This is some skeleton stuff for the FreeType-alike
2371 * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public.
2372 * gnu/java/awt/font/opentype/OpenTypeFont.java
2373 (unitsPerEm): Made field public.
2374 (getRawGlyphOutline): New method. Fetches the raw outline.
2375 * gnu/java/awt/font/opentype/Scaler.java
2376 (getRawGlyphOutline): New method. Fetches the raw outline.
2377 * gnu/java/awt/font/opentype/truetype/GlyphLoader.java
2378 (loadGlyph): New method. This is used to load raw outlines.
2379 * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java
2380 (getRawOutline): New method. Fetches the raw outline.
2381 * gnu/java/awt/font/opentype/truetype/Zone.java:
2384 2006-11-14 Roman Kennke <kennke@aicas.com>
2386 * javax/swing/RepaintManager.java
2387 (RepaintManager): Fetch the default state for the double buffering
2388 from a system property gnu.swing.doublebuffering.
2390 2006-11-14 Roman Kennke <kennke@aicas.com>
2392 * javax/swing/plaf/basic/BasicLabelUI.java
2393 (cachedInsets): New field.
2394 (getFontMetrics): New helper method. Fetches the font metrics
2395 from the component or the toolkit.
2396 (getPreferredSize): Use getFontMetrics() helper method for
2397 fetching the font metrics.
2398 (paint): Use getFontMetrics() helper method for
2399 fetching the font metrics. Only paint if icon or text
2400 are != null. Use cached insets.
2401 (paintDisabledText): Don't store/restore color object. The
2402 JComponent painting mechanism takes care of this by calling
2404 (paintEnabledText): Don't store/restore color object. The
2405 JComponent painting mechanism takes care of this by calling
2408 2006-11-14 Roman Kennke <kennke@aicas.com>
2410 * gnu/java/awt/peer/GLightweightPeer.java
2411 (handleEvent): Try to do something reasonable and trigger painting
2412 for the lightweight component.
2413 (getFontMetrics): Fetch and return a font metrics object from
2416 2006-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
2418 * gnu/java/util/regex/RETokenNamedProperty.java:
2419 (getHandler(String)): Add support for 'all'.
2421 2006-11-13 Andreas Tobler <a.tobler@schweiz.org>
2423 * AUTHORS: Add myself.
2425 2006-11-13 Thomas Fitzsimmons <fitzsim@redhat.com>
2427 * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and
2428 Dalibor Topic. Re-order 'K' section. Remove trailing space from
2429 Roman Kennke's entry.
2431 2006-11-13 Roman Kennke <kennke@aicas.com>
2433 * java/awt/image/IndexColorModel.java
2434 (createCompatibleSampleModel): Implemented missing method.
2436 2006-11-11 Andreas Tobler <a.tobler@schweiz.org>
2438 * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data
2439 from big endian systems correctly.
2441 2006-11-11 Roman Kennke <kennke@aicas.com>
2443 * gnu/javax/swing/text/html/css/CSSColor.java
2444 (isValidColor): New helper method. Checks strings if they
2445 form a valid color value.
2446 * gnu/javax/swing/text/html/css/Length.java
2447 (Length): Catch number format exceptions.
2448 * javax/swing/text/html/CSS.java
2449 (addInternal): New method. Checks for shorthand CSS attributes
2451 (parseBackgroundShorthand): New method. Parses the background
2452 shorthand attribute.
2453 * javax/swing/text/html/HTMLDocument.java
2454 (HTMLReader.LinkAction): Made class a subclass of HiddenAction.
2455 (HTMLReader.LinkAction.start): Implemented to load the linked
2457 (HTMLReader.LinkAction.end): Removed. This is not needed.
2458 * javax/swing/text/html/StyleSheet.java
2459 (CSSStyleSheetParserCallback.declaration): Push declaration
2460 through CSS.addInternal() to parse shorthand attributes.
2461 (addCSSAttribute): Push declaration through CSS.addInternal()
2462 to parse shorthand attributes.
2463 (importStyleSheet): Implemented. This adds a stylesheet from
2465 * javax/swing/text/html/TableView.java
2466 (calculateColumnRequirements): Increase column index for
2467 non CellView children to avoid endless loop.
2468 * javax/swing/text/CompositeView.java
2469 (setParent): Comparen with numChildren not with real arraylength.
2471 2006-11-11 David Gilbert <david.gilbert@object-refinery.com>
2473 * java/beans/beancontext/BeanContextSupport.java
2474 (getChildBeanContextChild): Implemented.
2476 2006-11-10 Roman Kennke <kennke@aicas.com>
2478 * javax/swing/text/View.java
2479 (updateLayout): Only repaint when needed.
2481 2006-11-10 David Gilbert <david.gilbert@object-refinery.com>
2483 * java/util/Collections.java
2484 (sort(List)): Minor API doc addition,
2485 (sort(List, Comparator)): Likewise.
2487 2006-11-10 David Fu <fchoong@netbeans.jp>
2489 * javax/swing/text/html/HTMLWriter.java
2490 (traverse): Removed Classpath specific handling of implied
2492 (traverseHtmlFragment): Removed Classpath specific handling of
2495 2006-11-10 Roman Kennke <kennke@aicas.com>
2497 * javax/swing/text/ParagraphView.java
2498 (Row.getMaximumSize): Removed. This method is not necessary.
2499 * javax/swing/text/html/TableView.java
2500 (CellView): Moved attribute init to setPropertiesFromAttributes().
2501 (setPropertiesFromAttributes): Fetch attributes here.
2502 (RowView.RowView): Documented.
2503 (RowView.getMaximumSpan): Overridden to restrict the max span
2505 (RowView.layoutMajorAxis): Correctly layout the spans.
2506 (columnWidths): New field. Stores the width attributes of
2508 (calculateColumnRequirements): Added support for relative
2509 (== percent) width attributes.
2510 (calculateMajorAxisRequirements): Removed.
2511 (calculateMinorAxisRequirements): Removed unnecessary code.
2512 (getMaximumSpan): Overridden to restrict the table's width.
2513 (layoutColumns): Documented. Implement more clever table layout,
2514 i.e. for relative columns etc.
2515 (layoutMinorAxis): Don't mark rows invalid.
2516 (updateGrid): Added docs. Initialize column widths.
2518 2006-11-09 Roman Kennke <kennke@aicas.com>
2520 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment,
2521 * gnu/java/awt/peer/headless/HeadlessToolkit: New classes.
2522 Implement basic headless toolkit.
2523 * java/awt/Toolkit.java
2524 (getDefaultToolkit): Check headless property and create
2525 headless toolkit when true.
2527 2006-11-09 Ingo Proetel <proetel@aicas.com>
2528 2006-11-09 Roman Kennke <kennke@aicas.com>
2530 * gnu/java/awt/peer/swing/SwingButtonPeer.java
2531 (SwingButton.button): New field.
2532 (SwingButton.SwingButton): Added constructor.
2533 (SwingButton.isShowing): Access button field instead of
2534 the surrounding class.
2535 (SwingButton.getParent): Access button field instead of
2536 the surrounding class.
2537 (SwingButtonPeer): Call new SwingButton constructor.
2538 * gnu/java/awt/peer/swing/SwingComponent.java:
2539 Several documentation updates.
2540 * gnu/java/awt/peer/swing/SwingComponentPeer.java
2541 (currentPaintEvents): New field.
2542 (peerFont): New field.
2543 (SwingComponentPeer): Initialize currentPaintEvents fields.
2544 (coalescePaintEvents): Implemented.
2545 (dispose): Unregister peer from heavyweight list of its container.
2546 (getGraphics): Fetch graphics from parent component.
2547 (handleEvent): Discard paint event if its coalesced.
2548 (init): Register component with its container for proper painting.
2549 (paint): Call peerPaint().
2550 (peerPaint): Added argument that indicates if we should update.
2551 Call paint or update on the actual AWT component.
2552 (peerPaintComponent): New method. Paints the peer (Swing) component.
2553 (setFont): Set peerFont field.
2554 * gnu/java/awt/peer/swing/SwingContainerPeer.java
2555 (backbuffer): New field.
2556 (focusOwner): New field.
2557 (heavyweightDescendents): New field.
2558 (SwingContainerPeer): Take Container as argument. Don't call init
2560 (addHeavyweightDescendent): New method.
2561 (getFocusOwner): New helper method.
2562 (getInsets): Delegate to insets().
2563 (handleKeyEvent): Dispatch event to focus owner.
2564 (handleMouseEvent): Dispatch to child component.
2565 (isDoubleBuffering): New helper method.
2566 (peerPaint): Overridden to implement container painting with
2568 (peerPaintChildren): New method. Paints the descendents of this
2570 (removeHeavyweightDescendent): New helper method.
2571 * gnu/java/awt/peer/swing/SwingFramePeer.java
2572 (peerPaint): Removed.
2573 (peerPaintComponent): Overridden to paint the menu bar.
2574 * gnu/java/awt/peer/swing/SwingLabelPeer.java
2575 (SwingLabel.label): New field.
2576 (SwingLabel.SwingLabel): Added constructor with Label argument.
2577 (SwingLabel.getGraphics): Implemented to fetch the graphics from
2578 the actual AWT component.
2579 (SwingLabel.getParent): Implemented to fetch the parent from
2581 (SwingLabel.isShowing): Access the label field.
2582 (SwingLabelPeer): Set alignment from label.
2583 * gnu/java/awt/peer/swing/SwingListPeer.java: New class.
2584 * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation
2586 * gnu/java/awt/peer/swing/SwingPanelPeer.java:
2587 Don't be a lighweight peer.
2588 (SwingPanelPeer): Call init.
2589 * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class.
2590 * gnu/java/awt/peer/swing/SwingTextFieldPeer.java
2591 (SwingTextField.textField): New field.
2592 (SwingTextField.SwingTextField): New constructor.
2593 (SwingTextField.isShowing): Access field not enclosing class.
2594 (SwingTextField.getGraphics): New method.
2595 (SwingTextField.getParent): New method.
2596 (SwingTextFieldPeer): Call new constructor.
2597 (select): Renamed arguments.
2598 * gnu/java/awt/peer/swing/SwingWindowPeer.java
2599 (SwingWindowPeer): Call init.
2601 2006-11-09 Tania Bento <tbento@redhat.com>
2603 * javax/swing/JLabel.java
2604 (JLabel(Icon)): Changed documentation; Changed text to null.
2605 (JLabel(Icon,int)): Likewise.
2606 (JLabel(text)): Changed documenation.
2607 (JLabel(text,int)): Likewise.
2608 (JLabel(text,Icon,int)): Changed documentation; Throw
2609 IllegalArgumentException if int is not one of LEFT, RIGHT,
2610 CENTER, LEADING or TRAILING.
2612 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2614 * java/beans/beancontext/BeanContextSupport.java
2615 (BeanContextSupport): Use correct dtime default,
2616 (BeanContextSupport(BeanContext)): Likewise,
2617 (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed
2619 (BeanContextSupport(BeanContext, Locale, boolean)): Likewise,
2620 (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise.
2622 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2624 * java/beans/beancontext/BeanContextSupport.java
2625 (getBeanContextPeer): Implemented.
2627 2006-11-09 Roman Kennke <kennke@aicas.com>
2629 * javax/swing/text/html/BlockView.java
2630 (cssHeight): Removed.
2631 (cssWidth): Removed.
2632 (cssSpans): New field. Replaces the two fields above.
2633 (BlockView): Allocate cssSpans array.
2634 (layoutMinorAxis): Fetch and use child span, not this view's span.
2635 (setCSSSpan): Adjusted to use cssSpans array.
2636 (setPropertiesFromAttributes): Adjusted to use cssSpans array.
2638 2006-11-09 Roman Kennke <kennke@aicas.com>
2640 * javax/swing/text/html/InlineView.java
2641 (nowrap): New field.
2642 (getBreakWeight): Add support for nowrap.
2643 (setPropertiesFromAttributes): Fetch the nowrap setting.
2645 2006-11-09 Roman Kennke <kennke@aicas.com>
2647 * gnu/javax/swing/text/html/css/CSSParser.java
2648 (parseRuleset): Use new Selector class.
2649 (parseValue): Parse multiple anys, not only one.
2650 (main): Allow stylesheet be specified on the command line.
2651 Use new Selector class.
2652 * gnu/javax/swing/text/html/css/CSSParserCallback.java
2653 (startStatement): Use Selector class.
2654 * gnu/javax/swing/text/html/css/CSSScanner.java
2655 (readName): Actually read a character in the loop to avoid
2657 * gnu/javax/swing/text/html/css/Length.java
2658 (getValue): Only multiply when we have a percentage value.
2659 * gnu/javax/swing/text/html/css/Selector.java:
2660 New class. Provides handling of CSS selectors.
2661 * javax/swing/text/html/StyleSheet.java
2662 (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field.
2663 (CSSStyle.PREC_AUTHOR_NORMAL): New constant field.
2664 (CSSStyle.PREC_NORM): New constant field.
2665 (CSSStyle.PREC_UA): New constant field.
2666 (CSSStyle.PREC_USER_IMPORTANT): New constant field.
2667 (CSSStyle.precedence): New field.
2668 (CSSStyle.priority): Removed.
2669 (CSSStyle.selector): New field.
2670 (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector
2672 (CSSStyle.compareTo): Adjusted to use the precedence and
2673 specificity of the selector.
2674 (CSSStyleSheetParserCallback.precedence): New field.
2675 (CSSStyleSheetParserCallback.selector): Removed.
2676 (CSSStyleSheetParserCallback.style): New field.
2677 (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback):
2678 Initialize with precedence.
2679 (CSSStyleSheetParserCallback.declaration): Don't look up
2680 existing rule, simply create new one.
2681 (CSSStyleSheetParserCallback.endStatement): Append style
2683 (CSSStyleSheetParserCallback.startStatement): Use new Selector
2685 (css): Changed to be ArrayList.
2686 (addRule): Create parser with author-normal precendence.
2687 (getRule): Fixed implementation.
2688 (loadRules): Create parser with UA precendence.
2689 (resolveStyle): Use Selector class for resolving and matching
2691 (translateHTMLToCSS): Added mappings for a couple of HTML
2694 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2697 * java/beans/SimpleBeanInfo.java
2698 (loadImage): Check for nulls.
2700 2006-11-09 Robert Schuster <robertschuster@fsfe.org>
2702 * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2703 (getpeername): Added 16 byte offset to memcpy operation.
2705 2006-11-09 Robert Schuster <robertschuster@fsfe.org>
2707 * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2708 (getsockname): Added 16 byte offset to memcpy operation.
2710 2006-11-08 Mark Wielaard <mark@klomp.org>
2713 * java/io/OutputStreamWriter.java
2714 (OutputStreamWriter(OutputStream,Charset)): Set encodingName.
2715 (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
2717 2006-11-08 Roman Kennke <kennke@aicas.com>
2719 * javax/swing/text/html/HTMLEditorKit.java
2720 (getParser): Use plain HTML_401F DTD.
2721 * javax/swing/text/html/HTMLDocument.java
2722 (HTMLReader.print): Removed method and all calls to it.
2723 (HTMLReader.printBuffer): Removed method and all calls to it.
2724 (HTMLReader.inImpliedParagraph): New field.
2725 (HTMLReader.inParagraph): New field.
2726 (HTMLReader.addContent): Create implied p-tag if necessary.
2727 (HTMLReader.addSpecialElement): Create implied p-tag if necessary.
2728 (HTMLReader.blockClose): Close implied p-tag if necessary.
2729 (HTMLReader.blockOpen): Close implied p-tag if necessary.
2730 * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed.
2732 2006-11-08 Roman Kennke <kennke@aicas.com>
2734 * javax/swing/text/html/HTMLEditorKit.java
2735 (HTMLFactory.create): Removed mapping for TD tag. This
2736 is done in TableView.
2737 * javax/swing/text/html/TableView.java:
2738 Implemented from scratch.
2740 2006-11-07 Roman Kennke <kennke@aicas.com>
2742 * gnu/javax/swing/text/html/parser/support/Parser.java
2743 (_handleText): Check if text content is actually allowed before
2744 passing empty text fragments on to the parser callbacks.
2746 2006-11-07 Mark Wielaard <mark@klomp.org>
2748 * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar
2752 2006-11-07 Tania Bento <tbento@redhat.com>
2754 * java/awt/FlowLayout.java
2755 (getSize): If parent does not have a component, then a
2756 different formula is used to calcuate the width.
2758 2006-11-07 Roman Kennke <kennke@aicas.com>
2760 * javax/swing/text/html/HTMLEditorKit.java
2761 (HTMLFactory.create): Include ListView.
2762 * javax/swing/text/html/ListView.java
2763 (paint): Removed comment.
2764 * javax/swing/text/html/StyleSheet.java
2765 (CSSStyle.priority): New field.
2766 (CSSStyle.CSSStyle(int)): New constructor with priority.
2767 (CSSStyle.compareTo): New method. Used for sorting the styles.
2768 (CSSStyleSheetParserCallback.declaration): Store the style
2769 with the complete selector.
2770 (ListPainter.attributes): Renamed as field.
2771 (ListPainter.styleSheet): New field.
2772 (ListPainter.type): New field.
2773 (ListPainter.ListPainter): Pass StyleSheet to constructor.
2774 (ListPainter.paint): Provide simplistic implementation.
2775 (getListPainter): Pass StyleSheet to constructor.
2776 (resolveStyle): Fixed CSS style resolving.
2778 2006-11-07 Roman Kennke <kennke@aicas.com>
2780 * gnu/javax/swing/text/html/css/BorderWidth.java:
2781 New class. Handles CSS border width values.
2782 * gnu/javax/swing/text/html/css/Length.java
2783 (floatValue): Made protected so that BorderWidth can access it.
2784 * javax/swing/text/html/CSS.java
2785 (Attribute.BORDER_BOTTOM_COLOR): New static field.
2786 (Attribute.BORDER_BOTTOM_STYLE): New static field.
2787 (Attribute.BORDER_LEFT_COLOR): New static field.
2788 (Attribute.BORDER_LEFT_STYLE): New static field.
2789 (Attribute.BORDER_RIGHT_COLOR): New static field.
2790 (Attribute.BORDER_RIGHT_STYLE): New static field.
2791 (Attribute.BORDER_TOP_COLOR): New static field.
2792 (Attribute.BORDER_TOP_STYLE): New static field.
2793 (getValue): Added some mappings for the border color and
2794 border width values.
2795 * javax/swing/text/html/CSSBorder.java: New class. Implements
2797 * javax/swing/text/html/StyleSheet.java
2798 (BoxPainter.background): New field.
2799 (BoxPainter.border): New field.
2800 (BoxPainter.bottomInset): Documented.
2801 (BoxPainter.leftInset): Documented.
2802 (BoxPainter.rightInset): Documented.
2803 (BoxPainter.topInset): Documented.
2804 (BoxPainter.BoxPainter): Added support for borders and background.
2805 (BoxPainter.getInset): Add border insets.
2806 (BoxPainter.paint): Implemented. Paints the background and the
2808 (addRule): Be less picky about parse and IO exceptions.
2809 (getBoxPainter): Adjust to new BoxPainter constructor.
2811 2006-11-07 Andreas <a.tobler@schweiz.org>
2813 * examples/Makefile.am: Add rule to install the *.html files we use
2816 2006-11-06 Francis Kung <fkung@redhat.com>
2818 * gnu/java/awt/peer/gtk/ComponentGraphics.java
2819 (fillRect): Handle custom composites.
2820 (drawRenderedImage): Handle custom composites.
2821 (drawImage): Handle custom composites.
2822 (createBuffer): New method.
2823 (drawLine): Handle custom composites.
2824 (drawComposite): New method.
2825 (fill): Handle custom composites.
2826 (getNativeCM): New method.
2827 (drawGlyphVector): Handle custom composites.
2828 (drawRect): Handle custom composites.
2829 (draw): Handle custom composites.
2830 * gnu/java/awt/peer/gtk/VolatileImageGraphics.java
2831 (drawComposite): Unset composite during draw call, to prevent parent
2832 from handling composite again.
2833 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
2834 (getBufferCM): Added comments.
2835 (getNativeCM): Made abstract.
2836 (setComposite): Removed comments.
2838 2006-11-06 Roman Kennke <kennke@aicas.com>
2840 * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2841 Fixed initial window size and start document.
2843 2006-11-06 Roman Kennke <kennke@aicas.com>
2845 * javax/swing/text/html/HTMLDocument.java
2846 (HTMLReader.addSpecialElement): Removed comment about
2848 (HTMLReader.handleComment): Create SimpleAttributeSet instead
2849 of htmlAttributeSet.
2850 * javax/swing/text/html/parser/DocumentParser.java
2851 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2852 of htmlAttributeSet.
2853 * javax/swing/text/html/parser/ParserDelegator.java
2854 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2855 of htmlAttributeSet.
2856 * gnu/javax/swing/text/html/parser/GnuParserDelegator.java
2857 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2858 of htmlAttributeSet.
2859 * gnu/javax/swing/text/html/parser/support/Parser.java
2860 (getAttributes): Return a SimpleAttributeSet.
2861 (restOfTag): Don't set resolving parent here.
2863 2006-11-06 Tania Bento <tbento@redhat.com>
2865 * java/awt/TextComponent.java
2866 (setSelectionStart): Added check.
2868 2006-11-06 Tania Bento <tbento@redhat.com>
2870 * java/awt/TextField.java
2871 (minimumSize(int)): Check if minimum size has been previously
2872 set and changed values of Dimension returned if peer == null.
2873 (preferredSize(int)): Check if preferred size has been previously
2874 set and changed values of Dimension returned if peer == null.
2876 2006-11-06 Roman Kennke <kennke@aicas.com>
2878 * javax/swing/JTree.java
2879 (TreeModelHandler.treeNodesRemoved): Implemented.
2880 (TreeModelHandler.treeStructureChanged): Implemented.
2881 (nodeStates): Made package private.
2883 2006-11-06 Francis Kung <fkung@redhat.com>
2886 * javax/swing/JTree.java
2887 (clearSelectionPathStates): New private method to clean up nodeStates.
2888 (removeSelectionPath): Call clearSelectionPathStates().
2889 (removeSelectionPaths): Call clearSelectionPathStates().
2890 (removeSelectionRow): Call clearSelectionPathStates().
2891 (setSelectionPath): Call clearSelectionPathStates().
2892 (setSelectionPaths): Call clearSelectionPathStates().
2893 (setSelectionRow): Call clearSelectionPathStates().
2895 2006-11-06 Ito Kazumitsu <kaz@maczuka.gcd.org>
2898 * java/util/regex/Matcher.java(reset): Reset inputCharIndexed.
2900 2006-11-06 Roman Kennke <kennke@aicas.com>
2902 * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2903 Changed to implement a minimalistic browser.
2904 * examples/gnu/classpath/examples/swing/forms.html,
2905 * examples/gnu/classpath/examples/swing/textstyles.html,
2906 * examples/gnu/classpath/examples/swing/welcome.html:
2907 Some example content.
2909 2006-11-06 Roman Kennke <kennke@aicas.com>
2911 * javax/swing/text/ComponentView.java
2912 (setParent): Lock the document and repaint the hosting
2914 * javax/swing/text/FlowView.java
2915 (FlowStrategy.createView): Removed comment.
2916 (FlowView): Initialize span with Short.MAX_VALUE.
2917 (getFlowStart): Return 0 unconditionally.
2918 (layout): Moved code around to make it more readable.
2919 (loadChildren): Always set the parent.
2920 * javax/swing/text/GlyphView.java
2921 (DefaultGlyphPainter.fontMetrics): New field.
2922 (DefaultGlyphPainter.getAscent): Use new helper method to
2923 synchronize the font metrics.
2924 (DefaultGlyphPainter.getBoundedPosition): Use new helper method
2925 to synchronize the font metrics.
2926 (DefaultGlyphPainter.getDescent): Use new helper method to
2927 synchronize the font metrics.
2928 (DefaultGlyphPainter.getHeight): Use new helper method to
2929 synchronize the font metrics.
2930 (DefaultGlyphPainter.getSpan): Use new helper method to
2931 synchronize the font metrics.
2932 (DefaultGlyphPainter.modelToView): Use new helper method to
2933 synchronize the font metrics.
2934 (DefaultGlyphPainter.updateFontMetrics): New helper method for
2935 font metrics caching.
2936 (DefaultGlyphPainter.viewToModel): Use new helper method to
2937 synchronize the font metrics. Fixed view to model mapping.
2938 * javax/swing/text/View.java
2939 (removeAll): Pass null to replace().
2940 (setParent): Only reparent children that have this view as parent.
2942 2006-11-05 Mark Wielaard <mark@klomp.org>
2944 * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed.
2945 * include/gnu_java_nio_channels_FileChannelImpl.h: Removed.
2946 * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c:
2948 * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
2950 * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES):
2951 Remove gnu_java_nio_channels_FileChannelImpl.c.
2953 2006-11-03 Roman Kennke <kennke@aicas.com>
2955 * javax/swing/text/html/BlockView.java
2956 (attributes): New field.
2957 (cssHeight): New field.
2958 (cssWidth): New field.
2959 (painter): New field.
2960 (calculateMajorAxisRequirements): Overridden to account for
2962 (calculateMinorAxisRequirements): Overridden to account for
2964 (layoutMinorAxis): Overridden to account for CSS settings.
2965 (changedUpdate): Formatting fixlet.
2966 (constrainSize): New helper method.
2967 (getAlignment): Fix alignment.
2968 (getAttributes): Cache attributes for better performance.
2969 (getStyleSheet): Fetch stylesheet from document rather than creating
2971 (paint): Remove comment.
2972 (setCSSSpan): New helper method.
2973 (setPropertiesFromAttributes): Implemented to fetch the
2974 recognized properties.
2975 * javax/swing/text/html/CSS.java
2976 (getValue): Added mapping for width and height attributes.
2977 * javax/swing/text/html/InlineView.java
2978 (longestWord): New field.
2979 (getLongestWord): New helper method.
2980 (calculateLongestWord): New helper method.
2981 (getMinimumSpan): Overridden to constrain the minimum span by the
2983 * javax/swing/text/html/ParagraphView.java
2984 (cssHeight): New field.
2985 (cssWidth): New field.
2986 (calculateMinorAxisRequirements): Overridden to account for
2988 (setCSSSpan): New helper method.
2989 (setPropertiesFromAttributes): Fetch CSS width and height. Added
2991 * gnu/javax/swing/text/html/css/Length.java
2992 (percentage): New field.
2993 (Length): Determine percentage values.
2994 (getValue(float)): New method for handling percentage values.
2995 (isPercentage): New method.
2997 2006-11-03 Tania Bento <tbento@redhat.com>
2999 * java/awt/TextArea.java
3000 (getMinimumSize): Changed documentation.
3001 (getPreferredSize): Changed documentation.
3002 (getMinimumSize(int,int)): Changed documenation.
3003 (getPreferredSize(int,int)): Changed documenation.
3004 (minimumSize): Changed documentation.
3005 (preferredSize): Changed documenation.
3006 (minimumSize(int,int)): Changed documentation. Checked if
3007 minimum size had been previously set and changed values of
3008 Dimension returned if peer == null.
3009 (preferredSize(int, int)): Checked if preferred size had been
3010 previously set and changed values of Dimension returned if
3013 2006-11-03 Tania Bento <tbento@redhat.com>
3015 * java/awt/event/ComponentEvent.java
3016 (paramString): Changed format of string representation returned.
3018 2006-11-03 Roman Kennke <kennke@aicas.com>
3020 * javax/swing/text/html/HTMLDocument.java
3021 (HTMLReader.FormAction.start): Added support for textarea.
3022 (HTMLReader.FormAction.end): Added support for textarea.
3023 (HTMLReader.HeadAction.end): Call super to actually close the
3025 (HTMLReader.inTextArea): New field.
3026 (HTMLReader.textAreaDocument): New field.
3027 (HTMLReader.handleText): Call textAreaContent when inside
3029 (HTMLReader.textAreaContent): Implemented to initialize
3030 the text area's model.
3031 * javax/swing/text/html/FormView.java
3032 (createComponent): Added support for textarea tag.
3034 2006-11-03 Roman Kennke <kennke@aicas.com>
3036 * javax/swing/text/html/HTMLDocument.java
3037 (HTMLReader.IsindexAction.start): Implemented.
3039 2006-11-03 Roman Kennke <kennke@aicas.com>
3041 * javax/swing/text/html/StyleSheet.java
3042 (addRule): Implemented.
3043 * javax/swing/text/html/HTMLDocument.java
3044 (HTMLReader.inStyleTag): New field.
3045 (HTMLReader.styles): New field.
3046 (HTMLReader.HeadAction.end): Implemented to read all stylesheets,
3048 (HTMLReader.StyleAction.start): Set inStyleTag flag.
3049 (HTMLReader.StyleAction.end): Set inStyleTag flag.
3050 (HTMLReader.handleText): When inside a style tag, add
3051 content to the styles array.
3053 2006-11-02 Roman Kennke <kennke@aicas.com>
3055 * javax/swing/text/html/FormView.java
3056 (maxIsPreferred): New field.
3057 (createComponent): Initialize components correctly.
3058 (getMaximumSpan): Return the preferred span for components
3059 that need this. The maxIsPreferred flag is set accordingly
3061 * javax/swing/text/html/HTMLDocument.java
3062 (HTMLReader.FormAction.start): Implemented to set the
3063 correct model as attribute.
3064 (HTMLReader.FormAction.setModel): New helper method.
3065 (HTMLReader.FormAction.end): Call super to finish the element.
3066 Added TODO about things left to do.
3067 (HTMLReader.handleComment): Use SimpleAttributeSet rather
3068 than htmlAttributeSet.
3069 * javax/swing/text/html/HTMLEditorKit.java
3070 (HTMLFactory.create): Create BlockView for FORM tags.
3071 Create FormView for INPUT, TEXTAREA and SELECT tags.
3073 2006-11-02 David Gilbert <david.gilbert@object-refinery.com>
3075 * java/awt/geom/GeneralPath.java: API doc fixes.
3077 2006-11-02 Roman Kennke <kennke@aicas.com>
3079 * javax/swing/text/html/ImageView.java
3080 (getImageURL): Fetch attribute from element. Consider the
3081 base URL for relative image locations.
3083 2006-11-02 Roman Kennke <kennke@aicas.com>
3085 * javax/swing/JEditorPane.java
3086 (setContentType): Strip off attributes.
3087 * javax/swing/text/html/HTMLEditorKit.java
3088 (LinkController.activateLink(int,JEditorPane,int,int): New
3089 method. Implements activation of a hyperlink.
3090 (LinkController.activateLinke(int,JEditorPane)): Delegate
3091 to the other activateLink() method.
3092 (LinkController.createHyperlinkEvent): New helper method.
3093 (LinkController.mouseClicked): Implemented to activate the link.
3094 (LinkController.mouseDragged): Added comment that this
3095 method does nothing.
3096 (LinkController.mouseMoved): Update cursor for hyperlinks.
3097 (mouseHandler): Renamed field to linkController.
3098 (HTMLEditorKit): Create a link controller.
3099 (clone): Give the clone a new link controller.
3100 (deinstall): De-install link controller as mouseMotionListener too.
3101 (install): Install link controller as mouseMotionListener too.
3103 2006-11-02 Roman Kennke <kennke@aicas.com>
3106 * javax/swing/text/FlowView.java
3107 (FlowStrategy.changedUpdate): Reversed condition. This caused
3108 wrong layout and bad performance.
3109 (FlowStrategy.insertUpdate): Reversed condition. This caused
3110 wrong layout and bad performance.
3111 (FlowStrategy.removeUpdate): Reversed condition. This caused
3112 wrong layout and bad performance.
3113 (LogicalView): Changed to be a subclass of CompositeView.
3114 (LogicalView()): Only take one Element argument.
3115 (LogicalView.childAllocation): New method for implementing
3116 the abstract CompositeView method.
3117 (LogicalView.forwardUpdateToView): Overridden for correct
3119 (getMinimumSpan): Overridden to handle line breaking correctly.
3120 (getPreferredSpan): Implemented to handle line breaking correctly.
3121 (getViewAtPoint): New method for implementing
3122 the abstract CompositeView method.
3123 (getViewIndexAtPosition): Overridden to handle leaf elements
3125 (isAfter): New method for implementing
3126 the abstract CompositeView method.
3127 (isBefore): New method for implementing
3128 the abstract CompositeView method.
3129 (loadChildren): Overridden to handle leaf elements
3131 (paint): New method for implementing
3132 the abstract CompositeView method.
3133 (calculateMinorAxisRequirements): Use preferredSpan in calculation.
3134 (loadChildren): Initialize flow layout by sending a synthetic
3135 insertUpdate() to the layout strategy.
3136 * javax/swing/text/GlyphView.java
3137 (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's
3138 font metrics if component is not available. Add initial offset
3140 (breakView): Be more clever when breaking the view.
3141 (getBreakLocation): New helper method to determine a good
3143 (getBreakWeight): Be more clever when breaking the view.
3144 (getTabbedSpan): Make sure we have a painter. Use view's
3145 start and end offset rather than the element's.
3146 * javax/swing/text/Utilities.java
3147 (drawTabbedText): Avoid useless add and sub with the y offset.
3149 2006-11-02 Roman Kennke <kennke@aicas.com>
3152 * gnu/java/awt/peer/ClasspathFontPeer.java
3153 (getStringBounds): Removed abstract method. This is replaced
3154 in java.awt.Font to use a TextLayout.
3155 * gnu/java/awt/peer/gtk/GtkWindowPeer.java
3156 (GtkWindowPeer): Set a font on the window object.
3157 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
3158 (FreetypeGlyphVector(Font,String,FontRenderContext,int)):
3159 Changed to take char,int,int instead of String. Filter
3161 (FreetypeGlyphVector(Font,String,FontRenderContext)):
3162 Create char array out of string.
3163 (getLogicalBounds): Don't translate bounds. They already are
3165 * gnu/java/awt/peer/gtk/GdkFontMetrics.java
3166 (stringWidth): Filter out control characters.
3167 * gnu/java/awt/peer/gtk/GdkFontPeer.java
3168 (getStringBounds): Removed unneeded method.
3169 (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector
3171 * gnu/java/awt/peer/qt/QtFontPeer.java
3172 (getStringBounds): Removed unneeded method.
3173 * gnu/java/awt/peer/x/XFontPeer.java
3174 (getStringBounds): Removed unneeded method.
3175 * gnu/java/awt/peer/x/XFontPeer2.java
3176 (getStringBounds): Removed unneeded method.
3177 * java/awt/Font.java
3178 (getStringBounds(char[],int,int,FontRenderContext)):
3179 Use TextLayout to determine the bounds.
3180 (getStringBounds(CharacterIterator,int,int,FontRenderContext)):
3181 Delegate to the char[] version of this method.
3182 (getStringBounds(String,FontRenderContext)):
3183 Delegate to the char[] version of this method.
3184 (getStringBounds(String,int,int,FontRenderContext)):
3185 Delegate to the String version of this method.
3187 2006-11-01 Tania Bento <tbento@redhat.com>
3189 * java/awt/ScrollPaneAdjustable.java
3190 (paramString): Changed format of string representation returned.
3191 (paramStringHelper): New private method.
3193 2006-11-01 Tania Bento <tbento@redhat.com>
3195 * java/awt/GridBagLayout.java
3196 (toString): Implemented method.
3198 2006-10-30 Thomas Fitzsimmons <fitzsim@redhat.com>
3200 * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading
3201 initialization to NP_Initialize.
3202 (NP_Initialize): Initialize GLib threading.
3204 2006-10-31 Tania Bento <tbento@redhat.com>
3206 * javax/swing/JTextField.java
3207 (fireActionPerformed): When creating the new event, if
3208 actionCommand == null, then getText() is used.
3210 2006-10-31 Francis Kung <fkung@redhat.com>
3212 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
3213 (fillArc): Corrected arc type to Arc2D.PIE.
3215 2006-10-31 Roman Kennke <kennke@aicas.com>
3217 * javax/swing/text/html/HTMLDocument.java
3218 (HTMLReader.PreAction.end): Implemented.
3219 (HTMLReader.PreAction.start): Implemented.
3220 (HTMLReader.inPreTag): New field.
3221 (HTMLReader.handleTag): When inside a pre tag, call preContent().
3222 (HTMLReader.preContent): Implemented.
3224 2006-10-31 Tania Bento <tbento@redhat.com>
3226 * javax/swing/JTextField.java
3227 (fireActionPerformed): When creating the new event,
3228 actionCommand should be used as the command, not
3231 2006-10-31 Roman Kennke <kennke@aicas.com>
3233 * javax/swing/text/html/HTMLEditorKit.java
3234 (write): Use HTMLWriter or MinimalHTMLWriter for writing
3235 HTML or Styled documents.
3237 2006-10-31 David Fu <fchoong@netbeans.jp>
3239 * javax/swing/text/html/HTMLWriter.java: New class.
3241 2006-10-30 Roman Kennke <kennke@aicas.com>
3243 * java/awt/dnd/DragSourceContext.java
3244 (dragExit): Use constant fields instead of 0.
3245 (updateCurrentCursor): Completed implementation.
3247 2006-10-30 Roman Kennke <kennke@aicas.com>
3249 * java/awt/dnd/DragGestureRecognizer.java
3250 (resetRecognizer): Added API docs. Do not replace the events object
3251 but rather clear() it. Removed not implemented tag.
3253 2006-10-30 Roman Kennke <kennke@aicas.com>
3255 * java/awt/datatransfer/DataFlavor.java
3256 (writeExternal): Remove not implemented tag.
3258 2006-10-30 Roman Kennke <kennke@aicas.com>
3260 * java/awt/datatransfer/DataFlavor.java
3261 (javaFileListFlavor): Don't explicitly specify class.
3262 (plainTextFlavor): Don't explicitly specify class.