OSDN Git Service

2007-01-26 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / libjava / classpath / ChangeLog
1 2007-01-26  Andrew Haley  <aph@redhat.com>
2
3         * java/lang/SecurityManager.java: Load and initialize
4         java.security.Security.
5
6 2007-01-26  Tom Tromey  <tromey@redhat.com>
7
8         * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print
9         'volatile' after field type.
10
11 2007-01-23  Marco Trudel  <mtrudel@gmx.ch>
12
13         * java/util/Arrays.java (binarySearch): Change comparison order.
14
15 2007-01-17  Tom Tromey  <tromey@redhat.com>
16
17         * tools/gnu/classpath/tools/javah/PathOptionGroup.java
18         (PathOptionGroup): Set default boot class path.
19
20 2006-12-14  Andrew Haley  <aph@redhat.com>
21
22         * tools/gnu/classpath/tools/jar/Creator.java: Close the
23         inputStream.
24
25 2006-10-12  Andrew Haley  <aph@redhat.com>
26
27         * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel.
28         * java/lang/ThreadLocal.java: Likewise.
29
30 2006-09-13  Andrew Haley  <aph@redhat.com>
31
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:
35         Likewise.
36         * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java:
37         Likewise.
38
39 2006-09-13  Andrew Haley  <aph@redhat.com>
40
41         * java/util/PriorityQueue.java: Throw IllegalArgumentException for
42         capacity < 1.
43         (Iterator.remove()): Decrement index after removing element.
44
45 2006-12-11  Jeroen Frijters  <jeroen@frijters.net>
46
47         * javax/net/ssl/SSLSocketFactory.java (getDefault):
48         Chain exception cause.
49
50 2006-12-11  Roman Kennke  <kennke@aicas.com>
51
52         * .classpath: Include ASM in Eclipse classpath.
53
54 2006-12-11  Andrew John Hughes  <gnu_andrew@member.fsf.org>
55
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)):
63         Likewise.
64         * javax/management/MBeanOperationInfo.java:
65         (MBeanOperationInfo(String, Method)):
66         Likewise.
67
68 2006-12-11  Andrew John Hughes  <gnu_andrew@member.fsf.org>
69
70         * java/lang/Class.java:
71         (getClasses()): Return Class<?>[].
72         (internalGetClasses()): Likewise.
73         (getConstructor(Class<?>...)): Add type parameter
74         to parameters.
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:
86         Make non-final.
87         * java/text/DecimalFormatSymbols.java:
88         Likewise.
89         
90 2006-12-11  Andrew John Hughes  <gnu_andrew@member.fsf.org>
91
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
95         "java.util.List<E>"
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.
105         
106 2006-12-10  Andrew John Hughes  <gnu_andrew@member.fsf.org>
107
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.
114         
115 2006-12-10  Andrew John Hughes  <gnu_andrew@member.fsf.org>
116
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:
123         New file.
124         
125 2006-12-08  David Daney  <ddaney@avtrex.com>
126
127         * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
128         Fix comment.
129
130 2006-12-08  David Daney  <ddaney@avtrex.com>
131
132         * NEWS: Mention URLConnection.[get|set]ReadTimeout.
133
134 2006-12-08  David Daney  <ddaney@avtrex.com>
135
136         * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add
137         SocketException.
138         (HTTPConnection): Handle NumberFormatException in properties parsing.
139         (Pool.get): Set timeout on reused sockets.
140         * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort):
141         Initialize.
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.
151
152 2006-12-08  Tania Bento  <tbento@redhat.com>
153
154         * java/awt/ScrollPane.java
155         (doLayout): Change the location of the scrollpane's child
156         to (0, 0).
157
158 2006-12-08  David Daney  <ddaney@avtrex.com>
159
160         * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
161         New method.
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.
168
169 2006-12-08  Mark Wielaard  <mark@klomp.org>
170
171         * configure.ac (VERSION): Set to 0.93-generics.
172         * NEWS: Add release date.
173
174 2006-12-08  Tania Bento  <tbento@redhat.com>
175
176         * java/awt/ScrollPane.java
177         (getScrollPosition): Throw NullPointerException if scrollpane
178         does have a child.
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
182         bound.
183
184 2006-12-07  Roman Kennke  <kennke@aicas.com>
185
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
193         class.
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)):
198         Implemented.
199         (registerEditorKitForContentType(String,String)): Delegate to
200         the other version of this method with the thread's context
201         classloader.
202
203 2006-12-07  Mark Wielaard  <mark@klomp.org>
204
205         * examples/gnu/classpath/examples/swing/HtmlDemo.java
206         (setPage): Don't convert URL to String for setPage().
207
208 2006-12-07  Mark Wielaard  <mark@klomp.org>
209
210         * tools/Makefile.am (clean-local): Remove iasm and asm.lst.
211
212 2006-12-07  Mark Wielaard  <mark@klomp.org>
213
214         * tools/Makefile.am: Explicitly define  and use bootclasspath as
215         GLIBJ_BOOTCLASSPATH
216
217 2006-12-07  Mark Wielaard  <mark@klomp.org>
218
219         * javax/swing/JEditorPane.java (createEditorKitForContentType):
220         Always load from system class loader.
221
222 2006-12-07  Mark Wielaard  <mark@klomp.org>
223
224         * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
225         private constructor.
226         (URL(URL,String,URLStreamHandler)): Call new constructor.
227         (URL(URL,String)): Likewise.
228         (URL(String)): Likewise.
229
230 2006-12-07  Tom Tromey  <tromey@redhat.com>
231
232         * NEWS: Mention ASM.
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
239         'asm'.
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.
258
259 2006-12-06  Roman Kennke  <kennke@aicas.com>
260
261         * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
262         New class.
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.
273
274 2006-12-06  Roman Kennke  <kennke@aicas.com>
275
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
286         select boxes.
287         (getTextAreaData): New helper method. Fetches form data from
288         textareas.
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.
314
315 2006-12-06  Roman Kennke  <kennke@aicas.com>
316
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.
321
322 2006-12-06  Roman Kennke  <kennke@aicas.com>
323
324         * gnu/java/awt/peer/gtk/AsyncImage.java
325         (Loader.run): Synchronize on the AsyncImage to avoid threading
326         issues.
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.
334         
335 2006-12-06  Roman Kennke  <kennke@aicas.com>
336
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.
341
342 2006-12-06  Mark Wielaard  <mark@klomp.org>
343
344         * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify
345         null Observer.
346
347 2006-12-06  Roman Kennke  <kennke@aicas.com>
348
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:
364         New example pages.
365         * examples/gnu/classpath/examples/swing/welcome.html
366         Add a couple of links and new test pages.
367
368 2006-12-06  Roman Kennke  <kennke@aicas.com>
369
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
384         more efficiency.
385
386 2006-12-06  Thomas Fitzsimmons  <fitzsim@redhat.com>
387
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.
398
399 2006-12-06  Roman Kennke  <kennke@aicas.com>
400
401         * javax/swing/text/html/TableView.java
402         (RowView.layoutMajorAxis): Check column index for invalid value.
403         (updateGrid): Check column index for invalid value.
404
405 2006-12-06  Roman Kennke  <kennke@aicas.com>
406
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.
419
420 2006-12-06  Francis Kung  <fkung@redhat.com>
421
422         * java/awt/geom/RectangularShape.java
423         (getBounds): Remove empty rectangle check.
424
425 2006-12-06  Ben Konrath  <bkonrath@redhat.com>
426
427         Fixes PR 29853.
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.
431
432 2006-12-06  Tania Bento  <tbento@redhat.com>
433
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.
440
441 2006-12-06  Tania Bento  <tbento@redhat.com>
442
443         * javax/swing/border/CompoundBorder.java:
444         (isBorderOpaque): If inside and outside border both have a null
445         value, return true.
446
447 2006-12-06  Chris Burdess  <dog@gnu.org>
448
449         Fixes PR 29272.
450         * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
451         * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
452
453 2006-12-06  Chris Burdess  <dog@gnu.org>
454
455         Fixes PR 29264.
456         * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
457           writeDTD method.
458
459 2006-12-06  Chris Burdess  <dog@gnu.org>
460
461         Fixes PR 28816.
462         * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
463           discover schema factory implementation class.
464
465 2006-12-05  Francis Kung  <fkung@redhat.com>
466
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.
472
473 2006-12-05  Francis Kung  <fkung@redhat.com>
474
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.
478
479 2006-12-05  Roman Kennke  <kennke@aicas.com>
480
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.
494
495 2006-12-05  Roman Kennke  <kennke@aicas.com>
496
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
502         (addRule): Likewise.
503         (ListPainter.paint): Removed debug output.
504
505 2006-12-05  Roman Kennke  <kennke@aicas.com>
506
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.
530
531 2006-12-05  Roman Kennke  <kennke@aicas.com>
532
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.
538
539 2006-12-05  Francis Kung  <fkung@redhat.com>
540
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.
546
547 2006-12-05  Francis Kung  <fkung@redhat.com>
548
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.
552
553 2006-12-05  Roman Kennke  <kennke@aicas.com>
554
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.
565
566 2006-12-05  Roman Kennke  <kennke@aicas.com>
567
568         * NEWS: Add entry about improved HTML support.
569
570 2006-12-05  Roman Kennke  <kennke@aicas.com>
571
572         * javax/swing/text/html/ImageView.java
573         (ImageView): Initialize spans array here.
574         (setPropertiesFromAttributes): Moved init of spans array to
575         constructor.
576
577 2006-12-05  Roman Kennke  <kennke@aicas.com>
578
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.
602
603 2006-12-05  Roman Kennke  <kennke@aicas.com>
604
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
610         (addRule): Likewise.
611         (ListPainter.paint): Removed debug output.
612
613 2006-12-06  Roman Kennke  <kennke@aicas.com>
614
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.
627
628
629 2006-12-06  Roman Kennke  <kennke@aicas.com>
630
631         * javax/swing/text/html/TableView.java
632         (RowView.layoutMajorAxis): Check column index for invalid value.
633         (updateGrid): Check column index for invalid value.
634
635 2006-12-06  Roman Kennke  <kennke@aicas.com>
636
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
651         more efficiency.
652
653 2006-12-06  Roman Kennke  <kennke@aicas.com>
654
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:
670         New example pages.
671         * examples/gnu/classpath/examples/swing/welcome.html
672         Add a couple of links and new test pages.
673
674 2006-12-06  Roman Kennke  <kennke@aicas.com>
675
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.
680
681 2006-12-06  Roman Kennke  <kennke@aicas.com>
682
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.
687
688 2006-12-06  Roman Kennke  <kennke@aicas.com>
689
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
700         select boxes.
701         (getTextAreaData): New helper method. Fetches form data from
702         textareas.
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.
728
729 2006-12-06  Roman Kennke  <kennke@aicas.com>
730
731         * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
732         New class.
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.
743
744 2006-12-07  Mark Wielaard  <mark@klomp.org>
745
746         * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
747         private constructor.
748         (URL(URL,String,URLStreamHandler)): Call new constructor.
749         (URL(URL,String)): Likewise.
750         (URL(String)): Likewise.
751
752 2006-12-07  Mark Wielaard  <mark@klomp.org>
753
754         * javax/swing/JEditorPane.java (createEditorKitForContentType):
755         Always load from system class loader.
756
757 2006-12-06  Ben Konrath  <bkonrath@redhat.com>
758
759         Fixes PR 29853.
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.
763
764 2006-12-06  Chris Burdess  <dog@gnu.org>
765
766         Fixes PR 29272.
767         * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
768         * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
769
770 2006-12-06  Chris Burdess  <dog@gnu.org>
771
772         Fixes PR 29264.
773         * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
774         writeDTD method.
775
776 2006-12-056  Chris Burdess  <dog@gnu.org>
777
778         Fixes PR 28816.
779         * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
780         discover schema factory implementation class.
781
782 2006-12-05  Roman Kennke  <kennke@aicas.com>
783
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
794         image.
795
796 2006-12-05  Roman Kennke  <kennke@aicas.com>
797
798         (paintComponent): Include paint area from event.
799         (updateComponent): Include paint area from event.
800
801 2006-12-06  Thomas Fitzsimmons  <fitzsim@redhat.com>
802
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.
813
814 2006-12-04  Thomas Fitzsimmons  <fitzsim@redhat.com>
815
816         * java/awt/Component.java (getFontImpl): Return a default font if
817         topmost parent's font is null.
818
819 2006-12-04  Mark Wielaard  <mark@klomp.org>
820
821         * javax/swing/text/html/CSS.java (parseMarginShorthand):
822         Remove debug output.
823
824 2006-12-04  Roman Kennke  <kennke@aicas.com>
825
826         * java/awt/font/TextLayout.java
827         (hitTestChar): Fixed conditions for inclusion of range.
828         Use layout information in the run for more efficiency.
829
830 2006-12-04  Roman Kennke  <kennke@aicas.com>
831
832         * javax/swing/text/GlyphView.java
833         (J2DGlyphPainter): New inner class.
834         (checkPainter): For Java2D capable environments create
835         a J2DGlyphPainter.
836
837 2006-12-04  Roman Kennke  <kennke@aicas.com>
838
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
842         hair space char.
843
844 2006-12-04  Roman Kennke  <kennke@aicas.com>
845
846         * native/jni/java-nio/gnu_java_nio_VMChannel.c
847         (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR.
848
849 2006-12-04  Andrew John Hughes  <gnu_andrew@member.fsf.org>
850
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.
859         
860 2006-12-04  Mark Wielaard  <mark@klomp.org>
861
862         * native/jni/java-nio/gnu_java_nio_VMChannel.c
863         (JCL_thread_interrupted): Use CallStaticBooleanMethod.
864
865 2006-12-04  Mark Wielaard  <mark@klomp.org>
866
867         * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted):
868         Make static.
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
874         interrupted status.
875
876 2006-12-04  Andrew John Hughes  <gnu_andrew@member.fsf.org>
877
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.
886         
887 2006-12-04  Roman Kennke  <kennke@aicas.com>
888
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
910         attributes.
911
912 2006-12-04  Roman Kennke  <kennke@aicas.com>
913
914         * gnu/javax/swing/text/html/parser/support/Parser.java
915         (Sgml): Consume any whitespace that immediately follows
916         and sgml insertion.
917         (parseDocument): Consume any initial whitespace.
918
919 2006-12-03  Mark Wielaard  <mark@klomp.org>
920
921         * gnu/javax/management/Server.java (beans): Initialize.
922         (registerMBean): Don't initialize beans.
923
924 2006-12-03  Mark Wielaard  <mark@klomp.org>
925
926         * java/util/logging/LogManager.java (getLevelProperty): Check
927         whether value is null before passing to Level.parse().
928
929 2006-12-04  Robert Lougher  <rob.lougher@gmail.com>
930
931         * java/lang/management/ThreadInfo.java (ThreadInfo): Check
932         whether given a null lock and lockOwner.
933
934 2006-12-03  Mark Wielaard  <mark@klomp.org>
935
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.
943
944 2006-12-03  Mark Wielaard  <mark@klomp.org>
945
946         * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether
947         path[k] is null.
948         (isLastChild): Return false when path is null.
949
950 2006-12-03  Mark Wielaard  <mark@klomp.org>
951
952         * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed
953         to currentPaintArea.
954         (paintComponent): Work with local reference to currentPaintArea.
955         (updateComponent): Likewise.
956         (coalescePaintEvent): Set currentPaintArea.
957
958 2006-12-02  Andrew John Hughes  <gnu_andrew@member.fsf.org>
959
960         * javax/management/MBeanServerBuilder.java: New file.
961         
962 2006-12-01  Mark Wielaard  <mark@klomp.org>
963
964         * java/text/DecimalFormat.java (parse): Always increment parsing
965         index and adjust pos result.
966
967 2006-12-01  Roman Kennke  <kennke@aicas.com>
968
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
974         pseudo attribute.
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.
996
997 2006-12-01  Mario Torre  <neugens@limasoftware.net>
998
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
1003         formatInternal.
1004         
1005 2006-12-01  Andrew John Hughes  <gnu_andrew@member.fsf.org>
1006
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)):
1015         Implemented.
1016         (initialiseBeanContextResources()): Implemented.
1017         (releaseBeanContextResoures()): Implemented.
1018         
1019 2006-12-01  Mark Wielaard  <mark@klomp.org>
1020
1021         * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated.
1022
1023 2006-12-01  Roman Kennke  <kennke@aicas.com>
1024
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
1033         margin.
1034         (parseBackgroundShorthand): Added API docs.
1035         (parsePaddingShorthand): New method. Handles padding shorthand
1036         values.
1037         (parseMarginShorthand): New method. Handles margin shorthand
1038         values.
1039         (parseBorderShorthand): New method. Handles border shorthand
1040         values.
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.
1046
1047 2006-12-01  Roman Kennke  <kennke@aicas.com>
1048
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
1068         values.
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()
1075         with stylesheet.
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.
1108
1109 2006-11-30  Roman Kennke  <kennke@aicas.com>
1110
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.
1144
1145 2006-11-30  Roman Kennke  <kennke@aicas.com>
1146
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.
1153         (state): Removed.
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.
1162
1163 2006-11-30  Francis Kung  <fkung@redhat.com>
1164
1165         * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4.
1166         * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses.
1167
1168 2006-11-30  Francis Kung  <fkung@redhat.com>
1169
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.
1180
1181 2006-11-30  Roman Kennke  <kennke@aicas.com>
1182
1183         * javax/swing/text/html/FrameSetView.java: New class. Implements
1184         HTML framesets.
1185         * javax/swing/text/html/FrameView.java: New class. Implements
1186         HTML frames.
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.
1193
1194 2006-11-30  Gary Benson  <gbenson@redhat.com>
1195
1196         * java/lang/Thread.java: Javadoc fixes.
1197
1198 2006-11-29  Tom Tromey  <tromey@redhat.com>
1199
1200         PR classpath/28203:
1201         * java/lang/Class.java (getAnnotations): Rewrote.
1202
1203 2006-11-29  Tania Bento  <tbento@redhat.com>
1204
1205         * tools/gnu/classpath/tools/appletviewer/TagParser.java:
1206         (parseParams): Unescape 'val' before putting it into the Map.
1207         (unescapeString): New private method.
1208
1209 2006-11-29  Tom Tromey  <tromey@redhat.com>
1210
1211         * tools/gnu/classpath/tools/getopt/package.html: New file.
1212
1213 2006-11-29  David Gilbert  <david.gilbert@object-refinery.com>
1214
1215         * javax/swing/plaf/metal/MetalIconFactory.java
1216         (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint,
1217         (VerticalSliderThumbIcon.paintIcon()): Likewise.
1218
1219 2006-11-29  Mario Torre  <neugens@limasoftware.net>
1220
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.
1230
1231 2006-11-29  Francis Kung  <fkung@redhat.com>
1232
1233         * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1234         (drawLine): Remove hard-coded pixel shifting.
1235
1236 2006-11-29  Roman Kennke  <kennke@aicas.com>
1237
1238         * java/awt/Component.java
1239         (isShowing): Simplified condition code and avoid unnecessary
1240         if-codepaths.
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.
1256
1257 2006-11-29  Roman Kennke  <kennke@aicas.com>
1258
1259         * java/awt/font/TextLayout.java
1260         (getVisualHighlightShape): Removed debug output.
1261
1262 2006-11-28  Andrew Haley  <aph@redhat.com>
1263
1264         * vm/reference/sun/reflect/misc/ReflectUtil.java
1265         (checkPackageAccess): Implement.
1266
1267 2006-11-28  Dalibor Topic  <robilad@kaffe.org>
1268
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.
1278
1279 2006-11-28  Roman Kennke  <kennke@aicas.com>
1280
1281         * javax/swing/JComponent.java
1282         (putClientProperty): Do not fire event when both old and new
1283         value are == null.
1284
1285 2006-11-27  Andrew John Hughes  <gnu_andrew@member.fsf.org>
1286
1287         * java/lang/Enum.java:
1288         Make name and ordinal final.
1289         
1290 2006-11-27  Casey Marshall  <csm@gnu.org>
1291
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.
1298         
1299 2006-11-27  Francis Kung  <fkung@redhat.com>
1300
1301         * java/awt/image/WritableRaster.java
1302         (createChild): Implemented.
1303
1304 2006-11-27  Roman Kennke  <kennke@aicas.com>
1305
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.
1312
1313 2006-11-27  Roman Kennke  <kennke@aicas.com>
1314
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.
1322
1323 2006-11-27  Roman Kennke  <kennke@aicas.com>
1324
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.
1338
1339 2006-11-27  Raif S. Naffah  <classpath@naffah-raif.name>
1340
1341         * AUTHORS: Added Jeroen Fritjers.
1342
1343 2006-11-27  neugens  <neugens@nirvana.limasoftware.net>
1344
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
1348         result.
1349         (scanNegativePattern): Fixed index out of bound exception when searching
1350         for international currency symbol in negative pattern.  
1351
1352 2006-11-27  Andrew John Hughes  <gnu_andrew@member.fsf.org>
1353
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.
1364         
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>
1368
1369         Fixes bug #25557.
1370
1371         * lib/gen-classlist.sh.in:  Avoid using test's -ef operator for
1372         increased portability.  Likewise, use -f instead of -e.
1373
1374 2006-11-26  Mark Wielaard  <mark@klomp.org>
1375
1376         * lib/Makefile.am (propertydirs): Removed.
1377         (resources): Explicitly create all dirs.
1378
1379 2006-11-26  Mark Wielaard  <mark@klomp.org>
1380
1381         * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket.
1382
1383 2006-11-26  Dalibor Topic  <robilad@kaffe.org>
1384
1385         * native/target/.cvsignore,
1386         native/target/generic/.cvsignore,
1387         native/target/Linux/.cvsignore:
1388         Removed no longer used files.
1389
1390         * native/target: Removed no longer used directory.
1391
1392 2006-11-26  Dalibor Topic  <robilad@kaffe.org>
1393
1394         Fixes bug #29133.
1395
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.
1399
1400         Reported by:  Michael Franz <mvfranz@gmail.com>,
1401                       Riccardo Mottola <zuse@libero.it>
1402
1403 2006-11-26  Dalibor Topic  <robilad@kaffe.org>
1404
1405         Fixes bug #26756.
1406         
1407         * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed 
1408         STRICT_WARNING_CFLAGS since it caused the build to fail 
1409         on GNU/Linux.
1410
1411 2006-11-26  Ian Rogers  <ian.rogers@manchester.ac.uk>
1412
1413         * doc/vmintegration.texinfo: Update VM Threading Model section.
1414
1415 2006-11-26  Tom Tromey  <tromey@redhat.com>
1416
1417         * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally
1418         include ifaddrs.h.
1419         (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated
1420         conditional.
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.
1426
1427 2006-11-25  Mark Wielaard  <mark@klomp.org>
1428
1429         * java/io/File.java (list): Return empty list for unreadable dirs.
1430
1431 2006-11-25  Mark Wielaard  <mark@klomp.org>
1432
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
1437         synchronized.
1438         (getTextMetrics): Likewise.
1439
1440 2006-11-25  Roman Kennke  <kennke@aicas.com>
1441
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
1445         by GC'ed positions.
1446
1447 2006-11-25  Mark Wielaard  <mark@klomp.org>
1448
1449         * javax/swing/text/CompositeView.java (modelToView): Never return
1450         null.
1451
1452 2006-11-25  Mark Wielaard  <mark@klomp.org>
1453
1454         * javax/swing/text/html/TableView.java (calculateColumnRequirements):
1455         Check whether rowView instanceof RowView.
1456         (updateGrid): Likewise.
1457
1458 2006-11-25  Mario Torre  <neugens@nirvana.limasoftware.net>
1459
1460         PR28462
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
1467         locale.
1468         * AUTHORS: added my name to the file.
1469
1470 2006-11-25  Mark Wielaard  <mark@klomp.org>
1471
1472         * javax/swing/text/html/StyleSheet.java (paint): Guard against
1473         getChildAllocation() returning null.
1474
1475 2006-11-25  Mark Wielaard  <mark@klomp.org>
1476
1477         * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity):
1478         Use clazzIndex for id substring.
1479
1480 2006-11-25  Mark Wielaard  <mark@klomp.org>
1481
1482         * java/awt/EventQueue.java (pop): Only terminate dispatchThread when
1483         it is still running.
1484
1485 2006-11-25  Mark Wielaard  <mark@klomp.org>
1486
1487         Fixes bug #28822
1488         * doc/api/Makefile.am (create_html): Guard GJDOC invocation with
1489         CREATE_API_DOCS
1490
1491 2006-11-24  Tania Bento  <tbento@redhat.com>
1492
1493         * java/awt/font/TextHitInfo.java
1494         (equals(TextHitInfo)): If TextHitInfo parameter is null, return false.
1495         (beforeOffset): Decreased first parameter by 1.
1496
1497 2006-11-24  Francis Kung  <fkung@redhat.com>
1498
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.
1503
1504 2006-11-24  Francis Kung  <fkung@redhat.com>
1505
1506         * gnu/java/awt/java2d/QuadSegment.java
1507         (offsetSubdivided): Handle special straight-line cases.
1508
1509 2006-11-24  Roman Kennke  <kennke@aicas.com>
1510
1511         * java/awt/dnd/DropTarget.java
1512         (DropTargetAutoScroller.HYSTERESIS): New constant.
1513         (DropTargetAutoScroller.DELAY): New constant.
1514         (DropTargetAutoScroller.inner): New field. A cached
1515         Rectangle instance.
1516         (DropTargetAutoScroller.outer): New field. A cached
1517         Rectangle instance.
1518         (DropTargetAutoScroller.timer): New field. The actual timer.
1519         (DropTargetAutoScroller.DropTargetAutoScroller):
1520         Initialize timer.
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
1528         auto scrolling.
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
1533         auto scrolling.
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.
1538
1539 2006-11-24  David Gilbert  <david.gilbert@object-refinery.com>
1540
1541         * java/beans/beancontext/BeanContextServicesSupport.java
1542         (getChildBeanContextServicesListener): Implemented.
1543
1544 2006-11-23  Roman Kennke  <kennke@aicas.com>
1545
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.
1579
1580 2006-11-23  David Gilbert  <david.gilbert@object-refinery.com>
1581
1582         * java/beans/beancontext/BeanContextSupport.java
1583         (deserialize): Implemented,
1584         (serialize): Implemented.
1585
1586 2006-11-23  Roman Kennke  <kennke@aicas.com>
1587
1588         * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1589         (createGraphics): Try to use Cairo graphics if available.
1590
1591 2006-11-22  David Gilbert  <david.gilbert@object-refinery.com>
1592
1593         * java/beans/beancontext/BeanContextSupport.java
1594         (toArray): Added API docs,
1595         (toArray(Object[])): Added API docs, removed NotImplementedException.
1596
1597 2006-11-22  Tania Bento  <tbento@redhat.com>
1598
1599         * javax/swing/JRootPane.java
1600         (setLayeredPane): Added documentation; throw 
1601         IllegalComponentStateException if layered pane parameter is null.
1602
1603 2006-11-22  David Gilbert  <david.gilbert@object-refinery.com>
1604
1605         * java/beans/beancontext/BeanContextSupport.java
1606         (avoidingGui): Removed NotImplementedException.
1607
1608 2006-11-22  Francis Kung  <fkung@redhat.com>
1609
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.
1619
1620 2006-11-22  Roman Kennke  <kennke@aicas.com>
1621
1622         * java/awt/font/TextLayout.java
1623         (hash): New field. Caches the hash code.
1624         (hashCode): Implemented.
1625
1626 2006-11-22  Roman Kennke  <kennke@aicas.com>
1627
1628         * java/awt/image/ImageFilter.java
1629         Reformat whole class.
1630         (getFilterInstance): Don't touch the consumer field. Don't check
1631         consumer.
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
1649         pixel.
1650         * java/awt/image/RGBImageFilter.java
1651         Reformat whole class.
1652         (convertColorModelToDefault): Removed. No longer needed.
1653         (filterIndexColorModel): Don't handle transparent pixels
1654         separately.
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
1660         calculations.
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
1665         and TYPE_DOUBLE.
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
1669         by line.
1670         (setDataElements(int,int,Object,DataBuffer)): Simplified code,
1671         removed some checks that the RI also doesn't perform. Call
1672         DataBuffer.setElem().
1673
1674 2006-11-22  Roman Kennke  <kennke@aicas.com>
1675
1676         * java/awt/text/TextLayout.java
1677         (getLogicalRangesForVisualSelection): Implemented.
1678
1679 2006-11-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>
1680
1681         * sun/reflect/annotation/AnnotationParser.java,
1682         * sun/reflect/annotation/AnnotationType.java,
1683         * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java,
1684         * sun/reflect/annotation/ExceptionProxy.java:
1685         Stubbed.
1686         * sun/misc/ServiceConfigurationError.java,
1687         * sun/misc/Service.java:
1688         Implemented.
1689         
1690 2006-11-21  Roman Kennke  <kennke@aicas.com>
1691
1692         * java/awt/text/TextLayout.java
1693         (Run.isLeftToRight): New helper method.
1694         (logicalToVisual): New field. Maps logical indices to visual
1695         indices.
1696         (visualToLogical): New field. Maps visual indices to logical
1697         indices.
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.
1713
1714 2006-11-21  Francis Kung  <fkung@redhat.com>
1715
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.
1732
1733 2006-11-21  Francis Kung  <fkung@redhat.com>
1734
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
1758         parameters.
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.
1762
1763 2006-11-21  Roman Kennke  <kennke@aicas.com>
1764
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
1776         run items.
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.
1799
1800 2006-11-21  Roman Kennke  <kennke@aicas.com>
1801
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
1806         GdkFontPeer.
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.
1832         (bundle): Removed.
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
1864         FreeType.
1865
1866 2006-11-20  Tania Bento  <tbento@redhat.com>
1867
1868         * javax/swing/ButtonGroup.java:
1869         (setSelected): Select the ButtonModel if all conditions
1870         are met.
1871
1872 2006-11-20  Tania Bento  <tbento@redhat.com>
1873
1874         * javax/swing/JSlider.java:
1875         (updateLabelUIs): Removed casting.
1876
1877 2006-11-20  Mark Wielaard  <mark@klomp.org>
1878
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().
1884         (clear): Likewise.
1885         (setLineSeparator): Likewise.
1886
1887 2006-11-20  Roman Kennke  <kennke@aicas.com>
1888
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.
1897
1898 2006-11-20  Roman Kennke  <kennke@aicas.com>
1899
1900         * javax/swing/text/BoxView.java
1901         (BoxView): Initialize with invalid req's.
1902         (forwardUpdate): Trigger repaint when children changed the
1903         major axis.
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
1917         all.
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
1934         attribute.
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.
1940
1941 2006-11-20  Roman Kennke  <kennke@aicas.com>
1942
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
1948         changes table.
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.
1963
1964 2006-11-20  Roman Kennke  <kennke@aicas.com>
1965
1966         * javax/swing/JEditorPane.java
1967         (setPage): Set priority on loading thread.
1968
1969 2006-11-20  Roman Kennke  <kennke@aicas.com>
1970
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.
1980
1981 2006-11-20  Roman Kennke  <kennke@aicas.com>
1982
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.    
1991         
1992 2006-11-20  Roman Kennke  <kennke@aicas.com>
1993
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
2001         reference queue.
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.
2029
2030 2006-11-20  Marco Trudel <mtrudel@gmx.ch>
2031
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.
2038
2039 2006-11-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>
2040
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)):
2049         Implemented.
2050         (fireServiceRevoked(BeanContextServiceRevokedEvent)):
2051         Added revocation-only listeners.
2052         (getBeanContextServicesPeer()): Implemented.
2053         (getCurrentServiceClasses(Class)): Synchronized over global
2054         hierarchy lock.
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.
2064         
2065 2006-11-19  Roman Kennke  <kennke@aicas.com>
2066
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
2082         to 100.
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.
2087
2088 2006-11-19  Roman Kennke  <kennke@aicas.com>
2089
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
2108         unecessary allocs.
2109
2110 2006-11-19  Roman Kennke  <kennke@aicas.com>
2111
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.
2117
2118 2006-11-17  Roman Kennke  <kennke@aicas.com>
2119
2120         * gnu/javax/swing/text/html/css/CSSParser.java
2121         (parseDeclaration): Trim string before reporting.
2122         * gnu/javax/swing/text/html/css/FontSize.java
2123         (size): New field.
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
2142         font sizes.
2143         (getFontSize): New helper method. Resolves relative font sizes.
2144         (translateHTMLToCSS): Create CSS objects directly.
2145
2146 2006-11-13  Andrew John Hughes  <gnu_andrew@member.fsf.org>
2147
2148         * gnu/java/util/regex/RETokenNamedProperty.java:
2149         (getHandler(String)): Add support for 'all'.
2150
2151 2006-11-18  Andrew John Hughes  <gnu_andrew@member.fsf.org>
2152
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:
2158         Implemented.
2159         
2160 2006-11-17  Mark Wielaard  <mark@klomp.org>
2161
2162         * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement.
2163
2164 2006-11-17  Gary Benson  <gbenson@redhat.com>
2165
2166         * java/net/DatagramSocket.java (getLocalAddress, connect,
2167         receive): Perform security check on address not hostname.
2168
2169 2006-11-16  Roman Kennke  <kennke@aicas.com>
2170
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.
2174
2175 2006-11-16  Roman Kennke  <kennke@aicas.com>
2176
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
2188         styles.
2189         (CSSStyleSheetParserCallback.style): Removed.
2190         (CSSStyleSheetParserCallback.declaration): Update multiple styles.
2191         (CSSStyleSheetParserCallback.end): Push multiple styles.
2192         (CSSStyleSheetParserCallback.start): Initialize multiple styles.
2193
2194 2006-11-16  Roman Kennke  <kennke@aicas.com>
2195
2196         * javax/swing/text/FlowView.java
2197         (LogicalView.getPreferredSpan): Calculate maximum correctly.
2198         * javax/swing/text/GlyphView.java
2199         (tabExpander): New field.
2200         (tabX): 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
2204         relayout.
2205         (getTabExpander): Simply return the stored expander.
2206         * javax/swing/text/Utilities.java
2207         (getTabbedTextOffset): Made algoritm a little smarter and more
2208         efficient.
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.
2214
2215 2006-11-16  David Gilbert  <david.gilbert@object-refinery.com>
2216
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.
2224
2225 2006-11-16  David Gilbert  <david.gilbert@object-refinery.com>
2226
2227         * java/beans/DesignMode.java: Reformatted and removed a FIXME,
2228         * java/beans/Statement.java
2229         (toString): Updated to match reference implementation.
2230
2231 2006-11-15  Roman Kennke  <kennke@aicas.com>
2232
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.
2243
2244 2006-11-15  Roman Kennke  <kennke@aicas.com>
2245
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.
2251         (width): New field.
2252         (image): 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.
2270
2271 2006-11-15  Roman Kennke  <kennke@aicas.com>
2272
2273         * gnu/javax/swing/text/html/parser/support/Parser.java
2274         (_handleEndTag_remaining): Consume whitespace after a closing
2275         block like tag.
2276
2277 2006-11-15  Roman Kennke  <kennke@aicas.com>
2278
2279         * javax/swing/text/html/HTMLDocument.java
2280         (HTMLReader.ParagraphAction.end): Call super instead of blockClose()
2281         directly.
2282         (HTMLReader.ParagraphAction.start): Call super instead of blockOpen()
2283         directly.
2284         (HTMLReader.parseStack): Removed.
2285         (HTMLReader.blockClose): Simply call addContent() with ' '
2286         instead of doing more complicated stuff. Removed parseStack
2287         handling.
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
2292         closed.
2293         * gnu/javax/swing/text/html/parser/support/Parser.java
2294         (_handleEndTag): Only actually close the tag when the validator
2295         allows it.
2296
2297 2006-11-15  Roman Kennke  <kennke@aicas.com>
2298
2299         * javax/swing/text/html/CSS.java
2300         (Attribute.BORDER_SPACING): New field for the CSS border-spacing
2301         attribute.
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
2308         too.
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
2313         cellSpacing.
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
2322         connected.
2323         (setPropertiesFromAttributes): New method. Fetches the cell
2324         spacing from the CSS attributes.
2325
2326 2006-11-15  Roman Kennke  <kennke@aicas.com>
2327
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
2336         a closing tag.
2337
2338 2006-11-14  Roman Kennke  <kennke@aicas.com>
2339
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
2346         span to 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.
2355
2356 2006-11-14  Roman Kennke  <kennke@aicas.com>
2357
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
2370         auto-gridfitter.
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:
2382         Made class public.
2383
2384 2006-11-14  Roman Kennke  <kennke@aicas.com>
2385
2386         * javax/swing/RepaintManager.java
2387         (RepaintManager): Fetch the default state for the double buffering
2388         from a system property gnu.swing.doublebuffering.
2389
2390 2006-11-14  Roman Kennke  <kennke@aicas.com>
2391
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
2403         create().
2404         (paintEnabledText): Don't store/restore color object. The
2405         JComponent painting mechanism takes care of this by calling
2406         create().
2407
2408 2006-11-14  Roman Kennke  <kennke@aicas.com>
2409
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
2414         the Toolkit.
2415
2416 2006-11-13  Andrew John Hughes  <gnu_andrew@member.fsf.org>
2417
2418         * gnu/java/util/regex/RETokenNamedProperty.java:
2419         (getHandler(String)): Add support for 'all'.
2420         
2421 2006-11-13  Andreas Tobler  <a.tobler@schweiz.org>
2422
2423         * AUTHORS: Add myself.
2424
2425 2006-11-13  Thomas Fitzsimmons  <fitzsim@redhat.com>
2426
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.
2430
2431 2006-11-13  Roman Kennke  <kennke@aicas.com>
2432
2433         * java/awt/image/IndexColorModel.java
2434         (createCompatibleSampleModel): Implemented missing method.
2435
2436 2006-11-11  Andreas Tobler  <a.tobler@schweiz.org>
2437
2438         * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data
2439         from big endian systems correctly.
2440
2441 2006-11-11  Roman Kennke  <kennke@aicas.com>
2442
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
2450         and parses them.
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
2456         stylesheet.
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
2464         an URL.
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.
2470
2471 2006-11-11  David Gilbert  <david.gilbert@object-refinery.com>
2472
2473         * java/beans/beancontext/BeanContextSupport.java
2474         (getChildBeanContextChild): Implemented.
2475
2476 2006-11-10  Roman Kennke  <kennke@aicas.com>
2477
2478         * javax/swing/text/View.java
2479         (updateLayout): Only repaint when needed.
2480
2481 2006-11-10  David Gilbert  <david.gilbert@object-refinery.com>
2482
2483         * java/util/Collections.java
2484         (sort(List)): Minor API doc addition,
2485         (sort(List, Comparator)): Likewise.
2486
2487 2006-11-10  David Fu  <fchoong@netbeans.jp>
2488
2489         * javax/swing/text/html/HTMLWriter.java
2490         (traverse): Removed Classpath specific handling of implied
2491         tags.
2492         (traverseHtmlFragment): Removed Classpath specific handling of
2493         implied tags.
2494
2495 2006-11-10  Roman Kennke  <kennke@aicas.com>
2496
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
2504         in the Y direction.
2505         (RowView.layoutMajorAxis): Correctly layout the spans.
2506         (columnWidths): New field. Stores the width attributes of
2507         the columns.
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.
2517
2518 2006-11-09  Roman Kennke  <kennke@aicas.com>
2519
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.
2526
2527 2006-11-09  Ingo Proetel  <proetel@aicas.com>
2528 2006-11-09  Roman Kennke  <kennke@aicas.com>
2529
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
2559         yet.
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
2567         double buffering.
2568         (peerPaintChildren): New method. Paints the descendents of this
2569         container.
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
2580         the AWT component.
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
2585         fixlet.
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.
2600
2601 2006-11-09  Tania Bento  <tbento@redhat.com>
2602
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.
2611
2612 2006-11-09  David Gilbert  <david.gilbert@object-refinery.com>
2613
2614         * java/beans/beancontext/BeanContextSupport.java
2615         (BeanContextSupport): Use correct dtime default,
2616         (BeanContextSupport(BeanContext)): Likewise,
2617         (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed
2618         locale argument,
2619         (BeanContextSupport(BeanContext, Locale, boolean)): Likewise,
2620         (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise.
2621
2622 2006-11-09  David Gilbert  <david.gilbert@object-refinery.com>
2623
2624         * java/beans/beancontext/BeanContextSupport.java
2625         (getBeanContextPeer): Implemented.
2626
2627 2006-11-09  Roman Kennke  <kennke@aicas.com>
2628
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.
2637
2638 2006-11-09  Roman Kennke  <kennke@aicas.com>
2639
2640         * javax/swing/text/html/InlineView.java
2641         (nowrap): New field.
2642         (getBreakWeight): Add support for nowrap.
2643         (setPropertiesFromAttributes): Fetch the nowrap setting.
2644
2645 2006-11-09  Roman Kennke  <kennke@aicas.com>
2646
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
2656         endless loop.
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
2671         and precendence.
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
2682         to stylesheet.
2683         (CSSStyleSheetParserCallback.startStatement): Use new Selector
2684         class.
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
2690         stylesheet rules.
2691         (translateHTMLToCSS): Added mappings for a couple of HTML
2692         attributes.
2693
2694 2006-11-09  David Gilbert  <david.gilbert@object-refinery.com>
2695
2696         Fixes bug #29770
2697         * java/beans/SimpleBeanInfo.java
2698         (loadImage): Check for nulls.
2699
2700 2006-11-09  Robert Schuster  <robertschuster@fsfe.org>
2701
2702         * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2703         (getpeername): Added 16 byte offset to memcpy operation.
2704
2705 2006-11-09  Robert Schuster  <robertschuster@fsfe.org>
2706
2707         * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2708         (getsockname): Added 16 byte offset to memcpy operation.
2709
2710 2006-11-08  Mark Wielaard  <mark@klomp.org>
2711
2712         Fixes bug #29754
2713         * java/io/OutputStreamWriter.java
2714         (OutputStreamWriter(OutputStream,Charset)): Set encodingName.
2715         (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
2716
2717 2006-11-08  Roman Kennke  <kennke@aicas.com>
2718
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.
2731
2732 2006-11-08  Roman Kennke  <kennke@aicas.com>
2733
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.
2739
2740 2006-11-07  Roman Kennke  <kennke@aicas.com>
2741
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.
2745
2746 2006-11-07  Mark Wielaard  <mark@klomp.org>
2747
2748         * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar
2749         path.
2750         (flat): New method.
2751
2752 2006-11-07  Tania Bento  <tbento@redhat.com>
2753
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.
2757
2758 2006-11-07  Roman Kennke  <kennke@aicas.com>
2759
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.
2777
2778 2006-11-07  Roman Kennke  <kennke@aicas.com>
2779
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
2796         CSS borders.
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
2807         CSS border.
2808         (addRule): Be less picky about parse and IO exceptions.
2809         (getBoxPainter): Adjust to new BoxPainter constructor.
2810
2811 2006-11-07  Andreas  <a.tobler@schweiz.org>
2812
2813         * examples/Makefile.am: Add rule to install the *.html files we use
2814         in the Swing Demo.
2815
2816 2006-11-06  Francis Kung  <fkung@redhat.com>
2817
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.
2837
2838 2006-11-06  Roman Kennke  <kennke@aicas.com>
2839
2840         * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2841         Fixed initial window size and start document.
2842
2843 2006-11-06  Roman Kennke  <kennke@aicas.com>
2844
2845         * javax/swing/text/html/HTMLDocument.java
2846         (HTMLReader.addSpecialElement): Removed comment about
2847         htmlAttributeSet.
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.
2862
2863 2006-11-06  Tania Bento  <tbento@redhat.com>
2864
2865         * java/awt/TextComponent.java
2866         (setSelectionStart): Added check.
2867
2868 2006-11-06  Tania Bento  <tbento@redhat.com>
2869
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.
2875
2876 2006-11-06  Roman Kennke  <kennke@aicas.com>
2877
2878         * javax/swing/JTree.java
2879         (TreeModelHandler.treeNodesRemoved): Implemented.
2880         (TreeModelHandler.treeStructureChanged): Implemented.
2881         (nodeStates): Made package private.
2882
2883 2006-11-06  Francis Kung  <fkung@redhat.com>
2884
2885         PR 29420
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().
2894
2895 2006-11-06  Ito Kazumitsu  <kaz@maczuka.gcd.org>
2896
2897         Fixes bug #29703
2898         * java/util/regex/Matcher.java(reset): Reset inputCharIndexed.
2899
2900 2006-11-06  Roman Kennke  <kennke@aicas.com>
2901
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.
2908
2909 2006-11-06  Roman Kennke  <kennke@aicas.com>
2910
2911         * javax/swing/text/ComponentView.java
2912         (setParent): Lock the document and repaint the hosting
2913         container.
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.
2941
2942 2006-11-05  Mark Wielaard  <mark@klomp.org>
2943
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:
2947         Removed.
2948         * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
2949         Removed.
2950         * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES):
2951         Remove gnu_java_nio_channels_FileChannelImpl.c.
2952
2953 2006-11-03  Roman Kennke  <kennke@aicas.com>
2954
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
2961         CSS settings.
2962         (calculateMinorAxisRequirements): Overridden to account for
2963         CSS settings.
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
2970         a new one.
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
2982         longest word.
2983         * javax/swing/text/html/ParagraphView.java
2984         (cssHeight): New field.
2985         (cssWidth): New field.
2986         (calculateMinorAxisRequirements): Overridden to account for
2987         CSS settings.
2988         (setCSSSpan): New helper method.
2989         (setPropertiesFromAttributes): Fetch CSS width and height. Added
2990         null check.
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.
2996
2997 2006-11-03  Tania Bento  <tbento@redhat.com>
2998
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
3011         peer = null.
3012
3013 2006-11-03  Tania Bento  <tbento@redhat.com>
3014
3015         * java/awt/event/ComponentEvent.java
3016         (paramString): Changed format of string representation returned.
3017
3018 2006-11-03  Roman Kennke  <kennke@aicas.com>
3019
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
3024         block.
3025         (HTMLReader.inTextArea): New field.
3026         (HTMLReader.textAreaDocument): New field.
3027         (HTMLReader.handleText): Call textAreaContent when inside
3028         a textarea tag.
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.
3033
3034 2006-11-03  Roman Kennke  <kennke@aicas.com>
3035
3036         * javax/swing/text/html/HTMLDocument.java
3037         (HTMLReader.IsindexAction.start): Implemented.
3038
3039 2006-11-03  Roman Kennke  <kennke@aicas.com>
3040
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,
3047         if any.
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.
3052
3053 2006-11-02  Roman Kennke  <kennke@aicas.com>
3054
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
3060         in createComponent.
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.
3072
3073 2006-11-02  David Gilbert  <david.gilbert@object-refinery.com>
3074
3075         * java/awt/geom/GeneralPath.java: API doc fixes.
3076
3077 2006-11-02  Roman Kennke  <kennke@aicas.com>
3078
3079         * javax/swing/text/html/ImageView.java
3080         (getImageURL): Fetch attribute from element. Consider the
3081         base URL for relative image locations.
3082
3083 2006-11-02  Roman Kennke  <kennke@aicas.com>
3084
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.
3102
3103 2006-11-02  Roman Kennke  <kennke@aicas.com>
3104
3105         PR 29644
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
3118         reparenting.
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
3124         correctly.
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
3130         correctly.
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
3139         to result.
3140         (breakView): Be more clever when breaking the view.
3141         (getBreakLocation): New helper method to determine a good
3142         break location.
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.
3148
3149 2006-11-02  Roman Kennke  <kennke@aicas.com>
3150
3151         PR 29644
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
3160         control characters.
3161         (FreetypeGlyphVector(Font,String,FontRenderContext)):
3162         Create char array out of string.
3163         (getLogicalBounds): Don't translate bounds. They already are
3164         translated.
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
3170         constructor.
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.
3186
3187 2006-11-01  Tania Bento  <tbento@redhat.com>
3188
3189         * java/awt/ScrollPaneAdjustable.java
3190         (paramString): Changed format of string representation returned.
3191         (paramStringHelper): New private method.
3192
3193 2006-11-01  Tania Bento  <tbento@redhat.com>
3194
3195         * java/awt/GridBagLayout.java
3196         (toString): Implemented method.
3197
3198 2006-10-30  Thomas Fitzsimmons  <fitzsim@redhat.com>
3199
3200         * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading
3201         initialization to NP_Initialize.
3202         (NP_Initialize): Initialize GLib threading.
3203
3204 2006-10-31  Tania Bento  <tbento@redhat.com>
3205
3206         * javax/swing/JTextField.java
3207         (fireActionPerformed): When creating the new event, if
3208         actionCommand == null, then getText() is used.
3209
3210 2006-10-31  Francis Kung  <fkung@redhat.com>
3211
3212         * gnu/java/awt/peer/gtk/CairoGraphics2D.java
3213         (fillArc): Corrected arc type to Arc2D.PIE.
3214
3215 2006-10-31  Roman Kennke  <kennke@aicas.com>
3216
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.
3223
3224 2006-10-31  Tania Bento  <tbento@redhat.com>
3225
3226         * javax/swing/JTextField.java
3227         (fireActionPerformed): When creating the new event, 
3228         actionCommand should be used as the command, not
3229         getText().
3230
3231 2006-10-31  Roman Kennke  <kennke@aicas.com>
3232
3233         * javax/swing/text/html/HTMLEditorKit.java
3234         (write): Use HTMLWriter or MinimalHTMLWriter for writing
3235         HTML or Styled documents.
3236
3237 2006-10-31  David Fu  <fchoong@netbeans.jp>
3238
3239         * javax/swing/text/html/HTMLWriter.java: New class.
3240
3241 2006-10-30  Roman Kennke  <kennke@aicas.com>
3242
3243         * java/awt/dnd/DragSourceContext.java
3244         (dragExit): Use constant fields instead of 0.
3245         (updateCurrentCursor): Completed implementation.
3246
3247 2006-10-30  Roman Kennke  <kennke@aicas.com>
3248
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.
3252
3253 2006-10-30  Roman Kennke  <kennke@aicas.com>
3254
3255         * java/awt/datatransfer/DataFlavor.java
3256         (writeExternal): Remove not implemented tag.
3257
3258 2006-10-30  Roman Kennke  <kennke@aicas.com>
3259
3260         * java/awt/datatransfer/DataFlavor.java
3261         (javaFileListFlavor): Don't explicitly specify class.
3262         (plainTextFlavor): Don't explicitly specify class.