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