OSDN Git Service

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