1 2007-02-09 Jakub Jelinek <jakub@redhat.com>
4 * scripts/timezones.pl: Parse each file in 2 passes, in one parse
5 just Rule lines, in the other everything else. Pass 0 instead of
6 $savings as second argument to parseRule when parsing the start
8 * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a.
10 2007-02-07 Chris Burdess <dog@gnu.org>
13 * gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators.
14 * gnu/xml/transform/XSLURIResolver.java: Add support for custom
15 SAXSources without a backing URL or stream.
18 * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous
19 LSParser if implementation does not support asynchronous.
20 * gnu/xml/stream/XMLParser.java,
21 gnu/xml/stream/XIncludeFilter.java: Use custom code instead of
22 java.net.URL to resolve to an an absolute URI, to avoid nonexistent
23 protocol handler problems.
25 2007-02-06 Tom Tromey <tromey@redhat.com>
28 * tools/gnu/classpath/tools/javah/JniIncludePrinter.java
29 (printClass): Always print a header.
31 2007-02-05 Andrew Haley <aph@redhat.com>
34 * tools/gnu/classpath/tools/javah/JniIncludePrinter.java:
35 (printClass): Replace '/' in filenames with '_'.
36 * tools/gnu/classpath/tools/javah/JniStubPrinter.java
37 (printClass): Likewise.
39 2007-02-05 Tom Tromey <tromey@redhat.com>
41 * java/net/Proxy.java (equals): Handle case where address==null.
45 2007-01-31 Tom Tromey <tromey@redhat.com>
47 * resource/gnu/classpath/tools/jar/messages.properties
48 (Main.Stdin): New message.
49 * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Add
51 (readNames): New method.
54 2007-01-26 Andrew Haley <aph@redhat.com>
56 * java/lang/SecurityManager.java: Load and initialize
57 java.security.Security.
59 2007-01-26 Tom Tromey <tromey@redhat.com>
61 * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print
62 'volatile' after field type.
64 2007-01-23 Marco Trudel <mtrudel@gmx.ch>
66 * java/util/Arrays.java (binarySearch): Change comparison order.
68 2007-01-17 Tom Tromey <tromey@redhat.com>
70 * tools/gnu/classpath/tools/javah/PathOptionGroup.java
71 (PathOptionGroup): Set default boot class path.
73 2006-12-14 Andrew Haley <aph@redhat.com>
75 * tools/gnu/classpath/tools/jar/Creator.java: Close the
78 2006-10-12 Andrew Haley <aph@redhat.com>
80 * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel.
81 * java/lang/ThreadLocal.java: Likewise.
83 2006-09-13 Andrew Haley <aph@redhat.com>
85 * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java:
86 Revert previous gcj-specific disabling of checks.
87 * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java:
89 * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java:
92 2006-09-13 Andrew Haley <aph@redhat.com>
94 * java/util/PriorityQueue.java: Throw IllegalArgumentException for
96 (Iterator.remove()): Decrement index after removing element.
98 2006-12-11 Jeroen Frijters <jeroen@frijters.net>
100 * javax/net/ssl/SSLSocketFactory.java (getDefault):
101 Chain exception cause.
103 2006-12-11 Roman Kennke <kennke@aicas.com>
105 * .classpath: Include ASM in Eclipse classpath.
107 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
109 * gnu/java/lang/management/BeanImpl.java:
110 (translate(String)): Trim strings of whitespace.
111 * javax/management/MBeanAttributeInfo.java:
112 (MBeanAttributeInfo(String,String,Method,Method)):
113 Use Class.getName() for normal (non-parameterized) cases.
114 * javax/management/MBeanConstructorInfo.java:
115 (MBeanConstructorInfo(String, Constructor)):
117 * javax/management/MBeanOperationInfo.java:
118 (MBeanOperationInfo(String, Method)):
121 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
123 * java/lang/Class.java:
124 (getClasses()): Return Class<?>[].
125 (internalGetClasses()): Likewise.
126 (getConstructor(Class<?>...)): Add type parameter
128 (getDeclaredConstructor(Class<?>...)): Likewise.
129 (getDeclaredClasses()): Return Class<?>[].
130 (getDeclaredClasses(boolean)): Likewise.
131 (getDeclaredConstructors()): Return Constructor<?>[].
132 (getDeclaredConstructors(boolean)): Likewise.
133 (getDeclaredMethod(String,Class<?>...)): Add type
134 parameter to parameters.
135 (getInterfaces()): Return Class<?>[].
136 (getMethods(String,Class<?>...)): Add type
137 parameter to parameters.
138 * java/text/CollationKey.java:
140 * java/text/DecimalFormatSymbols.java:
143 2006-12-11 Andrew John Hughes <gnu_andrew@member.fsf.org>
145 * gnu/java/lang/management/BeanImpl.java:
146 (translate(String)): Handle Map and List as
147 Strings of the form "java.util.Map<K,V>" and
149 * javax/management/MBeanAttributeInfo.java:
150 (MBeanAttributeInfo(String,String,Method,Method)):
151 Use generic parameter and return types.
152 * javax/management/MBeanConstructorInfo.java:
153 (MBeanConstructorInfo(String, Constructor)):
154 Use generic parameter types.
155 * javax/management/MBeanOperationInfo.java:
156 (MBeanOperationInfo(String, Method)):
157 Use generic parameter and return types.
159 2006-12-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
161 * gnu/java/lang/management/BeanImpl.java:
162 (translate(String)): Comment out code for using type
163 variables for Map and List.
164 * java/lang/Thread.java:
165 (Thread(ThreadGroup,Runnable,String,long)): Fix
166 incrementation of totalThreadsCreated to be prior to use.
168 2006-12-10 Andrew John Hughes <gnu_andrew@member.fsf.org>
170 * javax/management/MBeanServerFactory.java:
171 (createMBeanServer(String)): Added security check.
172 (findMBeanServer(String)): Likewise.
173 (newMBeanServer(String)): Likewise.
174 (releaseMBeanServer(String)): Likewise.
175 * javax/management/MBeanServerPermission.java:
178 2006-12-08 David Daney <ddaney@avtrex.com>
180 * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
183 2006-12-08 David Daney <ddaney@avtrex.com>
185 * NEWS: Mention URLConnection.[get|set]ReadTimeout.
187 2006-12-08 David Daney <ddaney@avtrex.com>
189 * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add
191 (HTTPConnection): Handle NumberFormatException in properties parsing.
192 (Pool.get): Set timeout on reused sockets.
193 * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort):
195 (HTTPURLConnection): Cleanup properties handling.
196 (getConnection): Use both connection and read timeouts.
197 (setConnectTimeout): Removed.
198 (setReadTimeout): New method.
199 * java/net/URLConnection.java (timeout): Renamed to...
200 (connectTimeout): ... connectTimeout throughout.
201 (readTimeout): New field.
202 (getReadTimeout): New method.
203 (setReadTimeout): New method.
205 2006-12-08 Tania Bento <tbento@redhat.com>
207 * java/awt/ScrollPane.java
208 (doLayout): Change the location of the scrollpane's child
211 2006-12-08 David Daney <ddaney@avtrex.com>
213 * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd):
215 (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw
216 SocketTimeoutException if a blocking socket timesout.
217 (Java_gnu_java_nio_VMChannel_readScattering): Same.
218 (Java_gnu_java_nio_VMChannel_read__I): Same.
219 (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set.
220 (Java_gnu_java_nio_VMChannel_connect6): Same.
222 2006-12-08 Mark Wielaard <mark@klomp.org>
224 * configure.ac (VERSION): Set to 0.93-generics.
225 * NEWS: Add release date.
227 2006-12-08 Tania Bento <tbento@redhat.com>
229 * java/awt/ScrollPane.java
230 (getScrollPosition): Throw NullPointerException if scrollpane
232 (setScrollPosition(int, int)): Throw NullPointerException if
233 scrollpane does have a child. Check that both ints are within
234 the allowed bounds; If they are not, scroll to the closest allowed
237 2006-12-07 Roman Kennke <kennke@aicas.com>
239 * javax/swing/JEditorPane.java
240 (EditorKitMapping): New inner helper class.
241 (editorKits): New static field for caching editor kit instances.
242 (static_initiazer): Initialize static mappings here.
243 (createEditorKitForContentType): Try to use cached instance.
244 Use correct classloader for loading.
245 (getEditorKitClassNameForContentType): Make use of EditorKitMapping
247 (getEditorKitForContentType): Store the fetched editor kit.
248 Fallback to createDefaultEditorKit().
249 (init): Don't clean the static registry here.
250 (registerEditorKitForContentType(String,String,ClassLoader)):
252 (registerEditorKitForContentType(String,String)): Delegate to
253 the other version of this method with the thread's context
256 2006-12-07 Mark Wielaard <mark@klomp.org>
258 * examples/gnu/classpath/examples/swing/HtmlDemo.java
259 (setPage): Don't convert URL to String for setPage().
261 2006-12-07 Mark Wielaard <mark@klomp.org>
263 * tools/Makefile.am (clean-local): Remove iasm and asm.lst.
265 2006-12-07 Mark Wielaard <mark@klomp.org>
267 * tools/Makefile.am: Explicitly define and use bootclasspath as
270 2006-12-07 Mark Wielaard <mark@klomp.org>
272 * javax/swing/JEditorPane.java (createEditorKitForContentType):
273 Always load from system class loader.
275 2006-12-07 Mark Wielaard <mark@klomp.org>
277 * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
279 (URL(URL,String,URLStreamHandler)): Call new constructor.
280 (URL(URL,String)): Likewise.
281 (URL(String)): Likewise.
283 2006-12-07 Tom Tromey <tromey@redhat.com>
286 * INSTALL: Don't mention --with-asm.
287 * tools/external/README: New file.
288 * tools/toolwrapper.c (main): Don't use ASM_JAR.
289 * tools/gjavah.in: Don't use PATH_TO_ASM.
290 * tools/grmic.in: Likewise.
291 * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added
293 (javah, rmic): Removed variables.
294 (bin_PROGRAMS): Updated.
295 (gappletviewer_CFLAGS): Don't define ASM_JAR.
296 (gjarsigner_CFLAGS): Likewise.
297 (gkeytool_CFLAGS): Likewise.
298 (gjar_CFLAGS): Likewise.
299 (gnative2ascii_CFLAGS): Likewise.
300 (gserialver_CFLAGS): Likewise.
301 (grmiregistry_CFLAGS): Likewise.
302 (gtnameserv_CFLAGS): Likewise.
303 (gorbd_CFLAGS): Likewise.
304 (grmid_CFLAGS): Likewise.
305 (gjavah_CFLAGS): Likewise.
306 (grmic_CFLAGS): Likewise.
307 (bin_SCRIPTS): Updated.
308 (TOOLS_JAVA_FILES): Updated.
309 ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files.
310 * configure.ac: Removed --with-asm. Always build gjavah.
312 2006-12-06 Roman Kennke <kennke@aicas.com>
314 * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
316 * examples/gnu/classpath/examples/swing/HtmlDemo.java
317 (LoadActionListener): Call setPage() helper method.
318 (createContent): Register tweaked editor kit. For FormSubmitEvents
319 call submitForm(), otherwise setPage().
320 (postData): Helper method for posting form data.
321 (setPage): Helper method for navigating to a new URL.
322 (submitForm): Helper method for submitting a form.
323 * examples/gnu/classpath/examples/swing/forms.html:
324 Added text/password fields and select boxes.
325 * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo.
327 2006-12-06 Roman Kennke <kennke@aicas.com>
329 * javax/swing/text/html/FormView.java
330 (SubmitThread.postData): Implemented.
331 (SubmitThread.run): Pass data to postData().
332 (actionPerformed): Reset form when reset button is activated.
333 (createComponent): Add support for select lists and comboboxes.
334 Don't set value of text and password fields here, this is done
335 now in HTMLDocument for consistency.
336 (getElementFormData): Add support for fetching form data from
337 select lists and comboboxes as well as textareas.
338 (getSelectData): New helper method. Fetches form data from
340 (getTextAreaData): New helper method. Fetches form data from
342 (resetForm): New helper method. Resets the entire form.
343 * javax/swing/text/html/HTMLDocument.java
344 (HTMLReader.FormAction.end): Handle SELECT and OPTION tags.
345 (HTMLReader.FormAction.start): Handle SELECT and OPTION tags.
346 (HTMLReader.FormAction.setModel): Initialize text and password
347 values here. Also, use the resetable special models.
348 Group radio buttons into ButtonGroup for exclusive selection.
349 (HTMLReader.FormTagAction): New class. Handles FORM tags.
350 (HTMLReader.buttonGroups): New field.
351 (HTMLReader.numOptions): New field.
352 (HTMLReader.option): New field.
353 (HTMLReader.selectModel): New field.
354 (HTMLReader.textAreaDocument): Make ResetablePlainDocument.
355 (HTMLReader.handleText): Handle OPTION text.
356 (HTMLReader.initTags): Map FORM tags to FormTagAction.
357 (HTMLReader.textAreaContent): Set initial content.
358 * javax/swing/text/html/Option.java
359 (Option): Make copy of attribute set. Initialize selected state.
360 (getValue): Fetch value from attribute set.
361 * javax/swing/text/html/ResetableModel.java: New interface.
362 * javax/swing/text/html/ResetablePlainDocument.java: New class.
363 Supports resetting the state.
364 * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise.
365 * javax/swing/text/html/SelectComboBoxModel.java: Likewise.
366 * javax/swing/text/html/SelectListModel.java: Likewise.
368 2006-12-06 Roman Kennke <kennke@aicas.com>
370 * javax/swing/text/DefaultCaret.java
371 (appear): Adjust visibility here.
372 (setDotImpl): Don't adjust visibility here.
373 (moveDotImpl): Don't adjust visibility here.
375 2006-12-06 Roman Kennke <kennke@aicas.com>
377 * gnu/java/awt/peer/gtk/AsyncImage.java
378 (Loader.run): Synchronize on the AsyncImage to avoid threading
380 (addObservers): Check for obs==null outside and synchronize on
381 this inside to avoid locking issues.
382 (checkImage): New helper method.
383 (notifyObservers): Check that the correct lock is held and
384 remove actual locking.
385 * gnu/java/awt/peer/gtk/GtkToolkit.java
386 (checkImage): Added special handling for AsyncImages.
388 2006-12-06 Roman Kennke <kennke@aicas.com>
390 * examples/gnu/classpath/examples/swing/Demo.java
391 (getIcon): Made package private.
392 * examples/gnu/classpath/examples/swing/HtmlDemo.java
393 (hyperlinkUpdate): Convert URL to string.
395 2006-12-06 Mark Wielaard <mark@klomp.org>
397 * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify
400 2006-12-06 Roman Kennke <kennke@aicas.com>
402 * examples/gnu/classpath/examples/icons/back.png,
403 * examples/gnu/classpath/examples/icons/reload.png:
404 New icons for the HTML browser.
405 * examples/gnu/classpath/examples/swing/HtmlDemo.java
406 (history): New field. Manages the browsing history.
407 (HtmlDemo): Initialize history.
408 (createContent): Set location and add history. Add toolbar.
409 (createToolBar): New helper method.
410 (main): Make default size bigger.
411 * examples/gnu/classpath/examples/swing/frame1.html,
412 * examples/gnu/classpath/examples/swing/frame2.html,
413 * examples/gnu/classpath/examples/swing/frame3.html,
414 * examples/gnu/classpath/examples/swing/frame4.html,
415 * examples/gnu/classpath/examples/swing/frames.html,
416 * examples/gnu/classpath/examples/swing/tables.html:
418 * examples/gnu/classpath/examples/swing/welcome.html
419 Add a couple of links and new test pages.
421 2006-12-06 Roman Kennke <kennke@aicas.com>
423 * javax/swing/JEditorPane.java
424 (getStream): Buffer the stream for efficiency.
425 (setPage): Don't scroll the view at this point.
426 * javax/swing/plaf/basic/BasicTextUI.java
427 (RootView.paint): Call RootView's setSize to get synchronization.
428 (RootView.setSize): Synchronize to prevent race in layout code.
429 * javax/swing/text/AbstractDocument.java
430 (notifyListeners): New field.
431 (fireChangedUpdate): Track notifyListener field.
432 (fireRemoveUpdate): Track notifyListener field.
433 (fireIndertUpdate): Track notifyListener field.
434 (writeLock): Check notifyListener and throw IllegalStateException.
435 * javax/swing/text/View.java
436 (preferenceChanged): Create local var for better thread safety and
439 2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
441 * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
442 lightweight component, not just for non-Panel components.
443 (addImpl): Do not call doLayout.
444 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
445 (setNativeBounds): Ensure widget parent is a GtkFixed before
446 calling gtk_fixed_move.
447 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
448 (setNativeBounds): Likewise.
449 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
450 (setNativeBounds): Likewise.
452 2006-12-06 Roman Kennke <kennke@aicas.com>
454 * javax/swing/text/html/TableView.java
455 (RowView.layoutMajorAxis): Check column index for invalid value.
456 (updateGrid): Check column index for invalid value.
458 2006-12-06 Roman Kennke <kennke@aicas.com>
460 * javax/swing/text/html/BlockView.java
461 (getAlignment): Align blocks horizontally by the superclass.
462 * javax/swing/text/html/HTMLEditorKit.java
463 (HTMLFactory.create): Replace equals comparison by == for efficiency.
464 Add mapping for misplaced tr, td and th tags. Include object mapping.
465 * javax/swing/text/html/TableView.java
466 (RowView.replace): Invalidate grid early.
467 (gridValid): Initialize with false.
468 (create): Only create RowView and CellView for correctly placed
469 tags. Avoid unnecessary casts.
470 (getAlignment): Removed.
471 (replace): Invalidate grid early.
473 2006-12-06 Francis Kung <fkung@redhat.com>
475 * java/awt/geom/RectangularShape.java
476 (getBounds): Remove empty rectangle check.
478 2006-12-06 Ben Konrath <bkonrath@redhat.com>
481 * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and
482 newValue are the same.
483 * gnu/xml/dom/DomNode.java: Set parent if null during mutation.
485 2006-12-06 Tania Bento <tbento@redhat.com>
487 * javax/swing/border/CompoundBorder.java:
488 (isBorderOpaque): If inside border is null, return true if outside
489 border is opaque, false otherwise; if outside border is null, return
490 true if inside border is opaque, false otherwise; if inside or
491 outside border are both not null, then return true only if both the
492 inside and outside border are opaque, false otherwise.
494 2006-12-06 Tania Bento <tbento@redhat.com>
496 * javax/swing/border/CompoundBorder.java:
497 (isBorderOpaque): If inside and outside border both have a null
500 2006-12-06 Chris Burdess <dog@gnu.org>
503 * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
504 * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
506 2006-12-06 Chris Burdess <dog@gnu.org>
509 * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
512 2006-12-06 Chris Burdess <dog@gnu.org>
515 * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
516 discover schema factory implementation class.
518 2006-12-05 Francis Kung <fkung@redhat.com>
520 * java/awt/BasicStroke.java
521 (capEnd): Prevent division by zero.
522 * java/awt/geom/Arc2D.java
523 (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive.
524 (ArcIterator.currentSegment): Handle a negative extent.
526 2006-12-05 Francis Kung <fkung@redhat.com>
528 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
529 (constructor): Handle translated subimages properly, ie, if the image's
530 0,0 position is not the data buffer's first element.
532 2006-12-05 Roman Kennke <kennke@aicas.com>
534 * gnu/java/awt/peer/gtk/AsyncImage.java
535 (Loader.run): Nullify observers after loading.
536 (observers): Made package private.
537 (addObserver): Check for null observers field. Create local
538 variable for thread safety.
539 (getHeight): Use addObserver() for checking state of field
540 and notifying observer when necessary.
541 (getWidth): Use addObserver() for checking state of field
542 and notifying observer when necessary.
543 (getProperty): Use addObserver() for checking state of field
544 and notifying observer when necessary.
545 (notifyObservers): Check for null observers field. Create local
546 variable for thread safety.
548 2006-12-05 Roman Kennke <kennke@aicas.com>
550 * javax/swing/text/html/HTMLEditorKit.java
551 (HTMLFactory.create): Removed debug output.
552 * javax/swing/text/html/InlineView.java
553 (getBreakWeight): Likewise.
554 * javax/swing/text/html/StyleSheet.java
556 (ListPainter.paint): Removed debug output.
558 2006-12-05 Roman Kennke <kennke@aicas.com>
560 * javax/swing/text/html/BlockView.java
561 (painter): Made package visible.
562 * javax/swing/text/html/StyleSheet.java
563 (translateBorder): New helper method.
564 (translateHTMLToCSS): Add mappings for border attributes.
565 * javax/swing/text/html/TableView.java
566 Made class subclass of BlockView to get CSS goodness.
567 (CellView.rowSpan): New field.
568 (CellView.setPropertiesFromAttributes): Fetch rowspan.
569 (RowView.overlap): New field.
570 (RowView.rowIndex): New field.
571 (RowView.layoutMajorAxis): Skip overlapping cells.
572 (RowView.layoutMinorAxis): Layout cells that span more than 1 row.
573 (numColumns): New field.
574 (tmpRect): New field.
575 (TableView): Initialize tmpRect.
576 (calculateColumnRequirements): Adjusted and fixed for multirows.
577 (getAlignment): Overridden to center tables.
578 (paint): Overridden to fix clipping.
579 (getStyleSheet): Made protected.
580 (layoutMajorAxis): Invalidate rows.
581 (setPropertiesFromAttributes): Made protected and call super.
582 (updateGrid): Update the overlapping information for multirows.
584 2006-12-05 Roman Kennke <kennke@aicas.com>
586 * gnu/java/awt/peer/gtk/AsyncImage.java
587 (addObserver): Check for null and ignore null observers.
588 (getWidth): Check for null and ignore null observers.
589 (getHeight): Check for null and ignore null observers.
590 (getProperty): Check for null and ignore null observers.
592 2006-12-05 Francis Kung <fkung@redhat.com>
594 * java/awt/BasicStroke.java
595 (capEnd): Prevent division by zero.
596 * java/awt/geom/Arc2D.java
597 (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive.
598 (ArcIterator.currentSegment): Handle a negative extent.
600 2006-12-05 Francis Kung <fkung@redhat.com>
602 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
603 (constructor): Handle translated subimages properly, ie, if the image's
604 0,0 position is not the data buffer's first element.
606 2006-12-05 Roman Kennke <kennke@aicas.com>
608 * javax/swing/text/html/ImageView.java
609 (imageUpdate): Use spans field to determine if the CSS width/height
610 are set. Call safePreferenceChanged to protect view structure
611 from threading issues.
612 (spans): Made package private.
613 (ImageView): Initialize loadOnDemand with false.
614 (loadImage): Call Toolkit.prepareImage() to make sure we have
615 our Observer registered.
616 (safePreferenceChanged): New helper method. Calls preferenceChanged
617 in a thread safe environment.
619 2006-12-05 Roman Kennke <kennke@aicas.com>
621 * NEWS: Add entry about improved HTML support.
623 2006-12-05 Roman Kennke <kennke@aicas.com>
625 * javax/swing/text/html/ImageView.java
626 (ImageView): Initialize spans array here.
627 (setPropertiesFromAttributes): Moved init of spans array to
630 2006-12-05 Roman Kennke <kennke@aicas.com>
632 * javax/swing/text/html/BlockView.java
633 (painter): Made package visible.
634 * javax/swing/text/html/StyleSheet.java
635 (translateBorder): New helper method.
636 (translateHTMLToCSS): Add mappings for border attributes.
637 * javax/swing/text/html/TableView.java
638 Made class subclass of BlockView to get CSS goodness.
639 (CellView.rowSpan): New field.
640 (CellView.setPropertiesFromAttributes): Fetch rowspan.
641 (RowView.overlap): New field.
642 (RowView.rowIndex): New field.
643 (RowView.layoutMajorAxis): Skip overlapping cells.
644 (RowView.layoutMinorAxis): Layout cells that span more than 1 row.
645 (numColumns): New field.
646 (tmpRect): New field.
647 (TableView): Initialize tmpRect.
648 (calculateColumnRequirements): Adjusted and fixed for multirows.
649 (getAlignment): Overridden to center tables.
650 (paint): Overridden to fix clipping.
651 (getStyleSheet): Made protected.
652 (layoutMajorAxis): Invalidate rows.
653 (setPropertiesFromAttributes): Made protected and call super.
654 (updateGrid): Update the overlapping information for multirows.
656 2006-12-05 Roman Kennke <kennke@aicas.com>
658 * javax/swing/text/html/HTMLEditorKit.java
659 (HTMLFactory.create): Removed debug output.
660 * javax/swing/text/html/InlineView.java
661 (getBreakWeight): Likewise.
662 * javax/swing/text/html/StyleSheet.java
664 (ListPainter.paint): Removed debug output.
666 2006-12-06 Roman Kennke <kennke@aicas.com>
668 * javax/swing/text/html/BlockView.java
669 (getAlignment): Align blocks horizontally by the superclass.
670 * javax/swing/text/html/HTMLEditorKit.java
671 (HTMLFactory.create): Replace equals comparison by == for efficiency.
672 Add mapping for misplaced tr, td and th tags. Include object mapping.
673 * javax/swing/text/html/TableView.java
674 (RowView.replace): Invalidate grid early.
675 (gridValid): Initialize with false.
676 (create): Only create RowView and CellView for correctly placed
677 tags. Avoid unnecessary casts.
678 (getAlignment): Removed.
679 (replace): Invalidate grid early.
682 2006-12-06 Roman Kennke <kennke@aicas.com>
684 * javax/swing/text/html/TableView.java
685 (RowView.layoutMajorAxis): Check column index for invalid value.
686 (updateGrid): Check column index for invalid value.
688 2006-12-06 Roman Kennke <kennke@aicas.com>
690 * javax/swing/JEditorPane.java
691 (getStream): Buffer the stream for efficiency.
692 (setPage): Don't scroll the view at this point.
693 * javax/swing/plaf/basic/BasicTextUI.java
694 (RootView.paint): Call RootView's setSize to get synchronization.
695 (RootView.setSize): Synchronize to prevent race in layout code.
696 * javax/swing/text/AbstractDocument.java
697 (notifyListeners): New field.
698 (fireChangedUpdate): Track notifyListener field.
699 (fireRemoveUpdate): Track notifyListener field.
700 (fireIndertUpdate): Track notifyListener field.
701 (writeLock): Check notifyListener and throw IllegalStateException.
702 * javax/swing/text/View.java
703 (preferenceChanged): Create local var for better thread safety and
706 2006-12-06 Roman Kennke <kennke@aicas.com>
708 * examples/gnu/classpath/examples/icons/back.png,
709 * examples/gnu/classpath/examples/icons/reload.png:
710 New icons for the HTML browser.
711 * examples/gnu/classpath/examples/swing/HtmlDemo.java
712 (history): New field. Manages the browsing history.
713 (HtmlDemo): Initialize history.
714 (createContent): Set location and add history. Add toolbar.
715 (createToolBar): New helper method.
716 (main): Make default size bigger.
717 * examples/gnu/classpath/examples/swing/frame1.html,
718 * examples/gnu/classpath/examples/swing/frame2.html,
719 * examples/gnu/classpath/examples/swing/frame3.html,
720 * examples/gnu/classpath/examples/swing/frame4.html,
721 * examples/gnu/classpath/examples/swing/frames.html,
722 * examples/gnu/classpath/examples/swing/tables.html:
724 * examples/gnu/classpath/examples/swing/welcome.html
725 Add a couple of links and new test pages.
727 2006-12-06 Roman Kennke <kennke@aicas.com>
729 * examples/gnu/classpath/examples/swing/Demo.java
730 (getIcon): Made package private.
731 * examples/gnu/classpath/examples/swing/HtmlDemo.java
732 (hyperlinkUpdate): Convert URL to string.
734 2006-12-06 Roman Kennke <kennke@aicas.com>
736 * javax/swing/text/DefaultCaret.java
737 (appear): Adjust visibility here.
738 (setDotImpl): Don't adjust visibility here.
739 (moveDotImpl): Don't adjust visibility here.
741 2006-12-06 Roman Kennke <kennke@aicas.com>
743 * javax/swing/text/html/FormView.java
744 (SubmitThread.postData): Implemented.
745 (SubmitThread.run): Pass data to postData().
746 (actionPerformed): Reset form when reset button is activated.
747 (createComponent): Add support for select lists and comboboxes.
748 Don't set value of text and password fields here, this is done
749 now in HTMLDocument for consistency.
750 (getElementFormData): Add support for fetching form data from
751 select lists and comboboxes as well as textareas.
752 (getSelectData): New helper method. Fetches form data from
754 (getTextAreaData): New helper method. Fetches form data from
756 (resetForm): New helper method. Resets the entire form.
757 * javax/swing/text/html/HTMLDocument.java
758 (HTMLReader.FormAction.end): Handle SELECT and OPTION tags.
759 (HTMLReader.FormAction.start): Handle SELECT and OPTION tags.
760 (HTMLReader.FormAction.setModel): Initialize text and password
761 values here. Also, use the resetable special models.
762 Group radio buttons into ButtonGroup for exclusive selection.
763 (HTMLReader.FormTagAction): New class. Handles FORM tags.
764 (HTMLReader.buttonGroups): New field.
765 (HTMLReader.numOptions): New field.
766 (HTMLReader.option): New field.
767 (HTMLReader.selectModel): New field.
768 (HTMLReader.textAreaDocument): Make ResetablePlainDocument.
769 (HTMLReader.handleText): Handle OPTION text.
770 (HTMLReader.initTags): Map FORM tags to FormTagAction.
771 (HTMLReader.textAreaContent): Set initial content.
772 * javax/swing/text/html/Option.java
773 (Option): Make copy of attribute set. Initialize selected state.
774 (getValue): Fetch value from attribute set.
775 * javax/swing/text/html/ResetableModel.java: New interface.
776 * javax/swing/text/html/ResetablePlainDocument.java: New class.
777 Supports resetting the state.
778 * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise.
779 * javax/swing/text/html/SelectComboBoxModel.java: Likewise.
780 * javax/swing/text/html/SelectListModel.java: Likewise.
782 2006-12-06 Roman Kennke <kennke@aicas.com>
784 * examples/gnu/classpath/examples/swing/BrowserEditorKit.java:
786 * examples/gnu/classpath/examples/swing/HtmlDemo.java
787 (LoadActionListener): Call setPage() helper method.
788 (createContent): Register tweaked editor kit. For FormSubmitEvents
789 call submitForm(), otherwise setPage().
790 (postData): Helper method for posting form data.
791 (setPage): Helper method for navigating to a new URL.
792 (submitForm): Helper method for submitting a form.
793 * examples/gnu/classpath/examples/swing/forms.html:
794 Added text/password fields and select boxes.
795 * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo.
797 2006-12-07 Mark Wielaard <mark@klomp.org>
799 * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New
801 (URL(URL,String,URLStreamHandler)): Call new constructor.
802 (URL(URL,String)): Likewise.
803 (URL(String)): Likewise.
805 2006-12-07 Mark Wielaard <mark@klomp.org>
807 * javax/swing/JEditorPane.java (createEditorKitForContentType):
808 Always load from system class loader.
810 2006-12-06 Ben Konrath <bkonrath@redhat.com>
813 * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and
814 newValue are the same.
815 * gnu/xml/dom/DomNode.java: Set parent if null during mutation.
817 2006-12-06 Chris Burdess <dog@gnu.org>
820 * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc.
821 * gnu/xml/stream/SAXParser.java: Fix file descriptor leak.
823 2006-12-06 Chris Burdess <dog@gnu.org>
826 * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in
829 2006-12-056 Chris Burdess <dog@gnu.org>
832 * javax/xml/validation/SchemaFactory.java: Use correct algorithm to
833 discover schema factory implementation class.
835 2006-12-05 Roman Kennke <kennke@aicas.com>
837 * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports
838 asynchronous loading of images.
839 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
840 (drawImage): Fetch real image from possibly AsyncImage.
841 * gnu/java/awt/peer/gtk/ComponentGraphics.java
842 (drawImage): Fetch real image from possibly AsyncImage.
843 * gnu/java/awt/peer/gtk/GtkToolkit.java
844 (createImage(URL)): Create async image.
845 (imageOrError): Made method static for easy access from AsyncImage.
846 (prepareImage): For async images, register the observer to the
849 2006-12-05 Roman Kennke <kennke@aicas.com>
851 (paintComponent): Include paint area from event.
852 (updateComponent): Include paint area from event.
854 2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
856 * java/awt/ScrollPane.java (addNotify): Add a parent panel for any
857 lightweight component, not just for non-Panel components.
858 (addImpl): Do not call doLayout.
859 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
860 (setNativeBounds): Ensure widget parent is a GtkFixed before
861 calling gtk_fixed_move.
862 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
863 (setNativeBounds): Likewise.
864 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
865 (setNativeBounds): Likewise.
867 2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com>
869 * java/awt/Component.java (getFontImpl): Return a default font if
870 topmost parent's font is null.
872 2006-12-04 Mark Wielaard <mark@klomp.org>
874 * javax/swing/text/html/CSS.java (parseMarginShorthand):
877 2006-12-04 Roman Kennke <kennke@aicas.com>
879 * java/awt/font/TextLayout.java
880 (hitTestChar): Fixed conditions for inclusion of range.
881 Use layout information in the run for more efficiency.
883 2006-12-04 Roman Kennke <kennke@aicas.com>
885 * javax/swing/text/GlyphView.java
886 (J2DGlyphPainter): New inner class.
887 (checkPainter): For Java2D capable environments create
890 2006-12-04 Roman Kennke <kennke@aicas.com>
892 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
893 (FreeTypeGlyphVector): Don't filter control chars here.
894 (getGlyphs): Filter control chars and replace them by
897 2006-12-04 Roman Kennke <kennke@aicas.com>
899 * native/jni/java-nio/gnu_java_nio_VMChannel.c
900 (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR.
902 2006-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
904 * gnu/java/lang/management/BeanImpl.java:
905 (translate(String)): Don't assume the list uses "E",
906 just use the first and only type variable.
907 * java/lang/management/ManagementFactory.java:
908 (getPlatformMBeanServer()): Register logging bean.
909 * javax/management/openmbean/OpenType.java:
910 (OpenType(String,String,String)): Actually use
911 the string created to handle arrays.
913 2006-12-04 Mark Wielaard <mark@klomp.org>
915 * native/jni/java-nio/gnu_java_nio_VMChannel.c
916 (JCL_thread_interrupted): Use CallStaticBooleanMethod.
918 2006-12-04 Mark Wielaard <mark@klomp.org>
920 * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted):
922 * native/jni/java-nio/gnu_java_nio_VMChannel.c
923 (JCL_thread_interrupted): Only take JNIEnv.
924 (vm_channel_class): New static variable.
925 (initID): Set vm_channel_class.
926 Wrap all reads() and writes() in do-while blocks that check
929 2006-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org>
931 * gnu/javax/management/Server.java:
932 Make map final and initialise it.
933 (unregisterMBean(ObjectName)): Match against
934 delegate's object name and not the instance.
935 * java/lang/management/ManagementFactory.java:
936 Added constant fields.
937 (getPlatformMBeanServer()): Implemented.
938 * javax/management/MBeanServerFactory.java: New file.
940 2006-12-04 Roman Kennke <kennke@aicas.com>
942 * javax/swing/text/BoxView.java
943 (paint): Replaced painting algorithm with more simple and more
944 reliable painting of the box.
945 * javax/swing/text/html/BlockView.java
946 (PositionInfo): New inner class. Stores additional CSS
947 positioning information.
948 (positionInfo): New field.
949 (BlockView): Initialize positionInfo field.
950 (fetchLayoutInfo): New helper method. Fetches additional
951 CSS positioning information.
952 (layoutMajorAxis): Perform additional CSS layout.
953 (layoutMinorAxis): Perform additional CSS layout.
954 (positionView): New helper method.
955 (replace): Overridden to fetch additional layout information.
956 * javax/swing/text/html/CSS.java
957 (Attribute.POSITION): New field.
958 (Attribute.LEFT): New field.
959 (Attribute.RIGHT): New field.
960 (Attribute.TOP): New field.
961 (Attribute.BOTTOM): New field.
962 (getValue): Create Length for left, right, top and bottom
965 2006-12-04 Roman Kennke <kennke@aicas.com>
967 * gnu/javax/swing/text/html/parser/support/Parser.java
968 (Sgml): Consume any whitespace that immediately follows
970 (parseDocument): Consume any initial whitespace.
972 2006-12-03 Mark Wielaard <mark@klomp.org>
974 * gnu/javax/management/Server.java (beans): Initialize.
975 (registerMBean): Don't initialize beans.
977 2006-12-03 Mark Wielaard <mark@klomp.org>
979 * java/util/logging/LogManager.java (getLevelProperty): Check
980 whether value is null before passing to Level.parse().
982 2006-12-04 Robert Lougher <rob.lougher@gmail.com>
984 * java/lang/management/ThreadInfo.java (ThreadInfo): Check
985 whether given a null lock and lockOwner.
987 2006-12-03 Mark Wielaard <mark@klomp.org>
989 * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream.
990 (PageLoader.page): Made package local.
991 (PageLoader.run): Don't reset loader.
992 (PageLoader.cancel): New method.
993 (loading): Renamed to loader.
994 (getPage): Return loader.page.
995 (setPage): Always set loader. Never reset to null.
997 2006-12-03 Mark Wielaard <mark@klomp.org>
999 * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether
1001 (isLastChild): Return false when path is null.
1003 2006-12-03 Mark Wielaard <mark@klomp.org>
1005 * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed
1006 to currentPaintArea.
1007 (paintComponent): Work with local reference to currentPaintArea.
1008 (updateComponent): Likewise.
1009 (coalescePaintEvent): Set currentPaintArea.
1011 2006-12-02 Andrew John Hughes <gnu_andrew@member.fsf.org>
1013 * javax/management/MBeanServerBuilder.java: New file.
1015 2006-12-01 Mark Wielaard <mark@klomp.org>
1017 * java/text/DecimalFormat.java (parse): Always increment parsing
1018 index and adjust pos result.
1020 2006-12-01 Roman Kennke <kennke@aicas.com>
1022 * javax/swing/text/html/HTML.java
1023 (Attribute.DYNAMIC_CLASS): New field.
1024 (Attribute.PSEUDO_CLASS): New field.
1025 * javax/swing/text/html/HTMLDocument.java
1026 (HTMLReader.CharacterAction.start): Initialize anchor with link
1028 (updateSpecialClass): New helper method. Updates the dynamic
1029 or pseudo class for anchor tags.
1030 * javax/swing/text/html/HTMLEditorKit.java
1031 (LinkController.lastAnchorElement): New field. For tracking
1032 enter/exit of anchors.
1033 (LinkController.activateLink): Set pseudo class to 'visited'.
1034 (LinkController.mouseMoved): Added support for tracking
1035 the 'hover' dynamic class.
1036 * javax/swing/text/html/InlineView.java
1037 (changedUpdate): Fetch new properties.
1038 * javax/swing/text/html/StyleSheet.java
1039 (attributeSetToMap): New helper method.
1040 (getRule): Also append dynamic and pseudo class to key.
1041 (resolveStyle): Resolve style based generally on all attributes.
1042 * javax/swing/text/html/TableView.java
1043 (RowView.layoutMajorAxis): Make sure the grid is valid.
1044 (updateGrid): Made package private.
1045 * gnu/javax/swing/text/html/css/Selector.java
1046 (calculateSpecificity): Added support for dynamic and pseudo classes.
1047 (matches): Changed to operate on general attributes.
1048 Added support for dynamic and pseudo classes.
1050 2006-12-01 Mario Torre <neugens@limasoftware.net>
1052 * java/text/DecimalFormat.java (formatInternal): move the formatting of
1053 fractional portion in a separate method.
1054 Also fixes the handling of decimal separator and its associated field.
1055 (handleFractionalPart): new method, needed to relax a bit
1058 2006-12-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
1060 * java/beans/beancontext/BeanContextServicesSupport.java:
1061 (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices,
1062 Class)): Implemented.
1063 (BCSSProxyServiceProvider.getService(BeanContextServices, Object,
1064 Class, Object)): Implemented.
1065 (BCSSProxyServiceProvider.releaseService(BeanContextServices,
1066 Object, Object)): Implemented.
1067 (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)):
1069 (initialiseBeanContextResources()): Implemented.
1070 (releaseBeanContextResoures()): Implemented.
1072 2006-12-01 Mark Wielaard <mark@klomp.org>
1074 * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated.
1076 2006-12-01 Roman Kennke <kennke@aicas.com>
1078 * gnu/javax/swing/text/html/css/BorderStyle.java: New class for
1079 handling border styles.
1080 * gnu/javax/swing/text/html/css/BorderWidth.java
1081 (isValid): New method.
1082 * gnu/javax/swing/text/html/css/Length.java
1083 (isValid): New method.
1084 * javax/swing/text/html/CSS.java
1085 (addInternal): Added shorthand parsing for border, padding and
1087 (parseBackgroundShorthand): Added API docs.
1088 (parsePaddingShorthand): New method. Handles padding shorthand
1090 (parseMarginShorthand): New method. Handles margin shorthand
1092 (parseBorderShorthand): New method. Handles border shorthand
1094 * javax/swing/text/html/StyleSheet.java
1095 (translateHTMLToCSS): Set specific padding attributes.
1096 (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here.
1097 These shorthands are now handled in CSS.
1098 (BoxPainter.paint): Exclude the outer margin.
1100 2006-12-01 Roman Kennke <kennke@aicas.com>
1102 * gnu/javax/swing/text/html/css/Length.java
1103 (emBase): New field.
1104 (exBase): New field.
1105 (isFontEMRelative): New field.
1106 (isFontEXRelative): New field.
1107 (Length): Recognize and setup EM and EX relative values.
1108 (getValue): Handle EM and EX relative values.
1109 (isEMRelative): New method.
1110 (isEXRelative): New method.
1111 (setEMBase): New method.
1112 (setEXBase): New method.
1113 (setFontBases): New method.
1114 * gnu/javax/swing/text/html/parser/support/Parser.java
1115 (_handleEmptyTag): Use new isBlock() helper method.
1116 (_handleEndTag_remaining): Use new isBlock() helper method.
1117 (_handleStartTag): Consume whitespace after block start tag.
1118 (Comment): Consume whitespace after a comment.
1119 (isBlock): New helper method.
1120 (readAttributes): Consider all characters in unquoted attribute
1122 * javax/swing/text/html/BlockView.java
1123 (layoutMinorAxis): Use cached span value.
1124 (paint): Added debug code (commented out).
1125 (setPropertiesFromAttributes): Set the EM and EX base on lengths.
1126 * javax/swing/text/html/CSSBorder.java
1127 (CSSBorder): Take StyleSheet as argument. Call getBorderWidth()
1129 (getBorderWidth): Set the EM and EX base on the length values.
1130 * javax/swing/text/html/HTMLDocument.java
1131 (HTMLReader.ParagraphAction.end): Do not set the inParagraph field.
1132 (HTMLReader.ParagraphAction.start): Do not set the inParagraph field.
1133 (HTMLReader.inImpliedParagraph): Removed.
1134 (HTMLReader.inParagraph): Removed.
1135 (HTMLReader.parseStack): New field.
1136 (HTMLReader.addContent): Use new paragraph handling.
1137 (HTMLReader.addSpecialElement): Use new paragraph handling.
1138 (HTMLReader.blockClose): Use new paragraph handling.
1139 (HTMLReader.blockOpen): Use new paragraph handling.
1140 (HTMLReader.inImpliedParagraph): New helper method.
1141 (HTMLReader.inParagraph): New helper method.
1142 * javax/swing/text/html/ImageView.java
1143 (attributes): New field. Caches view attributes.
1144 (spans): New field. Caches CSS spans.
1145 (getAttributes): Correctly setup CSS view attributes.
1146 (getPreferredSpan): Use caches spans.
1147 (getStyleSheet): Use the view's getDocument() method.
1148 (setPropertiesFromAttributes): Cache spans and setup EM and EX.
1149 (updateSize): Use cached spans.
1150 * javax/swing/text/html/ParagraphView.java
1151 (setPropertiesFromAttributes): Setup EM and EX.
1152 * javax/swing/text/html/StyleSheet.java
1153 (BoxPainter.BoxPainter): Setup EM and EX correctly.
1154 (getEMBase): New helper method.
1155 (getEXBase): New helper method.
1156 * javax/swing/text/html/TableView.java
1157 (width): New field. Caches the table width.
1158 (calculateMinorAxisRequirements): Use caches span.
1159 (setPropertiesFromAttributes): Cache span and setup EM/EX.
1160 (updateGrid): Correctly setup EM/EX.
1162 2006-11-30 Roman Kennke <kennke@aicas.com>
1164 * javax/swing/text/html/FormSubmitEvent.java: New class.
1165 * javax/swing/text/html/FormView.java
1166 (SubmitThread): New class for submitting data in a separate thread.
1167 (actionPerformed): Fetch the actual for data.
1168 (addData): New helper method.
1169 (getElementFormData): New helper method.
1170 (getFormData): New helper method.
1171 (getInputFormData): New helper method.
1172 (submitData): Implemented.
1173 * javax/swing/text/html/FrameView.java
1174 (createComponent): Add this as hyperlink listener.
1175 Set the target document as frame document.
1176 (getTopEditorPane): New helper method.
1177 (hyperlinkUpdate): Implementation of the HyperlinkListener interface.
1178 (handleHyperlinkEvent): New helper method.
1179 (handleFormSubmitEvent): New helper method.
1180 * javax/swing/text/html/HTMLDocument.java
1181 (HTMLReader.BaseAction.start): Track the base target.
1182 (HTMLReader.BaseAction.end): Removed.
1183 (baseTarget): New field.
1184 (frameDocument): New field.
1185 (getBaseTarget): New property accessor.
1186 (isFrameDocument): New property accessor.
1187 (processHTMLFrameHyperlinkEvent): Implemented.
1188 (setFrameDocument): New property accessor.
1189 (updateFrame): New helper method.
1190 (updateFrameSet): New helper method.
1191 * javax/swing/text/html/HTMLEditorKit.java
1192 (LinkController.createHyperlinkEvent): Handle frame documents.
1193 (autoFormSubmission): New field.
1194 (HTMLEditorKit): Set autoFormSubmission to true.
1195 (isAutoFormSubmission): New property accessor.
1196 (setAutoFormSubmission): New property accessor.
1198 2006-11-30 Roman Kennke <kennke@aicas.com>
1200 * javax/swing/text/ElementIterator.java
1201 (ElementRef): New inner class.
1202 (currentDepth): Removed.
1203 (currentElement): Removed.
1204 (previousItem): Removed.
1205 (stack): New field. Holds the iteration stack.
1207 (ElementIterator(Document)): Removed init of removed fields.
1208 (ElementIterator(Element)): Removed init of removed fields.
1209 (current): Changed to stack based algorithm.
1210 (deepestLeaf): New helper method.
1211 (depth): Changed to stack based algorithm.
1212 (first): Changed to stack based algorithm.
1213 (next): Changed to stack based algorithm.
1214 (previous): Changed to stack based algorithm.
1216 2006-11-30 Francis Kung <fkung@redhat.com>
1218 * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4.
1219 * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses.
1221 2006-11-30 Francis Kung <fkung@redhat.com>
1223 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1224 (draw): Set transform in buffered composite.
1225 (drawComposite): Do not transform bounds; round bounds.
1226 (drawGlyphVector): Set transform in buffered composite.
1227 (drawRenderedImage): Set transform in buffered composite.
1228 (fill): Set transform in buffered composite.
1229 (updateBufferedImage): Fix scanline & height calculations.
1230 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1231 (createPath): Simplify width & height calculation.
1232 (drawImage): Also transform width & height.
1234 2006-11-30 Roman Kennke <kennke@aicas.com>
1236 * javax/swing/text/html/FrameSetView.java: New class. Implements
1238 * javax/swing/text/html/FrameView.java: New class. Implements
1240 * javax/swing/text/html/HTMLDocument.java:
1241 (HTMLReader.addSpecialElement): Only add one artificial space.
1242 * javax/swing/text/html/HTMLEditorKit.java
1243 (HTMLFactory.create): Uncomment code for FrameSetView and FrameView.
1244 * gnu/javax/swing/text/html/parser/support/Parser.java
1245 (_handleEmptyTag): Also consume whitespace after frame tags.
1247 2006-11-30 Gary Benson <gbenson@redhat.com>
1249 * java/lang/Thread.java: Javadoc fixes.
1251 2006-11-29 Tom Tromey <tromey@redhat.com>
1254 * java/lang/Class.java (getAnnotations): Rewrote.
1256 2006-11-29 Tania Bento <tbento@redhat.com>
1258 * tools/gnu/classpath/tools/appletviewer/TagParser.java:
1259 (parseParams): Unescape 'val' before putting it into the Map.
1260 (unescapeString): New private method.
1262 2006-11-29 Tom Tromey <tromey@redhat.com>
1264 * tools/gnu/classpath/tools/getopt/package.html: New file.
1266 2006-11-29 David Gilbert <david.gilbert@object-refinery.com>
1268 * javax/swing/plaf/metal/MetalIconFactory.java
1269 (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint,
1270 (VerticalSliderThumbIcon.paintIcon()): Likewise.
1272 2006-11-29 Mario Torre <neugens@limasoftware.net>
1274 * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign
1275 with the default international currency sign \u00A4.
1276 * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol
1277 table for string formatting.
1278 (formatInternal): likewise.
1279 (scanNegativePattern): likewise.
1280 (applyPattern): likewise.
1281 * java/text/DecimalFormatSymbols.java (clone): Revert to old version as
1282 Locale is immutable and does not need clone.
1284 2006-11-29 Francis Kung <fkung@redhat.com>
1286 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1287 (drawLine): Remove hard-coded pixel shifting.
1289 2006-11-29 Roman Kennke <kennke@aicas.com>
1291 * java/awt/Component.java
1292 (isShowing): Simplified condition code and avoid unnecessary
1294 (coalesceEvents): Always coalesce paint events and let the peer
1295 figure out the expanding of the repaint area.
1296 * gnu/java/awt/peer/swing/SwingComponentPeer.java
1297 (currentPaintEvents): Removed. Replaced by paintArea.
1298 (paintArea): New field. Tracks the dirty area.
1299 (SwingComponentPeer): Removed init of currentPaintEvents.
1300 (coalescePaintEvent): Simplified to only union the dirty regions.
1301 (handleEvent): Paint dirty region that was tracked in paintArea.
1302 * gnu/java/awt/peer/gtk/GtkComponentPeer.java
1303 (paintArea): New field. Tracks the dirty region.
1304 (coalescePaintEvent): Implemented to track the dirty region.
1305 (paintComponent): Use the dirty region in paintArea. Protect
1306 state by putting the paint and dispose code in a try-finally.
1307 (updateComponent): Use the dirty region in paintArea. Protect
1308 state by putting the paint and dispose code in a try-finally.
1310 2006-11-29 Roman Kennke <kennke@aicas.com>
1312 * java/awt/font/TextLayout.java
1313 (getVisualHighlightShape): Removed debug output.
1315 2006-11-28 Andrew Haley <aph@redhat.com>
1317 * vm/reference/sun/reflect/misc/ReflectUtil.java
1318 (checkPackageAccess): Implement.
1320 2006-11-28 Dalibor Topic <robilad@kaffe.org>
1322 * native/jni/java-lang/java_lang_VMDouble.c:
1323 (parseDoubleFromChars) New function. Factored out from ...
1324 (Java_java_lang_VMDouble_parseDouble): Factored out the parsing.
1325 (dtoa_toString): New function. Factored out from ...
1326 (Java_java_lang_VMDouble_toString) : Factored out the conversion.
1327 Changed conversion mode to 2, as modes 0 and 1 don't round
1328 as the API spec demands. Invoke conversion function as often
1329 as necessary with growing precision until a reversible
1330 representation of the double in form of a string is reached.
1332 2006-11-28 Roman Kennke <kennke@aicas.com>
1334 * javax/swing/JComponent.java
1335 (putClientProperty): Do not fire event when both old and new
1338 2006-11-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
1340 * java/lang/Enum.java:
1341 Make name and ordinal final.
1343 2006-11-27 Casey Marshall <csm@gnu.org>
1345 * java/util/jar/JarEntry.java (certs): removed.
1346 (jarfile): new field.
1347 (getCertificates): read the certificates from the containing JarFile.
1348 * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't
1349 fill in 'certs,' fill in 'jarfile' for the entry.
1350 (getEntry): likewise.
1352 2006-11-27 Francis Kung <fkung@redhat.com>
1354 * java/awt/image/WritableRaster.java
1355 (createChild): Implemented.
1357 2006-11-27 Roman Kennke <kennke@aicas.com>
1359 * java/awt/font/TextLayout.java
1360 (TextLayout(TextLayout,int,int)): Also layout the new runs.
1361 (getVisualHighlightShape): Implemented.
1362 (layoutRuns): Fixed boundary so that the last run is also laid out.
1363 (left): New helper method.
1364 (right): New helper method.
1366 2006-11-27 Roman Kennke <kennke@aicas.com>
1368 * java/awt/font/TextLayout.java
1369 (getCaretShape(TextHitInfo,Rectangle2D)): Implemented.
1370 (getCaretShape(TextHitInfo)): Use natural bounds.
1371 (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method.
1372 (getCaretShapes(int,Rectangle2D)): Delegate to new method
1373 above with DEFAULT_CARET_POLICY.
1374 (getCaretShapes(int)): Use natural bounds.
1376 2006-11-27 Roman Kennke <kennke@aicas.com>
1378 * java/awt/font/TextLayout.java
1379 (Run.font): New field.
1380 (Run.location): New field.
1381 (Run.Run): Initialize font.
1382 (font): Removed field. This is moved into Run as the actual font
1383 is something run-specific.
1384 (TextLayout(String,Font,FontRenderContext)): Set font on the
1385 single runs. Layout the runs here.
1386 (TextLayout(TextLayout,int,int)): Copy over the run fonts.
1387 (findRunAtIndex): New helper method.
1388 (getCaretInfo): Implemented.
1389 (layoutRuns): New helper method.
1390 (toString): Don't put font in output string.
1392 2006-11-27 Raif S. Naffah <classpath@naffah-raif.name>
1394 * AUTHORS: Added Jeroen Fritjers.
1396 2006-11-27 neugens <neugens@nirvana.limasoftware.net>
1398 * java/text/DecimalFormat.java (formatInternal): Add an explicit test
1399 for FieldPosition to be null.
1400 Check if the factional part is just 0 and can be omitted from the
1402 (scanNegativePattern): Fixed index out of bound exception when searching
1403 for international currency symbol in negative pattern.
1405 2006-11-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
1407 * java/beans/beancontext/BeanContextSupport.java:
1408 (readObject(ObjectInputStream)): Implemented.
1409 (writeObject(ObjectOutputStream)): Likewise.
1410 (BCSChild.getTargetChild()): Added.
1411 (bcsPreDeserializationHook()): Implemented.
1412 (bcsPreSerializationHook()): Likewise.
1413 (childDeserializedHook(Object,BCSChild)): Likewise.
1414 (isSerializing()): Likewise.
1415 (readChildren(ObjectInputStream)): Likewise.
1416 (writeChildren(ObjectOutputStream)): Likewise.
1418 2006-11-26 Roger Sayle <roger <at> eyesopen.com>
1419 Ian Lance Taylor <ian <at> airs.com>
1420 Paolo Bonzini <bonzini <at> gnu.org>
1424 * lib/gen-classlist.sh.in: Avoid using test's -ef operator for
1425 increased portability. Likewise, use -f instead of -e.
1427 2006-11-26 Mark Wielaard <mark@klomp.org>
1429 * lib/Makefile.am (propertydirs): Removed.
1430 (resources): Explicitly create all dirs.
1432 2006-11-26 Mark Wielaard <mark@klomp.org>
1434 * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket.
1436 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1438 * native/target/.cvsignore,
1439 native/target/generic/.cvsignore,
1440 native/target/Linux/.cvsignore:
1441 Removed no longer used files.
1443 * native/target: Removed no longer used directory.
1445 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1449 * libraries/clib/nio/gnu_java_nio_VMSelector.c
1450 (Java_gnu_java_nio_VMSelector_select):
1451 Use strerror if strerror_r is not available.
1453 Reported by: Michael Franz <mvfranz@gmail.com>,
1454 Riccardo Mottola <zuse@libero.it>
1456 2006-11-26 Dalibor Topic <robilad@kaffe.org>
1460 * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed
1461 STRICT_WARNING_CFLAGS since it caused the build to fail
1464 2006-11-26 Ian Rogers <ian.rogers@manchester.ac.uk>
1466 * doc/vmintegration.texinfo: Update VM Threading Model section.
1468 2006-11-26 Tom Tromey <tromey@redhat.com>
1470 * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally
1472 (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated
1474 * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c:
1475 Conditionally include ifaddrs.h.
1476 (getif_address): Updated conditional.
1477 (getif_index): Likewise.
1478 * configure.ac: Check for ifaddrs.h.
1480 2006-11-25 Mark Wielaard <mark@klomp.org>
1482 * java/io/File.java (list): Return empty list for unreadable dirs.
1484 2006-11-25 Mark Wielaard <mark@klomp.org>
1486 * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector):
1487 Synchronize on font peer.
1488 (setFont): Likewise.
1489 * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark
1491 (getTextMetrics): Likewise.
1493 2006-11-25 Roman Kennke <kennke@aicas.com>
1495 * javax/swing/text/GapContent.java
1496 (getPositionsInRange): Rewritten to use the more efficient
1497 binary search searchFirst() and avoid an NPE that was caused
1500 2006-11-25 Mark Wielaard <mark@klomp.org>
1502 * javax/swing/text/CompositeView.java (modelToView): Never return
1505 2006-11-25 Mark Wielaard <mark@klomp.org>
1507 * javax/swing/text/html/TableView.java (calculateColumnRequirements):
1508 Check whether rowView instanceof RowView.
1509 (updateGrid): Likewise.
1511 2006-11-25 Mario Torre <neugens@nirvana.limasoftware.net>
1514 * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5.
1515 * java/text/NumberFormat.java (format): all format methods, fixed
1516 FieldPosition argument should never be null.
1517 (format(Object, StringBuffer, FieldPosition)): fixed signature,
1518 method is not final.
1519 * java/text/DecimalFormatSymbols.java (clone): fixed to also clone
1521 * AUTHORS: added my name to the file.
1523 2006-11-25 Mark Wielaard <mark@klomp.org>
1525 * javax/swing/text/html/StyleSheet.java (paint): Guard against
1526 getChildAllocation() returning null.
1528 2006-11-25 Mark Wielaard <mark@klomp.org>
1530 * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity):
1531 Use clazzIndex for id substring.
1533 2006-11-25 Mark Wielaard <mark@klomp.org>
1535 * java/awt/EventQueue.java (pop): Only terminate dispatchThread when
1536 it is still running.
1538 2006-11-25 Mark Wielaard <mark@klomp.org>
1541 * doc/api/Makefile.am (create_html): Guard GJDOC invocation with
1544 2006-11-24 Tania Bento <tbento@redhat.com>
1546 * java/awt/font/TextHitInfo.java
1547 (equals(TextHitInfo)): If TextHitInfo parameter is null, return false.
1548 (beforeOffset): Decreased first parameter by 1.
1550 2006-11-24 Francis Kung <fkung@redhat.com>
1552 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1553 (constructor): Check sample model when setting fastCM flag.
1554 (updateBufferedImage): Check scanline and sample model offsets before
1555 copying data directly into the image data buffer.
1557 2006-11-24 Francis Kung <fkung@redhat.com>
1559 * gnu/java/awt/java2d/QuadSegment.java
1560 (offsetSubdivided): Handle special straight-line cases.
1562 2006-11-24 Roman Kennke <kennke@aicas.com>
1564 * java/awt/dnd/DropTarget.java
1565 (DropTargetAutoScroller.HYSTERESIS): New constant.
1566 (DropTargetAutoScroller.DELAY): New constant.
1567 (DropTargetAutoScroller.inner): New field. A cached
1569 (DropTargetAutoScroller.outer): New field. A cached
1571 (DropTargetAutoScroller.timer): New field. The actual timer.
1572 (DropTargetAutoScroller.DropTargetAutoScroller):
1574 (DropTargetAutoScroller.actionPerformed): Implemented.
1575 (DropTargetAutoScroller.stop): Implemented.
1576 (DropTargetAutoScroller.updateLocation): Implemented.
1577 (clearAutoscroll): Stop the autoscroller before nullifying it.
1578 (createDropTargetAutoScroller): Don't set the field here,
1579 only return a new instance.
1580 (dragEnter): Only do something when active. Initialize
1582 (dragExit): Only do something when active. Stop auto scrolling.
1583 (dragOver): Only do something when active. Update auto scrolling.
1584 (drop): Only do something when active. Update auto scrolling.
1585 (dropActionChanged): Only do something when active. Update
1587 (initializeAutoScrolling): Check if component is an instance
1588 of Autoscroll, otherwise do nothing.
1589 (setActive): Disable autoscrolling when deactivating.
1590 (setComponent): When component is set to null, disable autoscrolling.
1592 2006-11-24 David Gilbert <david.gilbert@object-refinery.com>
1594 * java/beans/beancontext/BeanContextServicesSupport.java
1595 (getChildBeanContextServicesListener): Implemented.
1597 2006-11-23 Roman Kennke <kennke@aicas.com>
1599 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1600 (createGraphics): Use constructor to create new instance of
1601 BufferedImageGraphics.
1602 * java/awt/Toolkit.java
1603 (getDefaultToolkit): Really try to get a real toolkit. Only
1604 use HeadlessToolkit if no other is available.
1605 * gnu/java/awt/peer/gtk/GtkToolkit.java
1606 (checkHeadless): New helper method. Checks for headless environment
1607 and throws HeadlessException if appropriate.
1608 (createButton): Check for headless.
1609 (createCanvas): Check for headless.
1610 (createCheckbox): Check for headless.
1611 (createCheckboxMenuItem): Check for headless.
1612 (createChoice): Check for headless.
1613 (createDialog): Check for headless.
1614 (createDragGestureRecognizer): Check for headless.
1615 (createDragSourceContextPeer): Check for headless.
1616 (createEmbeddedWindow): Check for headless.
1617 (createFileDialog): Check for headless.
1618 (createFrame): Check for headless.
1619 (createCheckbox): Check for headless.
1620 (createLabel): Check for headless.
1621 (createList): Check for headless.
1622 (createMenu): Check for headless.
1623 (createMenuBar): Check for headless.
1624 (createMenuItem): Check for headless.
1625 (createPanel): Check for headless.
1626 (createPopupMenu): Check for headless.
1627 (createScrollbar): Check for headless.
1628 (createScrollPane): Check for headless.
1629 (createTextArea): Check for headless.
1630 (createTextField): Check for headless.
1631 (createWindow): Check for headless.
1633 2006-11-23 David Gilbert <david.gilbert@object-refinery.com>
1635 * java/beans/beancontext/BeanContextSupport.java
1636 (deserialize): Implemented,
1637 (serialize): Implemented.
1639 2006-11-23 Roman Kennke <kennke@aicas.com>
1641 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java
1642 (createGraphics): Try to use Cairo graphics if available.
1644 2006-11-22 David Gilbert <david.gilbert@object-refinery.com>
1646 * java/beans/beancontext/BeanContextSupport.java
1647 (toArray): Added API docs,
1648 (toArray(Object[])): Added API docs, removed NotImplementedException.
1650 2006-11-22 Tania Bento <tbento@redhat.com>
1652 * javax/swing/JRootPane.java
1653 (setLayeredPane): Added documentation; throw
1654 IllegalComponentStateException if layered pane parameter is null.
1656 2006-11-22 David Gilbert <david.gilbert@object-refinery.com>
1658 * java/beans/beancontext/BeanContextSupport.java
1659 (avoidingGui): Removed NotImplementedException.
1661 2006-11-22 Francis Kung <fkung@redhat.com>
1663 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1664 (drawGlyphVector): Clip updated area to glyph bounds.
1665 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1666 (createPath): Eliminate distortion when pixel-shifting rectangles; separate
1667 x-coordinate and y-coordinate pixel shifting.
1668 (shifted): Removed method.
1669 (shiftX): New method, recognising scaling transforms.
1670 (shiftY): New method, recognising scaling transforms.
1671 (walkPath): Separate x-coordinate and y-coordinate pixel shifting.
1673 2006-11-22 Roman Kennke <kennke@aicas.com>
1675 * java/awt/font/TextLayout.java
1676 (hash): New field. Caches the hash code.
1677 (hashCode): Implemented.
1679 2006-11-22 Roman Kennke <kennke@aicas.com>
1681 * java/awt/image/ImageFilter.java
1682 Reformat whole class.
1683 (getFilterInstance): Don't touch the consumer field. Don't check
1685 (imageComplete): Don't check consumer.
1686 (setColorModel): Don't check consumer.
1687 (setDimensions): Don't check consumer.
1688 (setHints): Don't check consumer.
1689 (setPixels): Don't check consumer.
1690 (setProperties): Pass the original property too.
1691 * java/awt/image/IndexColorModel.java
1692 (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the
1693 transparent pixel by calling the new helper method.
1694 (IndexColorModel(int,int,byte[],int,boolean,int)): Set the
1695 transparent pixel by calling the new helper method.
1696 (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the
1697 transparent pixel by calling the new helper method.
1698 (coerceData): Removed. This is not needed.
1699 (getAlpha): Simply return value from color map. The transparent
1700 pixel has to be there.
1701 (setTransparentPixel): New helper method. Inserts the transparent
1703 * java/awt/image/RGBImageFilter.java
1704 Reformat whole class.
1705 (convertColorModelToDefault): Removed. No longer needed.
1706 (filterIndexColorModel): Don't handle transparent pixels
1708 (filterRGBPixels): Set pixels on consumer already.
1709 (makeColor): Removed. No longer needed.
1710 * java/awt/image/ReplicateScaleFilter.java
1711 (replicatePixels): Removed.
1712 (setDimension): Correctly compute destination size, avoid double
1714 (setPixels): Avoid double calculations. Fixed some boundary cases.
1715 (setupSources): New helper method.
1716 * java/awt/image/SampleModel.java
1717 (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT
1719 * java/awt/image/SinglePixelPackedSampleModel.java
1720 (setDataElements(int,int,int,int,Object,DataBuffer)): Removed.
1721 This is not needed as the superclass already copies line
1723 (setDataElements(int,int,Object,DataBuffer)): Simplified code,
1724 removed some checks that the RI also doesn't perform. Call
1725 DataBuffer.setElem().
1727 2006-11-22 Roman Kennke <kennke@aicas.com>
1729 * java/awt/text/TextLayout.java
1730 (getLogicalRangesForVisualSelection): Implemented.
1732 2006-11-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
1734 * sun/reflect/annotation/AnnotationParser.java,
1735 * sun/reflect/annotation/AnnotationType.java,
1736 * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java,
1737 * sun/reflect/annotation/ExceptionProxy.java:
1739 * sun/misc/ServiceConfigurationError.java,
1740 * sun/misc/Service.java:
1743 2006-11-21 Roman Kennke <kennke@aicas.com>
1745 * java/awt/text/TextLayout.java
1746 (Run.isLeftToRight): New helper method.
1747 (logicalToVisual): New field. Maps logical indices to visual
1749 (visualToLogical): New field. Maps visual indices to logical
1751 (TextLayout): Setup mappings.
1752 (setupMappings): New method for setting up the mappings.
1753 (getCharacterLevel): Reorganized code.
1754 (getNextLeftHit(int)): Implemented.
1755 (getNextLeftHit(int,CaretPolicy)): New method.
1756 (getNextLeftHit(TextHitInfo)): Implemented.
1757 (getNextRightHit(int)): Implemented.
1758 (getNextRightHit(int,CaretPolicy)): New method.
1759 (getNextRightHit(TextHitInfo)): New method.
1760 (getVisualOtherHit): Implemented.
1761 (checkHitInfo): New helper methods for checking parameters.
1762 (hitToCaret): New helper method. Maps hit infos to caret locations.
1763 (caretToHit): New helper method. Maps caret locations to hit infos.
1764 (isCharacterLTR): New helper method.
1765 (CaretPolicy.getStrongCaret): Implemented.
1767 2006-11-21 Francis Kung <fkung@redhat.com>
1769 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1770 (draw): Include stroke width when calculating bounds.
1771 (updateBufferedImage): Round bounds more generously, handle negative
1772 height/width values, and clip more intelligently.
1773 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1774 (createPath): Add shortcut optimization for lines.
1775 (draw): Include stroke width when calculating bounds.
1776 (drawLine): Delegate to main draw() method.
1777 (drawRect): Likewise.
1778 (fillRect): Delegate to main fill() method.
1779 (findStrokedBounds): New method.
1780 (setCustomPaint): Round bounds more generously.
1781 * gnu/java/awt/peer/gtk/ComponentGraphics.java
1782 (drawLine): Removed.
1783 (drawRect): Removed.
1784 (fillRect): Removed.
1786 2006-11-21 Francis Kung <fkung@redhat.com>
1788 * gnu/java/awt/java2d/TexturePaintContext.java
1789 (getRaster): Handle negative coordinate values.
1790 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1791 (setPaint): Moved custom paint processing to a new method.
1792 (setPaintPixels): Added x, y parameters.
1793 (getRealBounds): Added documentation.
1794 (copy): Copy clipping information.
1795 (drawLine): Process custom paints.
1796 (setCustomPaint): New method.
1797 (fill): Process custom paints.
1798 (drawGlyphVector): Process custom paints.
1799 (drawRect): Process custom paints.
1800 (draw): Process custom paints.
1801 * gnu/java/awt/peer/gtk/CairoSurface.java
1802 (cairoCM_opaque): New constant.
1803 * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
1804 (argb32): Removed constant.
1805 (rgb32): Removed constant.
1806 (BufferedImageGraphics(BufferedImage)): Updated constant names.
1807 (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags.
1808 (updateBufferedImage): Transform to device-space before updating.
1809 * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
1810 (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y
1812 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
1813 (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern
1814 source at designated x, y origin.
1816 2006-11-21 Roman Kennke <kennke@aicas.com>
1818 * java/awt/text/TextLayout.java
1819 (Run): New inner helper class.
1820 (length): New field.
1821 (naturalBounds): New field.
1822 (offset): New field.
1823 (runIndices): Removed. This is now encapsulate in a Run object.
1824 (runs): Changed to Run[].
1825 (string): Changed to char[].
1826 (totalAdvance): New field. Caches advance value.
1827 (TextLayout(String,Font,FontRenderContext)): Change to store
1828 string as char[] and run layout as Run[]. Clean out empty
1830 (TextLayout(TextLayout,int,int)): Change to store
1831 string as char[] and run layout as Run[].
1832 (clone): Call private constructor for maximum efficiency.
1833 (determineWhitespace): Adapted to use char[] data.
1834 (draw): Adapted to use Run objects.
1835 (getAdvance): Cache computed total advance.
1836 (getBlackBoxBounds): Adapted to use Run objects.
1837 (getCaretInfo): Use natural layout bounds.
1838 (getCharacterCount): Return length field.
1839 (getLogicalHighlightShape): Adapted to use Run objects.
1840 (getNaturalBounds): New helper method. Calculates and returns the
1841 natural bounds of this text layout.
1842 (getOutline): Adapted to use Run objects.
1843 (getStringProperties): Adapted to use char[] data.
1844 (getVisibleAdvance): Adapted to use char[] and Run data.
1845 (handleJustify): Adapted to use char[] and Run data.
1846 (hitTestChar(float,float,Rectangle2D)): Implemented.
1847 (hitTestChar(float,float)): Use natural bounds.
1848 (setCharIndices): Adapted to use char[] and Run data.
1849 (toString): Adapted to use char[] and Run data.
1850 * java/text/Bidi.java
1851 (requiresBidi): Exclude paragraph separators from bidi-triggers.
1853 2006-11-21 Roman Kennke <kennke@aicas.com>
1855 * gnu/java/awt/peer/gtk/GdkFontMetrics.java:
1856 Removed. This is now an inner class in GdkFontPeer.
1857 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
1858 (drawString(float,float)): Use text layout cache from
1860 (getFontMetrics): Delegate to GdkFontPeer.
1861 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
1862 (getGlyphCodes): Also check array size.
1863 (getGlyphPositions): Also check array size.
1864 * gnu/java/awt/peer/gtk/GdkFontPeer.java
1865 (GdkFontLineMetrics.fm): Removed.
1866 (GdkFontLineMetrics.strikeThroughOffset): Removed.
1867 (GdkFontLineMetrics.strikeThroughThickness): Removed.
1868 (GdkFontLineMetrics.underlineOffset): Removed.
1869 (GdkFontLineMetrics.underlineThickness): Removed.
1870 (GdkFontLineMetrics.GdkFontLineMetrics): Don't take
1871 FontMetrics argument. Don't init removed fields.
1872 (GdkFontLineMetrics.getAscent): Return font peer's field.
1873 (GdkFontLineMetrics.getDescent): Return font peer's field.
1874 (GdkFontLineMetrics.getHeight): Return font peer's field.
1875 (GdkFontLineMetrics.getLeading): Return font peer's field.
1876 (GdkFontLineMetrics.getNumChars): Reformat.
1877 (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent.
1878 (GdkFontLineMetrics.getStrikeThroughThickness): Return 1.
1879 (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field.
1880 (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field.
1881 (GdkFontMetrics): Moved class in here as inner class.
1882 Make it use the font peer's fields and for the char(s) width
1883 and string width method, use TextLayout to measure the actual widths.
1884 (ascent): New field.
1886 (DEFAULT_CTX): New constant field.
1887 (descent): New field.
1888 (FONT_METRICS_ASCENT): New constant.
1889 (FONT_METRICS_DESCENT): New constant.
1890 (FONT_METRICS_HEIGHT): New constant.
1891 (FONT_METRICS_MAX_ADVANCE): New constant.
1892 (FONT_METRICS_MAX_ASCENT): New constant.
1893 (FONT_METRICS_MAX_DESCENT): New constant.
1894 (FONT_METRICS_UNDERLINE_OFFSET): New constant.
1895 (FONT_METRICS_UNDERLINE_THICKNESS): New constant.
1896 (height): New field.
1897 (maxAdvance): New field.
1898 (maxAscent): New field.
1899 (maxDescent): New field.
1900 (metrics): New field. Stores a FontMetrics for this font.
1901 (textLayoutCache): New field. Caches TextLayout instances.
1902 (underlineOffset): New field.
1903 (underlineThickness): New field.
1904 (cinit): Don't initialize resource bundle.
1905 (GdkFontPeer): Setup the metrics.
1906 (getFontMetrics): Return stored metrics if possible.
1907 (getLineMetrics): Adapt to new constructor.
1908 (initFont): New helper method.
1909 (setupMetrics): New helper method.
1910 * gnu/java/awt/peer/gtk/GtkToolkit.java
1911 (LRUCache): Made class a static class.
1912 (getFontMetrics): Delegate to GdkFontPeer.
1913 * native/jni/gtk-peer/gdkfont.h
1914 Added new constant defines.
1915 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
1916 (getFontMetrics): Rewritten to fetch the font metrics from
1919 2006-11-20 Tania Bento <tbento@redhat.com>
1921 * javax/swing/ButtonGroup.java:
1922 (setSelected): Select the ButtonModel if all conditions
1925 2006-11-20 Tania Bento <tbento@redhat.com>
1927 * javax/swing/JSlider.java:
1928 (updateLabelUIs): Removed casting.
1930 2006-11-20 Mark Wielaard <mark@klomp.org>
1932 * gnu/java/util/regex/RE.java (messages): Don't initialize.
1933 (bundle): New static final String field.
1934 (getLocalizedMessage): Initialize messages when still null.
1935 * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed.
1936 (set): Use RE.getLocalizedMessage().
1938 (setLineSeparator): Likewise.
1940 2006-11-20 Roman Kennke <kennke@aicas.com>
1942 * javax/swing/text/html/StyleSheet.java
1943 (linked): New field.
1944 (styleSheet): Replaced by linked.
1945 (addStyleSheet): Use an arraylist for simplicity.
1946 (getRule): Removed useless instantiation.
1947 (getStyleSheets): Convert array list to array.
1948 (removeStyleSheet): Use an arraylist for simplicity.
1949 (resolveStyle): Include styles from linked lists.
1951 2006-11-20 Roman Kennke <kennke@aicas.com>
1953 * javax/swing/text/BoxView.java
1954 (BoxView): Initialize with invalid req's.
1955 (forwardUpdate): Trigger repaint when children changed the
1957 (getResizeWeight): Return resizable when the pref differs from
1958 the min or the pref differs from the max size.
1959 (layoutMajorAxis): Actually sum up the preferred sizes.
1960 (paint): Made binary search more robust.
1961 (replace): Let arrays shrink when needed.
1962 (replaceLayoutArray): Let arrays shrink when needed.
1963 (setAxis): Trigger preferenceChanged.
1964 * javax/swing/text/CompositeView.java
1965 (getInsideAllocation): Call insets method to take account
1966 of overriding subclasses.
1967 * javax/swing/text/DefaultStyledDocument.java
1968 (ElementBuffer.finishEdit): Clear the stack and edits buffer.
1969 (ElementBuffer.insertUpdate): Only remove the found element, not
1971 * javax/swing/text/GlyphView.java
1972 (insertUpdate): Pass null in preferenceChanged.
1973 (removeUpdate): Pass null in preferenceChanged.
1974 (changedUpdate): Pass null in preferenceChanged.
1975 * javax/swing/text/Utilities.java
1976 (drawTabbedText): Avoid single calls to charWidth() and instead
1977 call charsWidth() on whole chunks.
1978 * javax/swing/text/html/HTMLDocument.java
1979 (BlockElement.getName): Fall back to super when necessary.
1980 (RunElement.getName): Fall back to super when necessary.
1981 (HTMLReader.MAX_THRESHOLD): New constant field.
1982 (HTMLReader.GROW_THRESHOLD): New constant field.
1983 (HTMLReader.theshold): New field.
1984 (HTMLReader.HTMLReader): Fetch threshold from document.
1985 (HTMLReader.addContent): Sucessivly grow the threshold.
1986 (createLeafElement): Don't create two elemens and don't set
1988 * javax/swing/text/html/TableView.java
1989 (RowView.replace): Invalidate grid.
1990 (gridValid): Made package private.
1991 (layoutMinorAxis): Mark all rows as invalid.
1992 (replace): Invalidate grid.
1994 2006-11-20 Roman Kennke <kennke@aicas.com>
1996 * javax/swing/text/AbstractDocument.java
1997 (DefaultDocumentEvent.changes): Changed to be a HashMap.
1998 (DefaultDocumentEvent.modified): Made private.
1999 (DefaultDocumentEvent.THRESHOLD): New constant field.
2000 (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize
2002 (DefaultDocumentEvent.addEdit): Switch to hashmap only when
2003 exceeding threshold.
2004 (DefaultDocumentEvent.getChange): Use iterative approach
2005 when we have no hashmap yet.
2006 (documentCV): Removed.
2007 (numWriters): Renamed from numWritersWaiting.
2008 (createPosition): Reformat.
2009 (getCurrentWriter): Synchronized.
2010 (readLock): Implement more straightforward.
2011 (readUnlock): Implement more straightforward.
2012 (writeLock): Implement more straightforward.
2013 (writeUnlock): Implement more straightforward.
2014 (remove): Write-lock here.
2015 (removeImpl): Don't write-lock here.
2017 2006-11-20 Roman Kennke <kennke@aicas.com>
2019 * javax/swing/JEditorPane.java
2020 (setPage): Set priority on loading thread.
2022 2006-11-20 Roman Kennke <kennke@aicas.com>
2024 * javax/swing/plaf/basic/BasicTextUI.java
2025 (RootView.paint): Avoid allocation.
2026 (cachedInsets): New field. Caches an Insets instance.
2027 (getNextVisualPositionFrom): Read-lock the document to avoid
2028 thread nastiness. Push allocation.
2029 (getPreferredSize): Push fake allocation when not yet laid out.
2030 (getVisibleEditorRect): Use cached insets.
2031 (viewToModel): Read-lock the document to avoid
2032 thread nastiness. Push allocation.
2034 2006-11-20 Roman Kennke <kennke@aicas.com>
2036 * javax/swing/text/StyleContext.java
2037 (attributeSetPool): Synchronize this map.
2038 (addAttribute): Synchronize this method.
2039 (addAttributes: Synchronize this method.
2040 (readObject): Install synchronized map on target object.
2041 (removeAttribute): Synchronize this method.
2042 (removeAttributes): Synchronize this method.
2043 (removeAttributes): Synchronize this method.
2045 2006-11-20 Roman Kennke <kennke@aicas.com>
2047 * javax/swing/text/GapContent.java
2048 (GapContentPosition.GapContentPosition): Removed constructor.
2049 (Mark): Made subclass of WeakReference to refer directly to
2050 the associated position.
2051 (Mark.refCount): Removed.
2052 (Mark.Mark(int,GapContentPosition,ReferenceQueue):
2053 New constructor. Used to reference a position and register the
2055 (Mark.Mark(index)): Call super and don't adjust mark offset.
2056 (Mark.compareTo): Removed.
2057 (Mark.equals): Removed.
2058 (Mark.getOffset): Return at least null. Removed assert.
2059 (Mark.getPosition): New helper method.
2060 (garbageMarks): New field.
2061 (positions): Removed.
2062 (searchMark): New field.
2063 (GapContent): Removed init of positions map.
2064 (addImpl): New helper method.
2065 (adjustPositionsInRange): Removed.
2066 (compare): New helper method.
2067 (createPosition): Rewritten for new datastructures. This now
2068 performs a much more efficient binary search for finding
2069 a position at the requested offste.
2070 (garbageCollect): Rewritten to collect unused marks.
2071 (getPositionsInRange): Adjusted for new data structures.
2072 (removeImpl): New helper method.
2073 (replace): Use new addImpl() and removeImpl() helper method for
2074 correctly adjusting the positions and gap.
2075 (search): Rewritten. Implements a more suitable binary search.
2076 (searchFirst): New helper method.
2077 (setPositionsInRange): Removed.
2078 (shiftEnd): Update the marks here.
2079 (shiftGap): Update the marks here.
2080 (shiftGapEndUp): Update the marks here.
2081 (shiftGapStartDown): Update the marks here.
2083 2006-11-20 Marco Trudel <mtrudel@gmx.ch>
2085 * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache
2086 digest algorithm implementations.
2087 (readSignatures): Parse the manifest once and reuse that data.
2088 Add support for line breaks.
2089 (verifyHashes): Use the parsed manifest entry.
2090 (readManifestEntry): Removed.
2092 2006-11-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
2094 * java/beans/beancontext/BeanContextServicesSupport.java:
2095 Added more documentation.
2096 (addService(Class,BeanContextServiceProvider,boolean)):
2097 Synchronized over global hierarchy lock.
2098 (bcsPreDeserializationHook(ObjectInputStream)): Implemented.
2099 (bcsPreSerializationHook(ObjectOutputStream)): Implemented.
2100 (childJustRemovedHook(Object,BCSChild)): Implemented.
2101 (createBCSSServiceProvider(Class,BeanContextServiceProvider)):
2103 (fireServiceRevoked(BeanContextServiceRevokedEvent)):
2104 Added revocation-only listeners.
2105 (getBeanContextServicesPeer()): Implemented.
2106 (getCurrentServiceClasses(Class)): Synchronized over global
2108 (getCurrentServiceSelectors(Class)): Synchronized over global
2109 hierarchy lock, and fixed FIXME.
2110 (getService(BeanContextChild,Object,Class,Object,
2111 BeanContextServiceRevokedListener)): Implemented.
2112 (hasService(Class)): Synchronized over global hierarchy lock.
2113 (releaseService(BeanContextChild,Object,Object)): Implemented.
2114 (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented.
2115 * java/beans/beancontext/BeanContextSupport.java:
2116 (remove(Object, boolean)): Documentation correction.
2118 2006-11-19 Roman Kennke <kennke@aicas.com>
2120 * javax/swing/JEditorPane.java
2121 (PageStream): New inner class.
2122 (PageLoader): New inner class.
2123 (loading): New field.
2124 (setPage): Implemented asynchronous loading.
2125 * javax/swing/text/DefaultStyledDocument.java
2126 (ElementBuffer.create): New helper method.
2127 (create): Use new ElementBuffer method instead of hack.
2128 * javax/swing/text/html/HTMLDocument.java
2129 (HTMLReader.flushImpl): New helper method.
2130 (HTMLReader.addContent): Use flushImpl().
2131 (HTMLReader.blockClose): Added null check.
2132 (HTMLReader.flush): Use flushImpl().
2133 * javax/swing/text/html/HTMLEditorKit.java
2134 (createDefaultDocument): Set load priority to 4 and token threshold
2136 * javax/swing/text/html/TableView.java
2137 (insertUpdate): Overridden to provide correct view factory.
2138 (removeUpdate): Overridden to provide correct view factory.
2139 (changedUpdate): Overridden to provide correct view factory.
2141 2006-11-19 Roman Kennke <kennke@aicas.com>
2143 * javax/swing/text/BoxView.java
2144 (clipRect): New field.
2145 (tmpRect): New field.
2146 (layout): Reorganized code. Now uses layoutAxis() helper method.
2147 (layoutAxis): New helper method.
2148 (paint): Optimized by using cached Rectangle objects and
2149 a binary search for child views inside the clip.
2150 * javax/swing/text/CompositeView.java
2151 (insideAllocation): Made private and initialized in constructor.
2152 (getInsideAllocation): Removed initialization block for
2153 insideAllocation field. Avoid unnecessary allocations.
2154 * javax/swing/text/GlyphView.java
2155 (DefaultGlyphPainter.paint): Only paint the actual glyphs here
2156 The remaining stuff (background, underline and striking) is
2157 done in the GlpyhView itself. Avoid unnecessary allocations.
2158 (cached): A cached Segment instance.
2159 (getText): Return cached segment.
2160 (paint): Paint underline, strike and background here. Avoid
2163 2006-11-19 Roman Kennke <kennke@aicas.com>
2165 * javax/swing/text/html/StyleSheet.java
2166 (getFontSize): Removed debug output.
2167 (ListPainter.tmpRect): New field.
2168 (ListPainter.paint): Align bullet vertically centered to
2169 the first line of the paragraph.
2171 2006-11-17 Roman Kennke <kennke@aicas.com>
2173 * gnu/javax/swing/text/html/css/CSSParser.java
2174 (parseDeclaration): Trim string before reporting.
2175 * gnu/javax/swing/text/html/css/FontSize.java
2177 (isRelative): New field.
2178 (sizeIndex): New field.
2179 (FontSize): Initialize new fields.
2180 (getValue): Changed to call getValue(int).
2181 (getValue(int)): New method. Implements relative font sizes.
2182 (isRelative): New method.
2183 (mapAbsolute): Store index.
2184 (mapEM): New helper method.
2185 (mapLarger): New helper method.
2186 (mapPercent): New helper method.
2187 (mapRelative): New helper method.
2188 (mapSmaller): New helper method.
2189 (mapValue): New helper method.
2190 * javax/swing/text/html/CSS.java
2191 (parseBackgroundShorthand): Create CSSColor directly.
2192 * javax/swing/text/html/StyleSheet.java
2193 (addRule): Invalidate resolved styles.
2194 (getFont): Call new getFontSize() method to resolve relative
2196 (getFontSize): New helper method. Resolves relative font sizes.
2197 (translateHTMLToCSS): Create CSS objects directly.
2199 2006-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
2201 * gnu/java/util/regex/RETokenNamedProperty.java:
2202 (getHandler(String)): Add support for 'all'.
2204 2006-11-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
2206 * gnu/javax/management/Server.java:
2207 Initial implementation of a GNU management server.
2208 * javax/management/MBeanPermission.java,
2209 * javax/management/MBeanRegistration.java,
2210 * javax/management/MBeanTrustPermission.java:
2213 2006-11-17 Mark Wielaard <mark@klomp.org>
2215 * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement.
2217 2006-11-17 Gary Benson <gbenson@redhat.com>
2219 * java/net/DatagramSocket.java (getLocalAddress, connect,
2220 receive): Perform security check on address not hostname.
2222 2006-11-16 Roman Kennke <kennke@aicas.com>
2224 * gnu/javax/swing/text/html/parser/support/Parser.java
2225 (_handleText): Fixed condition for consuming whitespace.
2226 Removed validator check, this is superfluous now.
2228 2006-11-16 Roman Kennke <kennke@aicas.com>
2230 * gnu/javax/swing/text/html/css/CSSParser.java
2231 (parseRuleset): Support 'combined' selectors.
2232 (main): Adapt callback for combined selectors support.
2233 * gnu/javax/swing/text/html/css/CSSParserCallback.java
2234 (startStatement): Take selector array as argument, to
2235 support combined selectors.
2236 * javax/swing/text/html/BlockView.java
2237 (calculateMinorAxisRequirements): Fetch and apply alignment.
2238 * javax/swing/text/html/StyleSheet.java
2239 (CSSStyle): Inverted the constants for correct precedence.
2240 (CSSStyleSheetParserCallback.styles): New field. Stores the current
2242 (CSSStyleSheetParserCallback.style): Removed.
2243 (CSSStyleSheetParserCallback.declaration): Update multiple styles.
2244 (CSSStyleSheetParserCallback.end): Push multiple styles.
2245 (CSSStyleSheetParserCallback.start): Initialize multiple styles.
2247 2006-11-16 Roman Kennke <kennke@aicas.com>
2249 * javax/swing/text/FlowView.java
2250 (LogicalView.getPreferredSpan): Calculate maximum correctly.
2251 * javax/swing/text/GlyphView.java
2252 (tabExpander): New field.
2254 (breakView): Set tabX on broken view.
2255 (getPartialSpan): Let the painter fetch the span.
2256 (getTabbedSpan): Update the tab expander field. Maybe trigger
2258 (getTabExpander): Simply return the stored expander.
2259 * javax/swing/text/Utilities.java
2260 (getTabbedTextOffset): Made algoritm a little smarter and more
2262 (getTabbedTextWidth): Don't add single char widths, instead add
2263 chunks of characters.
2264 * javax/swing/text/html/ParagraphView.java
2265 (calculateMinorAxisRequirements): Adjust margin only when the
2266 CSS span is not fixed.
2268 2006-11-16 David Gilbert <david.gilbert@object-refinery.com>
2270 * java/beans/beancontext/BeanContextSupport.java
2271 (getChildBeanContextMembershipListener): Implemented,
2272 (getChildPropertyChangeListener): Implemented,
2273 (getChildSerializable): Implemented,
2274 (getChildVetoableChangeListener): Implemented,
2275 (getChildVisibility): Implemented,
2276 (setDesignTime): Use same property name as Sun's implementation.
2278 2006-11-16 David Gilbert <david.gilbert@object-refinery.com>
2280 * java/beans/DesignMode.java: Reformatted and removed a FIXME,
2281 * java/beans/Statement.java
2282 (toString): Updated to match reference implementation.
2284 2006-11-15 Roman Kennke <kennke@aicas.com>
2286 * javax/swing/text/html/HTMLEditorKit.java
2287 (InsertHTMLTextAction.actionPerformed): Also try inserting
2288 the alternate tag. Adjust the selection accordingly.
2289 (InsertHTMLTextAction.adjustSelection): New helper method.
2290 Adjusts the selection after an insertion.
2291 (insertAtBoundary): Delegate to deprecated method.
2292 (insertAtBoundry): Implemented missing method.
2293 (tryInsert): New helper method.
2294 (defaultActions): Implemented to fill the array with
2295 a couple of InsertHTMLTextActions.
2297 2006-11-15 Roman Kennke <kennke@aicas.com>
2299 * javax/swing/text/html/ImageView.java
2300 (Observer): New class. Observes image loading.
2301 (haveHeight): New field.
2302 (haveWidth): New field.
2303 (height): New field.
2306 (imageIcon): New field.
2307 (loading): New field.
2308 (observer): New field.
2309 (reloadImage): New field.
2310 (reloadProperties): New field.
2311 (ImageView): Initialize observer and some flags.
2312 (getImage): Update the image state and return the image.
2313 (loadImage): New helper method. Actually starts loading.
2314 (paint): Rewritten to paint the image directly, not via Icon.
2315 (reloadImage): Rewritten. Loads the image and its properties.
2316 (renderIcon): Removed. No more necessary.
2317 (setPropertiesFromAttributes): Don't nullify image here.
2318 Added comment about missing impl.
2319 (setSize): Added comment about missing impl.
2320 (updateSize): New helper method. Updates the size attributes.
2321 (updateState): New helper method. Makes sure the image
2322 and its properties are valid.
2324 2006-11-15 Roman Kennke <kennke@aicas.com>
2326 * gnu/javax/swing/text/html/parser/support/Parser.java
2327 (_handleEndTag_remaining): Consume whitespace after a closing
2330 2006-11-15 Roman Kennke <kennke@aicas.com>
2332 * javax/swing/text/html/HTMLDocument.java
2333 (HTMLReader.ParagraphAction.end): Call super instead of blockClose()
2335 (HTMLReader.ParagraphAction.start): Call super instead of blockOpen()
2337 (HTMLReader.parseStack): Removed.
2338 (HTMLReader.blockClose): Simply call addContent() with ' '
2339 instead of doing more complicated stuff. Removed parseStack
2341 (HTMLReader.blockOpen): Removed parseStack handling.
2342 (getInsertingReader): Removed parseStack init.
2343 * gnu/javax/swing/text/html/parser/htmlValidator.java
2344 (closeTag): Return true only when the tag actually should be
2346 * gnu/javax/swing/text/html/parser/support/Parser.java
2347 (_handleEndTag): Only actually close the tag when the validator
2350 2006-11-15 Roman Kennke <kennke@aicas.com>
2352 * javax/swing/text/html/CSS.java
2353 (Attribute.BORDER_SPACING): New field for the CSS border-spacing
2355 * javax/swing/text/html/StyleSheet.java
2356 (BoxPainter.bottomPadding): New field.
2357 (BoxPainter.leftPadding): New field.
2358 (BoxPainter.rightPadding): New field.
2359 (BoxPainter.topPadding): New field.
2360 (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes
2362 (BoxPainter.getInset): Recognize and include the padding.
2363 (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING.
2364 javax/swing/text/html/TableView.java
2365 (RowView.calculateMajorAxisRequirements): Adjust req's for
2367 (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing.
2368 (cellSpacing): New field.
2369 (columnRequirements): Made package private to avoid accessor method.
2370 (calculateMinorAxisRequirements): Include cellSpacing.
2371 (calculateMajorAxisRequirements): Overridden to include cellSpacing.
2372 (layoutMajorAxis): Likewise.
2373 (layoutColumns): Respect cellSpacing.
2374 (setParent): Overridden to fetch the CSS attributes when view gets
2376 (setPropertiesFromAttributes): New method. Fetches the cell
2377 spacing from the CSS attributes.
2379 2006-11-15 Roman Kennke <kennke@aicas.com>
2381 * gnu/javax/swing/text/html/parser/support/Parser.java
2382 (_handleText): Consume whitespace directly before a closing tag.
2383 (restOfTag): Consume whitespace directly after opening.
2384 * gnu/javax/swing/text/html/parser/support/textPreProcessor.java
2385 (preprocess): Don't perform array boundary checking by
2386 catch AIOOBE, instead check the boundary in loop condition.
2387 * gnu/javax/swing/text/html/parser/support/low/Constants.java
2388 (TAG_CLOSE): New constants. Describes the token pattern for
2391 2006-11-14 Roman Kennke <kennke@aicas.com>
2393 * javax/swing/text/html/ImageView.java
2394 (getPreferredSpan): Use CSS length values.
2395 * javax/swing/text/html/TableView.java
2396 (CellView.calculateMajorAxisRequirements): Overridden to
2397 set the maximum reqs to maximum.
2398 (RowView.getMaximumSize): For the X_AXIS, set the maximum
2400 (RowView.getMinimumSpan): Overridden. For the X_AXIS, return
2401 the total column reqs.
2402 (RowView.getPreferredSpan): Overridden. For the X_AXIS, return
2403 the total column reqs.
2404 * gnu/javax/swing/text/html/css/CSSColor.java
2405 (convertValue): Catch NumberFormatExceptions for more robustness.
2406 * gnu/javax/swing/text/html/css/FontSize.java
2407 (mapPixels): Actually map px values. Catch NFE for more robustness.
2409 2006-11-14 Roman Kennke <kennke@aicas.com>
2411 * gnu/java/awt/font/autofit/AxisHints.java,
2412 * gnu/java/awt/font/autofit/Constants.java,
2413 * gnu/java/awt/font/autofit/GlyphHints.java,
2414 * nu/java/awt/font/autofit/Latin.java,
2415 * nu/java/awt/font/autofit/LatinAxis.java,
2416 * gnu/java/awt/font/autofit/LatinMetrics.java,
2417 * gnu/java/awt/font/autofit/Scaler.java,
2418 * gnu/java/awt/font/autofit/Script.java,
2419 * gnu/java/awt/font/autofit/ScriptMetrics.java,
2420 * gnu/java/awt/font/autofit/Segment.java,
2421 * gnu/java/awt/font/autofit/Width.java:
2422 New classes. This is some skeleton stuff for the FreeType-alike
2424 * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public.
2425 * gnu/java/awt/font/opentype/OpenTypeFont.java
2426 (unitsPerEm): Made field public.
2427 (getRawGlyphOutline): New method. Fetches the raw outline.
2428 * gnu/java/awt/font/opentype/Scaler.java
2429 (getRawGlyphOutline): New method. Fetches the raw outline.
2430 * gnu/java/awt/font/opentype/truetype/GlyphLoader.java
2431 (loadGlyph): New method. This is used to load raw outlines.
2432 * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java
2433 (getRawOutline): New method. Fetches the raw outline.
2434 * gnu/java/awt/font/opentype/truetype/Zone.java:
2437 2006-11-14 Roman Kennke <kennke@aicas.com>
2439 * javax/swing/RepaintManager.java
2440 (RepaintManager): Fetch the default state for the double buffering
2441 from a system property gnu.swing.doublebuffering.
2443 2006-11-14 Roman Kennke <kennke@aicas.com>
2445 * javax/swing/plaf/basic/BasicLabelUI.java
2446 (cachedInsets): New field.
2447 (getFontMetrics): New helper method. Fetches the font metrics
2448 from the component or the toolkit.
2449 (getPreferredSize): Use getFontMetrics() helper method for
2450 fetching the font metrics.
2451 (paint): Use getFontMetrics() helper method for
2452 fetching the font metrics. Only paint if icon or text
2453 are != null. Use cached insets.
2454 (paintDisabledText): Don't store/restore color object. The
2455 JComponent painting mechanism takes care of this by calling
2457 (paintEnabledText): Don't store/restore color object. The
2458 JComponent painting mechanism takes care of this by calling
2461 2006-11-14 Roman Kennke <kennke@aicas.com>
2463 * gnu/java/awt/peer/GLightweightPeer.java
2464 (handleEvent): Try to do something reasonable and trigger painting
2465 for the lightweight component.
2466 (getFontMetrics): Fetch and return a font metrics object from
2469 2006-11-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
2471 * gnu/java/util/regex/RETokenNamedProperty.java:
2472 (getHandler(String)): Add support for 'all'.
2474 2006-11-13 Andreas Tobler <a.tobler@schweiz.org>
2476 * AUTHORS: Add myself.
2478 2006-11-13 Thomas Fitzsimmons <fitzsim@redhat.com>
2480 * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and
2481 Dalibor Topic. Re-order 'K' section. Remove trailing space from
2482 Roman Kennke's entry.
2484 2006-11-13 Roman Kennke <kennke@aicas.com>
2486 * java/awt/image/IndexColorModel.java
2487 (createCompatibleSampleModel): Implemented missing method.
2489 2006-11-11 Andreas Tobler <a.tobler@schweiz.org>
2491 * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data
2492 from big endian systems correctly.
2494 2006-11-11 Roman Kennke <kennke@aicas.com>
2496 * gnu/javax/swing/text/html/css/CSSColor.java
2497 (isValidColor): New helper method. Checks strings if they
2498 form a valid color value.
2499 * gnu/javax/swing/text/html/css/Length.java
2500 (Length): Catch number format exceptions.
2501 * javax/swing/text/html/CSS.java
2502 (addInternal): New method. Checks for shorthand CSS attributes
2504 (parseBackgroundShorthand): New method. Parses the background
2505 shorthand attribute.
2506 * javax/swing/text/html/HTMLDocument.java
2507 (HTMLReader.LinkAction): Made class a subclass of HiddenAction.
2508 (HTMLReader.LinkAction.start): Implemented to load the linked
2510 (HTMLReader.LinkAction.end): Removed. This is not needed.
2511 * javax/swing/text/html/StyleSheet.java
2512 (CSSStyleSheetParserCallback.declaration): Push declaration
2513 through CSS.addInternal() to parse shorthand attributes.
2514 (addCSSAttribute): Push declaration through CSS.addInternal()
2515 to parse shorthand attributes.
2516 (importStyleSheet): Implemented. This adds a stylesheet from
2518 * javax/swing/text/html/TableView.java
2519 (calculateColumnRequirements): Increase column index for
2520 non CellView children to avoid endless loop.
2521 * javax/swing/text/CompositeView.java
2522 (setParent): Comparen with numChildren not with real arraylength.
2524 2006-11-11 David Gilbert <david.gilbert@object-refinery.com>
2526 * java/beans/beancontext/BeanContextSupport.java
2527 (getChildBeanContextChild): Implemented.
2529 2006-11-10 Roman Kennke <kennke@aicas.com>
2531 * javax/swing/text/View.java
2532 (updateLayout): Only repaint when needed.
2534 2006-11-10 David Gilbert <david.gilbert@object-refinery.com>
2536 * java/util/Collections.java
2537 (sort(List)): Minor API doc addition,
2538 (sort(List, Comparator)): Likewise.
2540 2006-11-10 David Fu <fchoong@netbeans.jp>
2542 * javax/swing/text/html/HTMLWriter.java
2543 (traverse): Removed Classpath specific handling of implied
2545 (traverseHtmlFragment): Removed Classpath specific handling of
2548 2006-11-10 Roman Kennke <kennke@aicas.com>
2550 * javax/swing/text/ParagraphView.java
2551 (Row.getMaximumSize): Removed. This method is not necessary.
2552 * javax/swing/text/html/TableView.java
2553 (CellView): Moved attribute init to setPropertiesFromAttributes().
2554 (setPropertiesFromAttributes): Fetch attributes here.
2555 (RowView.RowView): Documented.
2556 (RowView.getMaximumSpan): Overridden to restrict the max span
2558 (RowView.layoutMajorAxis): Correctly layout the spans.
2559 (columnWidths): New field. Stores the width attributes of
2561 (calculateColumnRequirements): Added support for relative
2562 (== percent) width attributes.
2563 (calculateMajorAxisRequirements): Removed.
2564 (calculateMinorAxisRequirements): Removed unnecessary code.
2565 (getMaximumSpan): Overridden to restrict the table's width.
2566 (layoutColumns): Documented. Implement more clever table layout,
2567 i.e. for relative columns etc.
2568 (layoutMinorAxis): Don't mark rows invalid.
2569 (updateGrid): Added docs. Initialize column widths.
2571 2006-11-09 Roman Kennke <kennke@aicas.com>
2573 * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment,
2574 * gnu/java/awt/peer/headless/HeadlessToolkit: New classes.
2575 Implement basic headless toolkit.
2576 * java/awt/Toolkit.java
2577 (getDefaultToolkit): Check headless property and create
2578 headless toolkit when true.
2580 2006-11-09 Ingo Proetel <proetel@aicas.com>
2581 2006-11-09 Roman Kennke <kennke@aicas.com>
2583 * gnu/java/awt/peer/swing/SwingButtonPeer.java
2584 (SwingButton.button): New field.
2585 (SwingButton.SwingButton): Added constructor.
2586 (SwingButton.isShowing): Access button field instead of
2587 the surrounding class.
2588 (SwingButton.getParent): Access button field instead of
2589 the surrounding class.
2590 (SwingButtonPeer): Call new SwingButton constructor.
2591 * gnu/java/awt/peer/swing/SwingComponent.java:
2592 Several documentation updates.
2593 * gnu/java/awt/peer/swing/SwingComponentPeer.java
2594 (currentPaintEvents): New field.
2595 (peerFont): New field.
2596 (SwingComponentPeer): Initialize currentPaintEvents fields.
2597 (coalescePaintEvents): Implemented.
2598 (dispose): Unregister peer from heavyweight list of its container.
2599 (getGraphics): Fetch graphics from parent component.
2600 (handleEvent): Discard paint event if its coalesced.
2601 (init): Register component with its container for proper painting.
2602 (paint): Call peerPaint().
2603 (peerPaint): Added argument that indicates if we should update.
2604 Call paint or update on the actual AWT component.
2605 (peerPaintComponent): New method. Paints the peer (Swing) component.
2606 (setFont): Set peerFont field.
2607 * gnu/java/awt/peer/swing/SwingContainerPeer.java
2608 (backbuffer): New field.
2609 (focusOwner): New field.
2610 (heavyweightDescendents): New field.
2611 (SwingContainerPeer): Take Container as argument. Don't call init
2613 (addHeavyweightDescendent): New method.
2614 (getFocusOwner): New helper method.
2615 (getInsets): Delegate to insets().
2616 (handleKeyEvent): Dispatch event to focus owner.
2617 (handleMouseEvent): Dispatch to child component.
2618 (isDoubleBuffering): New helper method.
2619 (peerPaint): Overridden to implement container painting with
2621 (peerPaintChildren): New method. Paints the descendents of this
2623 (removeHeavyweightDescendent): New helper method.
2624 * gnu/java/awt/peer/swing/SwingFramePeer.java
2625 (peerPaint): Removed.
2626 (peerPaintComponent): Overridden to paint the menu bar.
2627 * gnu/java/awt/peer/swing/SwingLabelPeer.java
2628 (SwingLabel.label): New field.
2629 (SwingLabel.SwingLabel): Added constructor with Label argument.
2630 (SwingLabel.getGraphics): Implemented to fetch the graphics from
2631 the actual AWT component.
2632 (SwingLabel.getParent): Implemented to fetch the parent from
2634 (SwingLabel.isShowing): Access the label field.
2635 (SwingLabelPeer): Set alignment from label.
2636 * gnu/java/awt/peer/swing/SwingListPeer.java: New class.
2637 * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation
2639 * gnu/java/awt/peer/swing/SwingPanelPeer.java:
2640 Don't be a lighweight peer.
2641 (SwingPanelPeer): Call init.
2642 * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class.
2643 * gnu/java/awt/peer/swing/SwingTextFieldPeer.java
2644 (SwingTextField.textField): New field.
2645 (SwingTextField.SwingTextField): New constructor.
2646 (SwingTextField.isShowing): Access field not enclosing class.
2647 (SwingTextField.getGraphics): New method.
2648 (SwingTextField.getParent): New method.
2649 (SwingTextFieldPeer): Call new constructor.
2650 (select): Renamed arguments.
2651 * gnu/java/awt/peer/swing/SwingWindowPeer.java
2652 (SwingWindowPeer): Call init.
2654 2006-11-09 Tania Bento <tbento@redhat.com>
2656 * javax/swing/JLabel.java
2657 (JLabel(Icon)): Changed documentation; Changed text to null.
2658 (JLabel(Icon,int)): Likewise.
2659 (JLabel(text)): Changed documenation.
2660 (JLabel(text,int)): Likewise.
2661 (JLabel(text,Icon,int)): Changed documentation; Throw
2662 IllegalArgumentException if int is not one of LEFT, RIGHT,
2663 CENTER, LEADING or TRAILING.
2665 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2667 * java/beans/beancontext/BeanContextSupport.java
2668 (BeanContextSupport): Use correct dtime default,
2669 (BeanContextSupport(BeanContext)): Likewise,
2670 (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed
2672 (BeanContextSupport(BeanContext, Locale, boolean)): Likewise,
2673 (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise.
2675 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2677 * java/beans/beancontext/BeanContextSupport.java
2678 (getBeanContextPeer): Implemented.
2680 2006-11-09 Roman Kennke <kennke@aicas.com>
2682 * javax/swing/text/html/BlockView.java
2683 (cssHeight): Removed.
2684 (cssWidth): Removed.
2685 (cssSpans): New field. Replaces the two fields above.
2686 (BlockView): Allocate cssSpans array.
2687 (layoutMinorAxis): Fetch and use child span, not this view's span.
2688 (setCSSSpan): Adjusted to use cssSpans array.
2689 (setPropertiesFromAttributes): Adjusted to use cssSpans array.
2691 2006-11-09 Roman Kennke <kennke@aicas.com>
2693 * javax/swing/text/html/InlineView.java
2694 (nowrap): New field.
2695 (getBreakWeight): Add support for nowrap.
2696 (setPropertiesFromAttributes): Fetch the nowrap setting.
2698 2006-11-09 Roman Kennke <kennke@aicas.com>
2700 * gnu/javax/swing/text/html/css/CSSParser.java
2701 (parseRuleset): Use new Selector class.
2702 (parseValue): Parse multiple anys, not only one.
2703 (main): Allow stylesheet be specified on the command line.
2704 Use new Selector class.
2705 * gnu/javax/swing/text/html/css/CSSParserCallback.java
2706 (startStatement): Use Selector class.
2707 * gnu/javax/swing/text/html/css/CSSScanner.java
2708 (readName): Actually read a character in the loop to avoid
2710 * gnu/javax/swing/text/html/css/Length.java
2711 (getValue): Only multiply when we have a percentage value.
2712 * gnu/javax/swing/text/html/css/Selector.java:
2713 New class. Provides handling of CSS selectors.
2714 * javax/swing/text/html/StyleSheet.java
2715 (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field.
2716 (CSSStyle.PREC_AUTHOR_NORMAL): New constant field.
2717 (CSSStyle.PREC_NORM): New constant field.
2718 (CSSStyle.PREC_UA): New constant field.
2719 (CSSStyle.PREC_USER_IMPORTANT): New constant field.
2720 (CSSStyle.precedence): New field.
2721 (CSSStyle.priority): Removed.
2722 (CSSStyle.selector): New field.
2723 (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector
2725 (CSSStyle.compareTo): Adjusted to use the precedence and
2726 specificity of the selector.
2727 (CSSStyleSheetParserCallback.precedence): New field.
2728 (CSSStyleSheetParserCallback.selector): Removed.
2729 (CSSStyleSheetParserCallback.style): New field.
2730 (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback):
2731 Initialize with precedence.
2732 (CSSStyleSheetParserCallback.declaration): Don't look up
2733 existing rule, simply create new one.
2734 (CSSStyleSheetParserCallback.endStatement): Append style
2736 (CSSStyleSheetParserCallback.startStatement): Use new Selector
2738 (css): Changed to be ArrayList.
2739 (addRule): Create parser with author-normal precendence.
2740 (getRule): Fixed implementation.
2741 (loadRules): Create parser with UA precendence.
2742 (resolveStyle): Use Selector class for resolving and matching
2744 (translateHTMLToCSS): Added mappings for a couple of HTML
2747 2006-11-09 David Gilbert <david.gilbert@object-refinery.com>
2750 * java/beans/SimpleBeanInfo.java
2751 (loadImage): Check for nulls.
2753 2006-11-09 Robert Schuster <robertschuster@fsfe.org>
2755 * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2756 (getpeername): Added 16 byte offset to memcpy operation.
2758 2006-11-09 Robert Schuster <robertschuster@fsfe.org>
2760 * native/jni/java-nio/gnu_java_nio_VMChannel.c:
2761 (getsockname): Added 16 byte offset to memcpy operation.
2763 2006-11-08 Mark Wielaard <mark@klomp.org>
2766 * java/io/OutputStreamWriter.java
2767 (OutputStreamWriter(OutputStream,Charset)): Set encodingName.
2768 (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
2770 2006-11-08 Roman Kennke <kennke@aicas.com>
2772 * javax/swing/text/html/HTMLEditorKit.java
2773 (getParser): Use plain HTML_401F DTD.
2774 * javax/swing/text/html/HTMLDocument.java
2775 (HTMLReader.print): Removed method and all calls to it.
2776 (HTMLReader.printBuffer): Removed method and all calls to it.
2777 (HTMLReader.inImpliedParagraph): New field.
2778 (HTMLReader.inParagraph): New field.
2779 (HTMLReader.addContent): Create implied p-tag if necessary.
2780 (HTMLReader.addSpecialElement): Create implied p-tag if necessary.
2781 (HTMLReader.blockClose): Close implied p-tag if necessary.
2782 (HTMLReader.blockOpen): Close implied p-tag if necessary.
2783 * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed.
2785 2006-11-08 Roman Kennke <kennke@aicas.com>
2787 * javax/swing/text/html/HTMLEditorKit.java
2788 (HTMLFactory.create): Removed mapping for TD tag. This
2789 is done in TableView.
2790 * javax/swing/text/html/TableView.java:
2791 Implemented from scratch.
2793 2006-11-07 Roman Kennke <kennke@aicas.com>
2795 * gnu/javax/swing/text/html/parser/support/Parser.java
2796 (_handleText): Check if text content is actually allowed before
2797 passing empty text fragments on to the parser callbacks.
2799 2006-11-07 Mark Wielaard <mark@klomp.org>
2801 * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar
2805 2006-11-07 Tania Bento <tbento@redhat.com>
2807 * java/awt/FlowLayout.java
2808 (getSize): If parent does not have a component, then a
2809 different formula is used to calcuate the width.
2811 2006-11-07 Roman Kennke <kennke@aicas.com>
2813 * javax/swing/text/html/HTMLEditorKit.java
2814 (HTMLFactory.create): Include ListView.
2815 * javax/swing/text/html/ListView.java
2816 (paint): Removed comment.
2817 * javax/swing/text/html/StyleSheet.java
2818 (CSSStyle.priority): New field.
2819 (CSSStyle.CSSStyle(int)): New constructor with priority.
2820 (CSSStyle.compareTo): New method. Used for sorting the styles.
2821 (CSSStyleSheetParserCallback.declaration): Store the style
2822 with the complete selector.
2823 (ListPainter.attributes): Renamed as field.
2824 (ListPainter.styleSheet): New field.
2825 (ListPainter.type): New field.
2826 (ListPainter.ListPainter): Pass StyleSheet to constructor.
2827 (ListPainter.paint): Provide simplistic implementation.
2828 (getListPainter): Pass StyleSheet to constructor.
2829 (resolveStyle): Fixed CSS style resolving.
2831 2006-11-07 Roman Kennke <kennke@aicas.com>
2833 * gnu/javax/swing/text/html/css/BorderWidth.java:
2834 New class. Handles CSS border width values.
2835 * gnu/javax/swing/text/html/css/Length.java
2836 (floatValue): Made protected so that BorderWidth can access it.
2837 * javax/swing/text/html/CSS.java
2838 (Attribute.BORDER_BOTTOM_COLOR): New static field.
2839 (Attribute.BORDER_BOTTOM_STYLE): New static field.
2840 (Attribute.BORDER_LEFT_COLOR): New static field.
2841 (Attribute.BORDER_LEFT_STYLE): New static field.
2842 (Attribute.BORDER_RIGHT_COLOR): New static field.
2843 (Attribute.BORDER_RIGHT_STYLE): New static field.
2844 (Attribute.BORDER_TOP_COLOR): New static field.
2845 (Attribute.BORDER_TOP_STYLE): New static field.
2846 (getValue): Added some mappings for the border color and
2847 border width values.
2848 * javax/swing/text/html/CSSBorder.java: New class. Implements
2850 * javax/swing/text/html/StyleSheet.java
2851 (BoxPainter.background): New field.
2852 (BoxPainter.border): New field.
2853 (BoxPainter.bottomInset): Documented.
2854 (BoxPainter.leftInset): Documented.
2855 (BoxPainter.rightInset): Documented.
2856 (BoxPainter.topInset): Documented.
2857 (BoxPainter.BoxPainter): Added support for borders and background.
2858 (BoxPainter.getInset): Add border insets.
2859 (BoxPainter.paint): Implemented. Paints the background and the
2861 (addRule): Be less picky about parse and IO exceptions.
2862 (getBoxPainter): Adjust to new BoxPainter constructor.
2864 2006-11-07 Andreas <a.tobler@schweiz.org>
2866 * examples/Makefile.am: Add rule to install the *.html files we use
2869 2006-11-06 Francis Kung <fkung@redhat.com>
2871 * gnu/java/awt/peer/gtk/ComponentGraphics.java
2872 (fillRect): Handle custom composites.
2873 (drawRenderedImage): Handle custom composites.
2874 (drawImage): Handle custom composites.
2875 (createBuffer): New method.
2876 (drawLine): Handle custom composites.
2877 (drawComposite): New method.
2878 (fill): Handle custom composites.
2879 (getNativeCM): New method.
2880 (drawGlyphVector): Handle custom composites.
2881 (drawRect): Handle custom composites.
2882 (draw): Handle custom composites.
2883 * gnu/java/awt/peer/gtk/VolatileImageGraphics.java
2884 (drawComposite): Unset composite during draw call, to prevent parent
2885 from handling composite again.
2886 * gnu/java/awt/peer/gtk/CairoGraphics2D.java
2887 (getBufferCM): Added comments.
2888 (getNativeCM): Made abstract.
2889 (setComposite): Removed comments.
2891 2006-11-06 Roman Kennke <kennke@aicas.com>
2893 * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2894 Fixed initial window size and start document.
2896 2006-11-06 Roman Kennke <kennke@aicas.com>
2898 * javax/swing/text/html/HTMLDocument.java
2899 (HTMLReader.addSpecialElement): Removed comment about
2901 (HTMLReader.handleComment): Create SimpleAttributeSet instead
2902 of htmlAttributeSet.
2903 * javax/swing/text/html/parser/DocumentParser.java
2904 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2905 of htmlAttributeSet.
2906 * javax/swing/text/html/parser/ParserDelegator.java
2907 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2908 of htmlAttributeSet.
2909 * gnu/javax/swing/text/html/parser/GnuParserDelegator.java
2910 (gnuParser.handleStartTag): Use SimpleAttributeSet instead
2911 of htmlAttributeSet.
2912 * gnu/javax/swing/text/html/parser/support/Parser.java
2913 (getAttributes): Return a SimpleAttributeSet.
2914 (restOfTag): Don't set resolving parent here.
2916 2006-11-06 Tania Bento <tbento@redhat.com>
2918 * java/awt/TextComponent.java
2919 (setSelectionStart): Added check.
2921 2006-11-06 Tania Bento <tbento@redhat.com>
2923 * java/awt/TextField.java
2924 (minimumSize(int)): Check if minimum size has been previously
2925 set and changed values of Dimension returned if peer == null.
2926 (preferredSize(int)): Check if preferred size has been previously
2927 set and changed values of Dimension returned if peer == null.
2929 2006-11-06 Roman Kennke <kennke@aicas.com>
2931 * javax/swing/JTree.java
2932 (TreeModelHandler.treeNodesRemoved): Implemented.
2933 (TreeModelHandler.treeStructureChanged): Implemented.
2934 (nodeStates): Made package private.
2936 2006-11-06 Francis Kung <fkung@redhat.com>
2939 * javax/swing/JTree.java
2940 (clearSelectionPathStates): New private method to clean up nodeStates.
2941 (removeSelectionPath): Call clearSelectionPathStates().
2942 (removeSelectionPaths): Call clearSelectionPathStates().
2943 (removeSelectionRow): Call clearSelectionPathStates().
2944 (setSelectionPath): Call clearSelectionPathStates().
2945 (setSelectionPaths): Call clearSelectionPathStates().
2946 (setSelectionRow): Call clearSelectionPathStates().
2948 2006-11-06 Ito Kazumitsu <kaz@maczuka.gcd.org>
2951 * java/util/regex/Matcher.java(reset): Reset inputCharIndexed.
2953 2006-11-06 Roman Kennke <kennke@aicas.com>
2955 * examples/gnu/classpath/examples/swing/HtmlDemo.java:
2956 Changed to implement a minimalistic browser.
2957 * examples/gnu/classpath/examples/swing/forms.html,
2958 * examples/gnu/classpath/examples/swing/textstyles.html,
2959 * examples/gnu/classpath/examples/swing/welcome.html:
2960 Some example content.
2962 2006-11-06 Roman Kennke <kennke@aicas.com>
2964 * javax/swing/text/ComponentView.java
2965 (setParent): Lock the document and repaint the hosting
2967 * javax/swing/text/FlowView.java
2968 (FlowStrategy.createView): Removed comment.
2969 (FlowView): Initialize span with Short.MAX_VALUE.
2970 (getFlowStart): Return 0 unconditionally.
2971 (layout): Moved code around to make it more readable.
2972 (loadChildren): Always set the parent.
2973 * javax/swing/text/GlyphView.java
2974 (DefaultGlyphPainter.fontMetrics): New field.
2975 (DefaultGlyphPainter.getAscent): Use new helper method to
2976 synchronize the font metrics.
2977 (DefaultGlyphPainter.getBoundedPosition): Use new helper method
2978 to synchronize the font metrics.
2979 (DefaultGlyphPainter.getDescent): Use new helper method to
2980 synchronize the font metrics.
2981 (DefaultGlyphPainter.getHeight): Use new helper method to
2982 synchronize the font metrics.
2983 (DefaultGlyphPainter.getSpan): Use new helper method to
2984 synchronize the font metrics.
2985 (DefaultGlyphPainter.modelToView): Use new helper method to
2986 synchronize the font metrics.
2987 (DefaultGlyphPainter.updateFontMetrics): New helper method for
2988 font metrics caching.
2989 (DefaultGlyphPainter.viewToModel): Use new helper method to
2990 synchronize the font metrics. Fixed view to model mapping.
2991 * javax/swing/text/View.java
2992 (removeAll): Pass null to replace().
2993 (setParent): Only reparent children that have this view as parent.
2995 2006-11-05 Mark Wielaard <mark@klomp.org>
2997 * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed.
2998 * include/gnu_java_nio_channels_FileChannelImpl.h: Removed.
2999 * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c:
3001 * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
3003 * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES):
3004 Remove gnu_java_nio_channels_FileChannelImpl.c.
3006 2006-11-03 Roman Kennke <kennke@aicas.com>
3008 * javax/swing/text/html/BlockView.java
3009 (attributes): New field.
3010 (cssHeight): New field.
3011 (cssWidth): New field.
3012 (painter): New field.
3013 (calculateMajorAxisRequirements): Overridden to account for
3015 (calculateMinorAxisRequirements): Overridden to account for
3017 (layoutMinorAxis): Overridden to account for CSS settings.
3018 (changedUpdate): Formatting fixlet.
3019 (constrainSize): New helper method.
3020 (getAlignment): Fix alignment.
3021 (getAttributes): Cache attributes for better performance.
3022 (getStyleSheet): Fetch stylesheet from document rather than creating
3024 (paint): Remove comment.
3025 (setCSSSpan): New helper method.
3026 (setPropertiesFromAttributes): Implemented to fetch the
3027 recognized properties.
3028 * javax/swing/text/html/CSS.java
3029 (getValue): Added mapping for width and height attributes.
3030 * javax/swing/text/html/InlineView.java
3031 (longestWord): New field.
3032 (getLongestWord): New helper method.
3033 (calculateLongestWord): New helper method.
3034 (getMinimumSpan): Overridden to constrain the minimum span by the
3036 * javax/swing/text/html/ParagraphView.java
3037 (cssHeight): New field.
3038 (cssWidth): New field.
3039 (calculateMinorAxisRequirements): Overridden to account for
3041 (setCSSSpan): New helper method.
3042 (setPropertiesFromAttributes): Fetch CSS width and height. Added
3044 * gnu/javax/swing/text/html/css/Length.java
3045 (percentage): New field.
3046 (Length): Determine percentage values.
3047 (getValue(float)): New method for handling percentage values.
3048 (isPercentage): New method.
3050 2006-11-03 Tania Bento <tbento@redhat.com>
3052 * java/awt/TextArea.java
3053 (getMinimumSize): Changed documentation.
3054 (getPreferredSize): Changed documentation.
3055 (getMinimumSize(int,int)): Changed documenation.
3056 (getPreferredSize(int,int)): Changed documenation.
3057 (minimumSize): Changed documentation.
3058 (preferredSize): Changed documenation.
3059 (minimumSize(int,int)): Changed documentation. Checked if
3060 minimum size had been previously set and changed values of
3061 Dimension returned if peer == null.
3062 (preferredSize(int, int)): Checked if preferred size had been
3063 previously set and changed values of Dimension returned if
3066 2006-11-03 Tania Bento <tbento@redhat.com>
3068 * java/awt/event/ComponentEvent.java
3069 (paramString): Changed format of string representation returned.
3071 2006-11-03 Roman Kennke <kennke@aicas.com>
3073 * javax/swing/text/html/HTMLDocument.java
3074 (HTMLReader.FormAction.start): Added support for textarea.
3075 (HTMLReader.FormAction.end): Added support for textarea.
3076 (HTMLReader.HeadAction.end): Call super to actually close the
3078 (HTMLReader.inTextArea): New field.
3079 (HTMLReader.textAreaDocument): New field.
3080 (HTMLReader.handleText): Call textAreaContent when inside
3082 (HTMLReader.textAreaContent): Implemented to initialize
3083 the text area's model.
3084 * javax/swing/text/html/FormView.java
3085 (createComponent): Added support for textarea tag.
3087 2006-11-03 Roman Kennke <kennke@aicas.com>
3089 * javax/swing/text/html/HTMLDocument.java
3090 (HTMLReader.IsindexAction.start): Implemented.
3092 2006-11-03 Roman Kennke <kennke@aicas.com>
3094 * javax/swing/text/html/StyleSheet.java
3095 (addRule): Implemented.
3096 * javax/swing/text/html/HTMLDocument.java
3097 (HTMLReader.inStyleTag): New field.
3098 (HTMLReader.styles): New field.
3099 (HTMLReader.HeadAction.end): Implemented to read all stylesheets,
3101 (HTMLReader.StyleAction.start): Set inStyleTag flag.
3102 (HTMLReader.StyleAction.end): Set inStyleTag flag.
3103 (HTMLReader.handleText): When inside a style tag, add
3104 content to the styles array.
3106 2006-11-02 Roman Kennke <kennke@aicas.com>
3108 * javax/swing/text/html/FormView.java
3109 (maxIsPreferred): New field.
3110 (createComponent): Initialize components correctly.
3111 (getMaximumSpan): Return the preferred span for components
3112 that need this. The maxIsPreferred flag is set accordingly
3114 * javax/swing/text/html/HTMLDocument.java
3115 (HTMLReader.FormAction.start): Implemented to set the
3116 correct model as attribute.
3117 (HTMLReader.FormAction.setModel): New helper method.
3118 (HTMLReader.FormAction.end): Call super to finish the element.
3119 Added TODO about things left to do.
3120 (HTMLReader.handleComment): Use SimpleAttributeSet rather
3121 than htmlAttributeSet.
3122 * javax/swing/text/html/HTMLEditorKit.java
3123 (HTMLFactory.create): Create BlockView for FORM tags.
3124 Create FormView for INPUT, TEXTAREA and SELECT tags.
3126 2006-11-02 David Gilbert <david.gilbert@object-refinery.com>
3128 * java/awt/geom/GeneralPath.java: API doc fixes.
3130 2006-11-02 Roman Kennke <kennke@aicas.com>
3132 * javax/swing/text/html/ImageView.java
3133 (getImageURL): Fetch attribute from element. Consider the
3134 base URL for relative image locations.
3136 2006-11-02 Roman Kennke <kennke@aicas.com>
3138 * javax/swing/JEditorPane.java
3139 (setContentType): Strip off attributes.
3140 * javax/swing/text/html/HTMLEditorKit.java
3141 (LinkController.activateLink(int,JEditorPane,int,int): New
3142 method. Implements activation of a hyperlink.
3143 (LinkController.activateLinke(int,JEditorPane)): Delegate
3144 to the other activateLink() method.
3145 (LinkController.createHyperlinkEvent): New helper method.
3146 (LinkController.mouseClicked): Implemented to activate the link.
3147 (LinkController.mouseDragged): Added comment that this
3148 method does nothing.
3149 (LinkController.mouseMoved): Update cursor for hyperlinks.
3150 (mouseHandler): Renamed field to linkController.
3151 (HTMLEditorKit): Create a link controller.
3152 (clone): Give the clone a new link controller.
3153 (deinstall): De-install link controller as mouseMotionListener too.
3154 (install): Install link controller as mouseMotionListener too.
3156 2006-11-02 Roman Kennke <kennke@aicas.com>
3159 * javax/swing/text/FlowView.java
3160 (FlowStrategy.changedUpdate): Reversed condition. This caused
3161 wrong layout and bad performance.
3162 (FlowStrategy.insertUpdate): Reversed condition. This caused
3163 wrong layout and bad performance.
3164 (FlowStrategy.removeUpdate): Reversed condition. This caused
3165 wrong layout and bad performance.
3166 (LogicalView): Changed to be a subclass of CompositeView.
3167 (LogicalView()): Only take one Element argument.
3168 (LogicalView.childAllocation): New method for implementing
3169 the abstract CompositeView method.
3170 (LogicalView.forwardUpdateToView): Overridden for correct
3172 (getMinimumSpan): Overridden to handle line breaking correctly.
3173 (getPreferredSpan): Implemented to handle line breaking correctly.
3174 (getViewAtPoint): New method for implementing
3175 the abstract CompositeView method.
3176 (getViewIndexAtPosition): Overridden to handle leaf elements
3178 (isAfter): New method for implementing
3179 the abstract CompositeView method.
3180 (isBefore): New method for implementing
3181 the abstract CompositeView method.
3182 (loadChildren): Overridden to handle leaf elements
3184 (paint): New method for implementing
3185 the abstract CompositeView method.
3186 (calculateMinorAxisRequirements): Use preferredSpan in calculation.
3187 (loadChildren): Initialize flow layout by sending a synthetic
3188 insertUpdate() to the layout strategy.
3189 * javax/swing/text/GlyphView.java
3190 (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's
3191 font metrics if component is not available. Add initial offset
3193 (breakView): Be more clever when breaking the view.
3194 (getBreakLocation): New helper method to determine a good
3196 (getBreakWeight): Be more clever when breaking the view.
3197 (getTabbedSpan): Make sure we have a painter. Use view's
3198 start and end offset rather than the element's.
3199 * javax/swing/text/Utilities.java
3200 (drawTabbedText): Avoid useless add and sub with the y offset.
3202 2006-11-02 Roman Kennke <kennke@aicas.com>
3205 * gnu/java/awt/peer/ClasspathFontPeer.java
3206 (getStringBounds): Removed abstract method. This is replaced
3207 in java.awt.Font to use a TextLayout.
3208 * gnu/java/awt/peer/gtk/GtkWindowPeer.java
3209 (GtkWindowPeer): Set a font on the window object.
3210 * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java
3211 (FreetypeGlyphVector(Font,String,FontRenderContext,int)):
3212 Changed to take char,int,int instead of String. Filter
3214 (FreetypeGlyphVector(Font,String,FontRenderContext)):
3215 Create char array out of string.
3216 (getLogicalBounds): Don't translate bounds. They already are
3218 * gnu/java/awt/peer/gtk/GdkFontMetrics.java
3219 (stringWidth): Filter out control characters.
3220 * gnu/java/awt/peer/gtk/GdkFontPeer.java
3221 (getStringBounds): Removed unneeded method.
3222 (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector
3224 * gnu/java/awt/peer/qt/QtFontPeer.java
3225 (getStringBounds): Removed unneeded method.
3226 * gnu/java/awt/peer/x/XFontPeer.java
3227 (getStringBounds): Removed unneeded method.
3228 * gnu/java/awt/peer/x/XFontPeer2.java
3229 (getStringBounds): Removed unneeded method.
3230 * java/awt/Font.java
3231 (getStringBounds(char[],int,int,FontRenderContext)):
3232 Use TextLayout to determine the bounds.
3233 (getStringBounds(CharacterIterator,int,int,FontRenderContext)):
3234 Delegate to the char[] version of this method.
3235 (getStringBounds(String,FontRenderContext)):
3236 Delegate to the char[] version of this method.
3237 (getStringBounds(String,int,int,FontRenderContext)):
3238 Delegate to the String version of this method.
3240 2006-11-01 Tania Bento <tbento@redhat.com>
3242 * java/awt/ScrollPaneAdjustable.java
3243 (paramString): Changed format of string representation returned.
3244 (paramStringHelper): New private method.
3246 2006-11-01 Tania Bento <tbento@redhat.com>
3248 * java/awt/GridBagLayout.java
3249 (toString): Implemented method.
3251 2006-10-30 Thomas Fitzsimmons <fitzsim@redhat.com>
3253 * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading
3254 initialization to NP_Initialize.
3255 (NP_Initialize): Initialize GLib threading.
3257 2006-10-31 Tania Bento <tbento@redhat.com>
3259 * javax/swing/JTextField.java
3260 (fireActionPerformed): When creating the new event, if