WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2007-11-06  Antti Koivisto  <antti@apple.com>
2
3         Reviewed by Darin.
4         
5         Trigger media load on on src attribute changes as specified in new HTML5 draft.
6
7         Tests: media/video-src-change.html
8                media/video-src-remove.html
9                media/video-src-set.html
10
11         * html/HTMLMediaElement.cpp:
12         (WebCore::HTMLMediaElement::attributeChanged):
13         * html/HTMLMediaElement.h:
14
15 2007-11-06  Dan Bernstein  <mitz@apple.com>
16
17         Reviewed by Darin Adler.
18
19         - fix http://bugs.webkit.org/show_bug.cgi?id=15838
20           Incomplete repaint toggling "How you know this person" on Facebook
21
22         Test: fast/repaint/make-children-non-inline.html
23
24         * rendering/RenderBlock.cpp:
25         (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
26         is needed because the inline children may be repositioned as they move
27         into new anonymous blocks, but those blocks have no knowledge of where
28         their children used to be, so they cannot invalidate those areas.
29
30 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
31
32         Reviewed by Darin.
33
34         http://bugs.webkit.org/show_bug.cgi?id=15847
35         Some editing cleanup
36
37         No change in functionality.
38
39         * editing/TextIterator.cpp:
40         (WebCore::plainText):
41         * editing/TextIterator.h:
42         Made WebCore::plainText() return String instead of DeprecatedString.
43
44         * bridge/mac/WebCoreAXObject.mm:
45         (-[WebCoreAXObject textUnderElement]):
46         (-[WebCoreAXObject value]):
47         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
48         (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
49         (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
50         Updated for the above change. There is no need to explicitly convert to NSString now.
51
52         * editing/EditCommand.cpp:
53         (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
54         initialized in constructor body, so the work done in initializer list was wasted.
55
56         (WebCore::EditCommand::apply): Moved some stars.
57         (WebCore::EditCommand::unapply): Ditto.
58         (WebCore::EditCommand::reapply): Ditto.
59         (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
60         removed one of the checks.
61
62         * editing/SelectionController.cpp:
63         (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
64
65         * page/mac/WebCoreFrameBridge.h:
66         * page/mac/WebCoreFrameBridge.mm:
67         Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
68         -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
69
70 2007-11-05  Mark Rowe  <mrowe@apple.com>
71
72         Mac build fix.
73
74         * bindings/js/JSHTMLDocumentCustom.cpp:
75         (WebCore::writeHelper):
76
77 2007-11-05  Adam Roben  <aroben@apple.com>
78
79         Don't crash if SafariTheme can't be loaded
80
81         PlatformScrollBarSafari and RenderThemeSafari were not checking
82         whether SafariTheme was successfully loaded. All other uses of
83         SafariTheme already check this.
84
85         Reviewed by Steve.
86
87         * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
88         couldn't be loaded.
89         (WebCore::PlatformScrollbar::paintButton):
90         (WebCore::PlatformScrollbar::paintTrack):
91         (WebCore::PlatformScrollbar::paintThumb):
92         * rendering/RenderThemeSafari.cpp:
93         (WebCore::RenderThemeSafari::isControlStyled): Always return true if
94         we couldn't load SafariTheme. This way we should never try to paint
95         themed controls (and we assert as such in the paint functions).
96         (WebCore::RenderThemeSafari::paintCheckbox):
97         (WebCore::RenderThemeSafari::paintRadio):
98         (WebCore::RenderThemeSafari::paintButton):
99         (WebCore::RenderThemeSafari::paintTextField):
100         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
101         (WebCore::RenderThemeSafari::paintTextArea):
102         (WebCore::RenderThemeSafari::paintMenuList):
103         (WebCore::RenderThemeSafari::paintSliderThumb):
104         (WebCore::RenderThemeSafari::paintSearchField):
105         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
106         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
107         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
108
109 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
110
111         Adding the rest of wx port's graphics impl. 
112
113         Rubber-stamped by Maciej Stachowiak.
114
115         * platform/graphics/wx/AffineTransformWx.cpp: Added.
116         * platform/graphics/wx/GraphicsContextWx.cpp: Added.
117         * platform/graphics/wx/ImageBufferWx.cpp: Added.
118         * platform/graphics/wx/ImageSourceWx.cpp: Added.
119         * platform/graphics/wx/ImageWx.cpp: Added.
120         * platform/graphics/wx/PathWx.cpp: Added.
121
122 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
123
124         wx port bug fixes and new files to get platform/wx building on trunk.
125
126         Rubber-stamped by Maciej Stachowiak.
127
128         * platform/wx/CursorWx.cpp:
129         * platform/wx/FileSystemWx.cpp: Added.
130         * platform/wx/FontCacheWx.cpp:
131         * platform/wx/FontPlatformDataWx.cpp:
132         * platform/wx/FontWx.cpp:
133         * platform/wx/KeyboardEventWx.cpp:
134         * platform/wx/LocalizedStringsWx.cpp: Added.
135         * platform/wx/LoggingWx.cpp: Added.
136         * platform/wx/RenderThemeWx.cpp:
137         * platform/wx/ScrollViewWx.cpp:
138         * platform/wx/SharedTimerWx.cpp:
139         * platform/wx/StringWx.cpp:
140         * platform/wx/ThreadingWx.cpp: Added.
141         * platform/wx/WidgetWx.cpp:
142
143 2007-11-05  Adele Peterson  <adele@apple.com>
144
145         Reviewed by Maciej.
146
147         Fix for <rdar://problem/5579999> Add poster attribute for video element
148
149         * html/HTMLAttributeNames.in: Added poster attribute.
150
151         * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
152           Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 
153         * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
154         * dom/Element.h:
155         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
156         * html/HTMLObjectElement.h:
157
158         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
159           Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
160         * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline.  HTMLVideoElement now also implements this.
161
162         * html/HTMLVideoElement.idl: Added case for poster attribute.
163         * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
164         * html/HTMLVideoElement.cpp:
165         (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
166         (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
167         (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
168         (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
169         (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
170         (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
171         (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
172         (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
173         (WebCore::HTMLVideoElement::isURLAttribute): Added.
174         (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
175         (WebCore::HTMLVideoElement::updatePosterImage): Added.  Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
176
177 2007-11-05  Adam Roben  <aroben@apple.com>
178
179         Fix <rdar://5563572> SVG image support is turned off
180
181         Turned on SVG images for all platforms.
182
183         Reviewed by Eric.
184
185         * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
186         * loader/CachedImage.cpp:
187         (WebCore::CachedImage::createImage): Removed platform checks for
188         SVGImage.
189
190 2007-11-05  Antti Koivisto  <antti@apple.com>
191
192         Reviewed by Darin.
193
194         QTMovieView can generate callbacks during paint. This can lead to crashes.
195         
196         Delay callbacks so they get handled after painting is completed. No test case,
197         I don't know how to reliably reproduce this.
198
199         * platform/graphics/mac/MoviePrivateQTKit.mm:
200         (WebCore::MoviePrivate::MoviePrivate):
201         (WebCore::MoviePrivate::~MoviePrivate):
202         (WebCore::MoviePrivate::paint):
203         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
204         (-[WebCoreMovieObserver disconnect]):
205         (-[WebCoreMovieObserver loadStateChanged:]):
206         (-[WebCoreMovieObserver rateChanged:]):
207         (-[WebCoreMovieObserver sizeChanged:]):
208         (-[WebCoreMovieObserver timeChanged:]):
209         (-[WebCoreMovieObserver volumeChanged:]):
210         (-[WebCoreMovieObserver didEnd:]):
211         (-[WebCoreMovieObserver setDelayCallbacks:]):
212
213 2007-11-05  Antti Koivisto  <antti@apple.com>
214
215         Reviewed by Adam.
216
217         Add some missing WebCore* prefixes to ObjC classes
218
219         * platform/mac/FileChooserMac.mm:
220         (WebCore::FileChooser::FileChooser):
221         * platform/mac/SharedBufferMac.mm:
222         (WebCore::SharedBuffer::createNSData):
223         (WebCore::SharedBuffer::createCFData):
224         * platform/mac/SharedTimerMac.cpp:
225         (WebCore::setSharedTimerFireTime):
226
227 2007-11-05  Ada Chan  <adachan@apple.com>
228
229         <rdar://problem/5579772> Regression: AltGr does not work
230         We now store the system key event info in PlatforkKeyboardEvent().
231
232         Reviewed by Oliver.
233
234         * platform/PlatformKeyboardEvent.h:
235         (WebCore::PlatformKeyboardEvent::isSystemKey):
236         * platform/win/KeyEventWin.cpp:
237         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
238
239 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
240
241         Reviewed by Darin Adler.
242
243         * WebCore.xcodeproj/project.pbxproj:
244         Set WindowFeatures.h as a Private header.
245         
246         * loader/FrameLoader.cpp:
247         (WebCore::FrameLoader::createWindow):
248         Revised to use a single createWindow function instead of
249         two createWindow functions and one createModalDialog function.
250         The logic for this is now addressed in WebKit in an effort
251         to make this easier to follow.
252         
253         * page/Chrome.cpp:
254         (WebCore::Chrome::createWindow):
255         * page/Chrome.h:
256         * page/ChromeClient.h:
257         * page/ContextMenuController.cpp:
258         (WebCore::openNewWindow):
259         * platform/graphics/svg/SVGImageEmptyClients.h:
260         (WebCore::SVGEmptyChromeClient::createWindow):
261         Revised to take new additional windowFeatures parameter.
262
263 2007-11-04  Geoffrey Garen  <ggaren@apple.com>
264
265         Reviewed by Darin Adler.
266         
267         http://bugs.webkit.org/show_bug.cgi?id=15835
268
269         Small adaptations to new KJS::List class.
270
271         * bindings/js/kjs_window.cpp:
272         (KJS::WindowFunc::callAsFunction):
273         (KJS::ScheduledAction::ScheduledAction):
274
275 2007-11-05  Adam Roben  <aroben@apple.com>
276
277         Allow passing a base class pointer to COMPtr::copyRefTo
278
279         Reviewed by Sam.
280
281         * platform/win/COMPtr.h:
282
283 2007-11-05  Dan Bernstein  <mitz@apple.com>
284
285         Reviewed by Oliver Hunt.
286
287         - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
288
289         Test: fast/dom/class-all-whitespace.html
290
291         * dom/StyledElement.cpp:
292         (WebCore::StyledElement::parseMappedAttribute): Check if there is any
293         non-whitespace character in the class attribute.
294
295 2007-11-05  Brady Eidson  <beidson@apple.com>
296
297         Reviewed by Sam
298
299         Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
300         of the sql storage API
301
302         * storage/DatabaseAuthorizer.cpp:
303         (WebCore::DatabaseAuthorizer::allowTransaction):
304         * storage/DatabaseAuthorizer.h:
305
306 2007-11-05  Mark Rowe  <mrowe@apple.com>
307
308         Reviewed by Alp Toker.
309
310         Have getMIMETypeForExtension return a null string when no MIME type is known
311         for the extension rather than returning "text/plain".  This prevents plugin data
312         being dumped into object elements when plugins are disabled.
313
314         * platform/gtk/MIMETypeRegistryGtk.cpp:
315         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
316
317 2007-11-04  Sam Weinig  <sam@webkit.org>
318
319         Rubber-stamped by Adam Roben.
320
321         Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 
322         clear up ambiguity.
323
324         * bindings/js/kjs_window.cpp:
325         (KJS::Window::isSafeScript):
326         * platform/SecurityOrigin.cpp:
327         (WebCore::SecurityOrigin::canAccess):
328         * platform/SecurityOrigin.h:
329
330 2007-11-04  Timothy Hatcher  <timothy@apple.com>
331
332         Reviewed by Adam.
333
334         Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
335         http://bugs.webkit.org/show_bug.cgi?id=15834
336
337         - Broke up DocumentPanel and added three SidebarPane sub-classes.
338         - Fixed many Style pane bugs, including:
339           * Poor handling of duplicate properties in the same rule. Some of this can't be
340             fixed since we can't only get the "winning" value for duplicate properties.
341             So we should only show one entry per unique property name.
342           * Computed style does not show font shorthand sub-properties if 'font' was used.
343           * Property priority was broken, the wrong properties were crossed out.
344           * The 'border' shorthand shows null for the shorthand value.
345           * Shorthands didn't show their priority (e.g. !important).
346           * HSL and HTML hex colors didn't have preview swatch blocks.
347           * Code refactoring, making it easier to reuse for console.log later.
348
349         * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
350           classes in new files.
351         * page/inspector/MetricsSidebarPane.js: Added.
352         * page/inspector/Panel.js: Remove an InspectorController.log() call.
353         * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
354           So TreeElements can access properties on their section.
355         * page/inspector/PropertiesSidebarPane.js: Added.
356         * page/inspector/SidebarPane.js: Remove the explicit asignment of the
357           onexpand and oncollapse to null. These were hiding prototypes.
358         * page/inspector/StylesSidebarPane.js: Added.
359         * page/inspector/inspector.html: Include the new script files.
360         * page/inspector/treeoutline.js: If a null representedObject is passed
361           in just use a empty object.
362
363 2007-11-04  David D. Kilzer  <ddkilzer@webkit.org>
364
365         Fix build when spaces appear in the WebKit source path.
366
367         Reviewed by Mark Rowe.
368
369         * bindings/scripts/IDLParser.pm: Use safer open() method which lists
370         arguments individually and prevents the need to work around spaces
371         in the path.
372
373 2007-11-04  Alp Toker  <alp@atoker.com>
374
375         Reviewed by Alexey Proskuryakov.
376
377         Fix a crash when no clipboard text is available
378
379         * platform/gtk/PasteboardGtk.cpp:
380         (WebCore::Pasteboard::plainText):
381
382 2007-11-03  Darin Adler  <darin@apple.com>
383
384         Reviewed by Maciej.
385
386         - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
387           remove unused PCRE features for speed
388
389         * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
390         * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
391         Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
392         Use "\d" instead.
393
394         * platform/RegularExpression.h: Remove the unused cap function. We can
395         add it back later if we find we need it.
396         * platform/RegularExpression.cpp:
397         (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
398         regular expression entry point changes.
399         (WebCore::RegularExpression::Private::~Private): Ditto.
400         (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
401         This means that regular expressions with metacharactesr like ^ in them
402         won't work any more with non-whole-string searches, but we don't use
403         any regular expressions like that.
404
405 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
406
407         Update the link stubs to match the current build,
408         and fix coding style issues.
409
410         Reviewed by Mark Rowe.
411
412         * platform/wx/TemporaryLinkStubs.cpp:
413         (loadResourceIntoArray):
414         (findNextSentenceFromIndex):
415         (findSentenceBoundary):
416         (Frame::dashboardRegionsChanged):
417         (WebCore::historyContains):
418         (CachedPage::close):
419         (Editor::showStylesPanel):
420         (EventHandler::passSubframeEventToSubframe):
421         (EventHandler::passWheelEventToWidget):
422         (WebCore::currentTextBreakLocaleID):
423
424 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
425
426         wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
427
428         Reviewed by Mark Rowe.
429
430         * platform/graphics/wx/FloatRectWx.cpp: Added.
431         * platform/graphics/wx/IntPointWx.cpp: Added.
432         * platform/graphics/wx/IntRectWx.cpp: Added.
433
434 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
435
436         wx <-> WebKit data type conversions for Pen and Color.
437
438         Reviewed by Darin Adler.
439
440         * platform/graphics/wx: Added.
441         * platform/graphics/wx/ColorWx.cpp: Added.
442         * platform/graphics/wx/PenWx.cpp: Added.
443
444 2007-11-03  Sam Weinig  <sam@webkit.org>
445
446         Reviewed by Oliver.
447
448         Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
449         The variable had been kept around for binary compatibility, but since nothing
450         else is there is no point in continuing to keep it around.
451
452         * bindings/js/JSDOMExceptionConstructor.cpp:
453         (WebCore::):
454         * bindings/js/JSHTMLInputElementBase.cpp:
455         (WebCore::):
456         * bindings/js/JSNamedNodesCollection.cpp:
457         (WebCore::):
458         * bindings/js/JSXMLHttpRequest.cpp:
459         (KJS::):
460         * bindings/js/JSXSLTProcessor.cpp:
461         (KJS::):
462         * bindings/js/kjs_css.cpp:
463         (WebCore::):
464         * bindings/js/kjs_events.cpp:
465         (WebCore::):
466         * bindings/js/kjs_navigator.cpp:
467         (KJS::):
468         * bindings/js/kjs_window.cpp:
469         (KJS::):
470         * bindings/scripts/CodeGeneratorJS.pm:
471
472 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
473
474         Build fixes to get wx impls. building on trunk.
475
476         Reviewed by Mark Rowe.
477
478         * platform/wx/DragDataWx.cpp:
479         (WebCore::DragData::containsFiles):
480         (WebCore::DragData::asFilenames):
481         * platform/wx/DragImageWx.cpp:
482         (WebCore::scaleDragImage):
483         * platform/wx/MimeTypeRegistryWx.cpp:
484         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
485         * platform/wx/MouseEventWx.cpp:
486         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
487         * platform/wx/MouseWheelEventWx.cpp:
488         * platform/wx/PasteboardWx.cpp:
489         (WebCore::Pasteboard::writeImage):
490         * platform/wx/WidgetWx.cpp:
491         (WebCore::Widget::setCursor):
492
493 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
494
495         Sort files(...); sections of Xcode project files.
496
497         Rubber-stamped by Darin.
498
499         * WebCore.xcodeproj/project.pbxproj:
500         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
501
502 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
503
504         Coding style fixes for platform/wx files.
505
506         Reviewed by Mark Rowe.
507
508         * platform/wx/ClipboardWx.cpp:
509         * platform/wx/GlyphMapWx.cpp:
510         * platform/wx/ScreenWx.cpp:
511
512 2007-11-03  Alp Toker  <alp@atoker.com>
513
514         Reviewed by Mark Rowe.
515
516         Implement platform scrollbar static width/height getters
517
518         * platform/gtk/PlatformScrollBar.h:
519         * platform/gtk/PlatformScrollBarGtk.cpp:
520         (scrollbarSize):
521         (PlatformScrollbar::horizontalScrollbarHeight):
522
523 2007-11-03  Alp Toker  <alp@atoker.com>
524
525         Reviewed by Mark Rowe.
526
527         Cast function pointers to gpointer.
528
529         * platform/gtk/PlatformScrollBarGtk.cpp:
530         (PlatformScrollbar::~PlatformScrollbar):
531
532 2007-11-03  Alp Toker  <alp@atoker.com>
533
534         Reviewed by Adam Roben.
535
536         RenderThemeGtk implementation based on Mozilla's GTK+ style code
537
538         There is still work needed to complete this feature.
539
540         * WebCore.pro:
541         * platform/gtk/RenderThemeGtk.cpp:
542         (WebCore::theme):
543         (WebCore::RenderThemeGtk::RenderThemeGtk):
544         (WebCore::supportsFocus):
545         (WebCore::RenderThemeGtk::supportsFocusRing):
546         (WebCore::RenderThemeGtk::controlSupportsTints):
547         (WebCore::RenderThemeGtk::baselinePosition):
548         (WebCore::adjustMozStyle):
549         (WebCore::setMozState):
550         (WebCore::paintMozWidget):
551         (WebCore::setButtonPadding):
552         (WebCore::setToggleSize):
553         (WebCore::RenderThemeGtk::setCheckboxSize):
554         (WebCore::RenderThemeGtk::paintCheckbox):
555         (WebCore::RenderThemeGtk::setRadioSize):
556         (WebCore::RenderThemeGtk::paintRadio):
557         (WebCore::RenderThemeGtk::adjustButtonStyle):
558         (WebCore::RenderThemeGtk::paintButton):
559         (WebCore::RenderThemeGtk::adjustMenuListStyle):
560         (WebCore::RenderThemeGtk::paintMenuList):
561         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
562         (WebCore::RenderThemeGtk::paintTextField):
563         (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
564         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
565         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
566         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
567         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
568         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
569         (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
570         (WebCore::RenderThemeGtk::paintSearchField):
571         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
572         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
573         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
574         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
575         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
576         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
577         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
578         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
579         (WebCore::RenderThemeGtk::caretBlinkFrequency):
580         (WebCore::RenderThemeGtk::systemFont):
581         (WebCore::gtkStyleSetCallback):
582         (WebCore::RenderThemeGtk::gtkContainer):
583         (WebCore::RenderThemeGtk::gtkEntry):
584         (WebCore::RenderThemeGtk::gtkTreeView):
585         * platform/gtk/RenderThemeGtk.h:
586         * platform/gtk/gtk2drawing.c: Added.
587         (moz_gtk_enable_style_props):
588         (ensure_window_widget):
589         (setup_widget_prototype):
590         (ensure_button_widget):
591         (ensure_checkbox_widget):
592         (ensure_radiobutton_widget):
593         (ensure_scrollbar_widget):
594         (ensure_spin_widget):
595         (ensure_scale_widget):
596         (ensure_entry_widget):
597         (ensure_option_menu_widget):
598         (ensure_arrow_widget):
599         (ensure_handlebox_widget):
600         (ensure_toolbar_widget):
601         (ensure_tooltip_widget):
602         (ensure_tab_widget):
603         (ensure_progress_widget):
604         (ensure_frame_widget):
605         (ensure_menu_bar_widget):
606         (ensure_menu_bar_item_widget):
607         (ensure_menu_popup_widget):
608         (ensure_menu_item_widget):
609         (ensure_check_menu_item_widget):
610         (ConvertGtkState):
611         (TSOffsetStyleGCArray):
612         (TSOffsetStyleGCs):
613         (moz_gtk_button_paint):
614         (moz_gtk_init):
615         (moz_gtk_checkbox_get_metrics):
616         (moz_gtk_radio_get_metrics):
617         (moz_gtk_checkbox_get_focus):
618         (moz_gtk_radio_get_focus):
619         (moz_gtk_button_get_focus):
620         (moz_gtk_option_menu_get_metrics):
621         (moz_gtk_toggle_paint):
622         (calculate_arrow_dimensions):
623         (moz_gtk_scrollbar_button_paint):
624         (moz_gtk_scrollbar_trough_paint):
625         (moz_gtk_scrollbar_thumb_paint):
626         (moz_gtk_spin_paint):
627         (moz_gtk_scale_paint):
628         (moz_gtk_scale_thumb_paint):
629         (moz_gtk_gripper_paint):
630         (moz_gtk_entry_paint):
631         (moz_gtk_option_menu_paint):
632         (moz_gtk_dropdown_arrow_paint):
633         (moz_gtk_container_paint):
634         (moz_gtk_toggle_label_paint):
635         (moz_gtk_toolbar_paint):
636         (moz_gtk_tooltip_paint):
637         (moz_gtk_frame_paint):
638         (moz_gtk_progressbar_paint):
639         (moz_gtk_progress_chunk_paint):
640         (moz_gtk_tab_paint):
641         (moz_gtk_tabpanels_paint):
642         (moz_gtk_menu_bar_paint):
643         (moz_gtk_menu_popup_paint):
644         (moz_gtk_menu_item_paint):
645         (moz_gtk_check_menu_item_paint):
646         (moz_gtk_window_paint):
647         (moz_gtk_get_widget_border):
648         (moz_gtk_get_dropdown_arrow_size):
649         (moz_gtk_get_scalethumb_metrics):
650         (moz_gtk_get_scrollbar_metrics):
651         (moz_gtk_widget_paint):
652         (moz_gtk_get_scrollbar_widget):
653         (moz_gtk_shutdown):
654         * platform/gtk/gtkdrawing.h: Added.
655
656 2007-11-03  Alp Toker  <alp@atoker.com>
657
658         Reviewed by Mark Rowe.
659
660         Do not allow scrollbars to handle wheel events
661         
662         We bubble the wheel event up so the parent can handle it instead.
663
664         * platform/gtk/PlatformScrollBarGtk.cpp:
665         (gtkScrollEventCallback):
666         (PlatformScrollbar::PlatformScrollbar):
667         (PlatformScrollbar::~PlatformScrollbar):
668
669 2007-11-03  Alp Toker  <alp@atoker.com>
670
671         Reviewed by Mark Rowe.
672
673         Frame scrolling and invalidation fixes
674
675         Make upward scroll events have a positive delta to match other ports.
676
677         Fix the invalidation rect offset for frames so that scrolling works properly.
678
679         Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
680
681         Allow tabbing to all widgets and links.
682
683         Fix event returns, improving the focus situation and correcting scroll wheel
684         behavior.
685
686         * page/gtk/EventHandlerGtk.cpp:
687         (WebCore::EventHandler::tabsToAllControls):
688         (WebCore::EventHandler::passWheelEventToWidget):
689         * platform/gtk/ScrollViewGtk.cpp:
690         (WebCore::ScrollViewScrollbar::geometryChanged):
691         (WebCore::ScrollView::updateContents):
692         (WebCore::ScrollView::update):
693         (WebCore::ScrollView::wheelEvent):
694         (WebCore::ScrollView::updateScrollbars):
695         * platform/gtk/WheelEventGtk.cpp:
696         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
697
698 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
699
700         LGPL'ed files contain incorrect FSF address
701         <http://bugs.webkit.org/show_bug.cgi?id=14885>
702
703         Reviewed by NOBODY (follow-up fix).
704
705         * bindings/js/JSSVGTransformListCustom.cpp:
706         * ksvg2/svg/SVGException.idl:
707         * ksvg2/svg/SVGTextPathElement.cpp:
708         * ksvg2/svg/SVGTextPathElement.h:
709         * ksvg2/svg/SVGViewSpec.cpp:
710         * ksvg2/svg/SVGViewSpec.h:
711         * platform/mac/FontCustomPlatformData.cpp:
712         * platform/mac/FontCustomPlatformData.h:
713         * platform/mac/FontPlatformDataMac.mm:
714         * platform/win/FontCustomPlatformData.cpp:
715         * platform/win/FontCustomPlatformData.h:
716         * rendering/RenderSVGRoot.cpp:
717         * rendering/RenderSVGRoot.h:
718         * rendering/RenderSVGTextPath.cpp:
719         * rendering/RenderSVGTextPath.h:
720         * rendering/RenderSVGTransformableContainer.h:
721         * rendering/RenderSVGViewportContainer.cpp:
722         * rendering/RenderSVGViewportContainer.h:
723         * rendering/SVGCharacterLayoutInfo.cpp:
724         * rendering/SVGCharacterLayoutInfo.h:
725         * rendering/SVGRenderSupport.cpp:
726         * rendering/SVGRenderSupport.h:
727
728 2007-11-02  Antti Koivisto  <antti@apple.com>
729
730         Reviewed by Adam.
731         
732         Add video width/height DOM and content attributes from latest HTML5 draft.
733
734         Test: media/video-width-height.html
735
736         * html/HTMLVideoElement.cpp:
737         (WebCore::HTMLVideoElement::parseMappedAttribute):
738         (WebCore::HTMLVideoElement::width):
739         (WebCore::HTMLVideoElement::setWidth):
740         (WebCore::HTMLVideoElement::height):
741         (WebCore::HTMLVideoElement::setHeight):
742         * html/HTMLVideoElement.h:
743         * html/HTMLVideoElement.idl:
744
745 2007-11-02  Darin Adler  <darin@apple.com>
746
747         Reviewed by Maciej.
748
749         * DerivedSources.make: Remove a few explicit filenames from some rules by using
750         make variables a little more.
751         * WebCore.LP64.exp: Fix typo, grammar.
752
753 2007-11-02  Darin Adler  <darin@apple.com>
754
755         Reviewed by Maciej.
756
757         - use the new HashMap::take function where appropriate
758
759         * bindings/js/kjs_binding.cpp:
760         (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
761         (KJS::removeWrapper): Ditto.
762         (KJS::removeWrappers): Ditto.
763         (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
764         (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
765         of remove -- in theory ever so slightly less efficient, but I think it's fine.
766         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
767         (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
768         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
769         (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
770
771         * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
772         * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
773         * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
774         * rendering/RenderBlock.cpp:
775         (WebCore::RenderBlock::~RenderBlock): Ditto.
776         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
777         * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
778
779 2007-11-02  Antti Koivisto  <antti@apple.com>
780
781         Reviewed by Darin.
782
783         Enable video composition.
784
785         * WebCore.base.exp:
786         * platform/graphics/mac/MoviePrivateQTKit.mm:
787         (WebCore::MoviePrivate::createQTMovieView):
788         * platform/mac/WebCoreSystemInterface.h:
789         * platform/mac/WebCoreSystemInterface.mm:
790
791 2007-11-02  Darin Adler  <darin@apple.com>
792
793         Reviewed by Mitz.
794
795         - fix http://bugs.webkit.org/show_bug.cgi?id=15806
796           <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
797
798         Test: fast/forms/remove-radio-button-assert.html
799
800         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
801         Added protected function to be used by derived classes that need to do the same sort
802         of removal from form that's automatically done by the base class in certain circumstances.
803         * html/HTMLGenericFormElement.h: Added removeFromForm.
804
805         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
806         Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
807         part of this object. By the time we get to the base class's destructor it's too late.
808         The problem is specific to radio buttons so we don't have to worry about other classes
809         derived from HTMLGenericFormElement.
810
811 2007-11-02  Darin Adler  <darin@apple.com>
812
813         Reviewed by Mitz.
814
815         - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
816           <rdar://problem/5510779> crashes in isLoadingMultipartContent
817
818         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
819         Instead of asserting the frame loader is non-0, return false if it is 0.
820
821 2007-11-02  Darin Adler  <darin@apple.com>
822
823         Reviewed by Mitz.
824
825         - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
826           URL and MIME type is omitted
827
828         Already covered by existing tests (that had incorrect results).
829
830         * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
831         failure when both URL and MIME type are empty. The old code would not attempt a load, but
832         it would indicate success.
833
834         * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
835         non-helpful early exit for the case where there is no URL and no type. Returning early
836         prevents the fallback code from running.
837
838 2007-11-02  Alp Toker  <alp@atoker.com>
839
840         Reviewed by Darin.
841
842         Include Cairo headers properly
843
844         * platform/graphics/AffineTransform.h:
845         * platform/graphics/ImageBuffer.h:
846         * platform/graphics/cairo/AffineTransformCairo.cpp:
847         * platform/gtk/FontPlatformDataGtk.cpp:
848
849 2007-11-01  Oliver Hunt  <oliver@apple.com>
850
851         Reviewed by Alexey.
852
853         Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key        
854
855         * platform/win/KeyEventWin.cpp:
856         (WebCore::keyIdentifierForWindowsKeyCode):
857         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
858
859 2007-11-01  Geoffrey Garen  <ggaren@apple.com>
860
861         Reviewed by Maciej Stachowiak.
862         
863         In preparation for making List a simple stack-allocated Vector:
864
865         Removed all instances of List copying, assignment, and/or storage.
866         
867         Layout tests and JS tests pass.
868
869         * bindings/js/kjs_window.cpp:
870         (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 
871         JSValue*'s instead of a List now. Converts to List on the fly when 
872         calling the timer function. This is slightly less efficient, but the 
873         common case is 0-2 arguments, so it's no biggie.
874
875         (HTML iBench shows no regression. PLT does not use JS timers.)
876         
877         (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
878         List::slice now.
879         (KJS::ScheduledAction::ScheduledAction): ditto
880
881         * bindings/objc/WebScriptObject.mm:
882         (getListFromNSArray): Takes a List out parameter now, to avoid copying.
883
884 2007-11-01  Oliver Hunt  <oliver@apple.com>
885
886         Reviewed by Geoff.
887
888         Correct event behaviour on certain control keys
889
890         Make sure we send the correct keyDown and keyUp events for the
891         control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
892         uses Windows key codes for the event keyCode.
893
894         * WebCore.base.exp:
895         * page/EventHandler.cpp:
896         (WebCore::EventHandler::keyEvent):
897         * platform/PlatformKeyboardEvent.h:
898         * platform/gtk/KeyEventGtk.cpp:
899         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
900         * platform/mac/KeyEventMac.mm:
901         (WebCore::keyIdentifierForKeyEvent):
902         (WebCore::WindowsKeyCodeForKeyEvent):
903         (WebCore::isKeyUpEvent):
904         (WebCore::textFromEvent):
905         (WebCore::unmodifiedTextFromEvent):
906         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
907         * platform/win/KeyEventWin.cpp:
908         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
909         * platform/wx/KeyEventWin.cpp:
910         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
911
912 2007-11-01  Timothy Hatcher  <timothy@apple.com>
913
914         Reviewed by Sam.
915
916         * page/inspector/inspector.css: Use the white disclosure triangles
917           when a parent DOM element is sepected.
918
919 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
920
921         Reviewed by Oliver Hunt.
922
923         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
924
925         * editing/ReplaceSelectionCommand.cpp:
926         (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
927         into a plaintext-only region, since when we build the fragment to insert from
928         plain text, we don't put any style information on it, so it will automatically
929         match style with no intervention.
930         * editing/markup.cpp:
931         (WebCore::createFragmentFromText): Place paragraphs into clones of the
932         block being inserted into, instead of default paragraph elements,
933         so that when inserted content will match the surrounding paragraph style.
934         This was broken before, but I haven't added a layout test yet because
935         there currently isn't a way to get only plain text onto the pasteboard
936         in a layout test.
937
938 2007-11-01  Sam Weinig  <sam@webkit.org>
939
940         Reviewed by Adam Roben. 
941
942         Add a releaseRef method to COMPtr which matches the behavior
943         of the method by the same name in PassRefPtr.  This is in
944         preparation of adding autogenerated COM DOM bindings.
945
946         * platform/win/COMPtr.h:
947         (COMPtr::releaseRef):
948
949 2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
950
951         wx impl. for DragController and EventHandler interfaces.
952
953         Reviewed by Adam Roben.
954
955         * page/wx: Added.
956         * page/wx/DragControllerWx.cpp: Added.
957         (WebCore::DragController::isCopyKeyDown):
958         (WebCore::DragController::dragOperation):
959         (WebCore::DragController::maxDragImageSize):
960         * page/wx/EventHandlerWx.cpp: Added.
961         (WebCore::EventHandler::passMousePressEventToSubframe):
962         (WebCore::EventHandler::passMouseMoveEventToSubframe):
963         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
964         (WebCore::EventHandler::passMousePressEventToScrollbar):
965         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
966         (WebCore::EventHandler::focusDocumentView):
967         (WebCore::EventHandler::eventActivatedView):
968         (WebCore::EventHandler::createDraggingClipboard):
969
970 2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
971
972         Adding files for wx impl. of editing interfaces.
973
974         Reviewed by Adam Roben.
975
976         * editing/wx: Added.
977         * editing/wx/EditorWx.cpp: Added.
978         (WebCore::Editor::newGeneralClipboard):
979
980 2007-11-01  Sam Weinig  <sam@webkit.org>
981
982         Reviewed by Adam Roben.
983
984         Make implicit conversions from LPCSTRs and BSTRs to WebCore string
985         types possible in preparation of adding autogenerated COM DOM bindings.
986
987         * platform/AtomicString.cpp: 
988         (WebCore::AtomicString::add):
989         * platform/AtomicString.h:
990         (WebCore::AtomicString::AtomicString):
991         * platform/PlatformString.h:
992         * platform/win/BString.cpp:
993         (WebCore::BString::BString):
994         * platform/win/BString.h:
995
996 2007-11-01  Brady Eidson  <beidson@apple.com>
997
998         Reviewed by Anders
999
1000         Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
1001
1002         * platform/sql/SQLiteTransaction.cpp:
1003         (WebCore::SQLiteTransaction::SQLiteTransaction):
1004         (WebCore::SQLiteTransaction::~SQLiteTransaction):
1005         (WebCore::SQLiteTransaction::begin):
1006         (WebCore::SQLiteTransaction::commit):
1007         (WebCore::SQLiteTransaction::rollback):
1008         * platform/sql/SQLiteTransaction.h:
1009         (WebCore::SQLiteTransaction::inProgress):
1010
1011 2007-11-01  Adam Roben  <aroben@apple.com>
1012
1013         Remove all duplicate xcopy commands from WebCore's post-build step
1014
1015         Also add the /d option to the copy of platform/sql.
1016
1017         Rubberstamped by Sam.
1018
1019         * WebCore.vcproj/WebCore.vcproj:
1020
1021 2007-11-01  Adele Peterson  <adele@apple.com>
1022
1023         Reviewed by Maciej.
1024
1025         Add support for the animation of the -webkit-border-raduis properties.
1026
1027         * page/AnimationController.cpp:
1028         (WebCore::blendFunc): Added for IntSize.
1029         (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
1030
1031 2007-11-01  Alp Toker  <alp@atoker.com>
1032
1033         Reviewed by Mitz Pettel.
1034
1035         Fix an unbalanced save/restore.
1036
1037         * platform/graphics/cg/ImageCG.cpp:
1038         (WebCore::BitmapImage::draw):
1039
1040 2007-11-01  David Hyatt  <hyatt@apple.com>
1041
1042         Add support for the animation of the visibility property.
1043
1044         Reviewed by oliver, aroben
1045
1046         * page/AnimationController.cpp:
1047         (WebCore::blendFunc):
1048         (WebCore::ImplicitAnimation::animate):
1049
1050 2007-11-01  Kevin McCullough  <kmccullough@apple.com>
1051
1052         Reviewed by Adam.
1053
1054         - Made COMPtr be able to be used by certain other templates,
1055         specifically HashSet.
1056
1057         * platform/win/COMPtr.h:
1058         (WTF::):
1059
1060 2007-11-01  Dan Bernstein  <mitz@apple.com>
1061
1062         Reviewed by Dave Hyatt.
1063
1064         - fix http://bugs.webkit.org/show_bug.cgi?id=15015
1065           <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
1066
1067         Test: fast/repaint/overflow-clip-subtree-layout.html
1068
1069         This patch does not address the bigger issue of doing a full relayout
1070         of inline flows containing floats, but it addresses the problem on
1071         aol.com, where the changes that trigger layout are confined to an
1072         overflow area inside the float.
1073
1074         * page/FrameView.cpp:
1075         (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
1076         layout roots are different but one descends from the other, make (or
1077         keep) the ancestor as the layout root.
1078         * rendering/RenderObject.cpp:
1079         (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
1080         clipping and non-auto width and height relayout boundaries.
1081
1082 2007-11-01  Alexey Proskuryakov  <ap@webkit.org>
1083
1084         Reviewed by Mark Rowe.
1085
1086         Fixed line endings that got confused in this file somehow.
1087
1088         * platform/network/ResourceResponse.cpp:
1089         (WebCore::ResourceResponse::isAttachment):
1090
1091 2007-11-01  Peter Kasting  <zerodpx@gmail.com>
1092
1093         Reviewed by Dave Hyatt.
1094
1095         http://bugs.webkit.org/show_bug.cgi?id=15778
1096         Malformed GIFs should not result in memory corruption.
1097
1098         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1099         (WebCore::GIFImageDecoder::haveDecodedRow):
1100         * platform/image-decoders/gif/GIFImageReader.cpp:
1101         (GIFImageReader::output_row):
1102         (GIFImageReader::read):
1103
1104 2007-10-31  Adam Roben  <aroben@apple.com>
1105
1106         Fix a crash when parsing a cubic-bezier function
1107
1108         Reviewed by Hyatt.
1109
1110         Test: fast/css/parse-timing-function-crash.html
1111
1112         * WebCore.vcproj/WebCore.vcproj:
1113         * css/CSSParser.cpp:
1114         (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
1115         of the ValueList.
1116
1117 2007-10-31  David Hyatt  <hyatt@apple.com>
1118
1119         Fix a merge error from when I applied my patch to ToT.  A couple of lines should be part of an if.
1120
1121         * rendering/RenderStyle.cpp:
1122         (WebCore::RenderStyle::adjustTransitions):
1123
1124 2007-10-31  Anders Carlsson  <andersca@apple.com>
1125
1126         Reviewed by Sam.
1127
1128         Add new SQL callback interfaces and JS implementations of them.
1129         
1130         * DerivedSources.make:
1131         * WebCore.xcodeproj/project.pbxproj:
1132         * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
1133         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
1134         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1135         * bindings/js/JSCustomSQLStatementCallback.h: Added.
1136         * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
1137         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
1138         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1139         * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
1140         * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
1141         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
1142         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1143         * bindings/js/JSCustomSQLTransactionCallback.h: Added.
1144         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
1145         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
1146         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1147         * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
1148         * storage/JSCustomSQLStatementCallback.h: Added.
1149         * storage/JSCustomSQLStatementErrorCallback.h: Added.
1150         * storage/JSCustomSQLTransactionCallback.h: Added.
1151         * storage/JSCustomSQLTransactionErrorCallback.h: Added.
1152         * storage/SQLStatementCallback.h: Added.
1153         (WebCore::SQLStatementCallback::~SQLStatementCallback):
1154         * storage/SQLStatementCallback.idl: Added.
1155         * storage/SQLStatementErrorCallback.h: Added.
1156         (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
1157         * storage/SQLStatementErrorCallback.idl: Added.
1158         * storage/SQLTransaction.h: Added.
1159         * storage/SQLTransaction.idl: Added.
1160         * storage/SQLTransactionCallback.h: Added.
1161         (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
1162         * storage/SQLTransactionCallback.idl: Added.
1163         * storage/SQLTransactionErrorCallback.h: Added.
1164         (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
1165         * storage/SQLTransactionErrorCallback.idl: Added.
1166
1167 2007-10-31  Justin Garcia  <justin.garcia@apple.com>
1168
1169         Reviewed by Dave Harrison.
1170
1171         <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
1172
1173         * editing/htmlediting.cpp:
1174         (WebCore::enclosingEmptyListItem): A single list item can contain multiple 
1175         paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a 
1176         list item, that list item isn't necessarily empty.
1177
1178 2007-10-31  David Hyatt  <hyatt@apple.com>
1179
1180         Disable style sharing for animating styles.
1181
1182         Reviewed by mitzpettel
1183
1184         * css/CSSStyleSelector.cpp:
1185         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1186
1187 2007-10-31  Dan Bernstein  <mitz@apple.com>
1188
1189         Reviewed by Darin Adler.
1190
1191         - fix intermediate length calculation
1192
1193         * rendering/Length.h:
1194         (WebCore::Length::blend):
1195
1196 2007-10-31  Anders Carlsson  <andersca@apple.com>
1197
1198         Reviewed by Darin.
1199
1200         Add new SQLError implementation.
1201         
1202         * DerivedSources.make:
1203         * WebCore.vcproj/WebCore.vcproj:
1204         * WebCore.xcodeproj/project.pbxproj:
1205         * storage/SQLError.h: Added.
1206         (WebCore::SQLError::SQLError):
1207         (WebCore::SQLError::code):
1208         (WebCore::SQLError::message):
1209         * storage/SQLError.idl: Added.
1210
1211 2007-10-31  David Hyatt  <hyatt@apple.com>
1212
1213         Change the initial value of transition-property to all.  Change the initial value of
1214         transition-duration to 0.
1215
1216         Reviewed by antti
1217
1218         * rendering/RenderStyle.h:
1219         (WebCore::RenderStyle::initialTransitionDuration):
1220         (WebCore::RenderStyle::initialTransitionProperty):
1221
1222 2007-10-31  Alp Toker  <alp@atoker.com>
1223
1224         Reviewed by Mark Rowe.
1225
1226         The new Color must be marked valid.
1227
1228         * platform/graphics/gtk/ColorGtk.cpp:
1229
1230 2007-10-31  Simon Hausmann  <hausmann@kde.org>
1231
1232         Reviewed by Maciej;
1233
1234         Build fix for non-Qt builds.
1235
1236         * dom/XMLTokenizer.cpp:
1237         (WebCore::XMLTokenizer::XMLTokenizer):
1238
1239 2007-10-31  Simon Hausmann  <hausmann@kde.org>
1240
1241         Reviewed by Lars.
1242
1243         Fix dependency path to header files of the public API of the Qt port.
1244
1245         * WebCore.pro:
1246
1247 2007-10-31  Holger Freyther  <zecke@selfish.org>
1248
1249         Reviewed by Simon.
1250
1251         * QXmlStreamNamespaceDeclaration doesn't have the constructor we
1252         want to use for Qt4.3. Reenable the old code path which is likely
1253         to be dead as I have not checked if m_prefixToNamespaceMap is actually
1254         used.
1255         * Guard the entity resolver with the QT_VERSION as well.
1256         * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
1257         d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
1258
1259         * dom/XMLTokenizer.cpp:
1260         (WebCore::XMLTokenizer::XMLTokenizer):
1261         * dom/XMLTokenizer.h:
1262
1263 2007-10-31  Holger Freyther  <zecke@selfish.org>
1264
1265         Reviewed by Lars Knoll <lars@trolltech.com>.
1266
1267         * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 
1268         * Provide a bad fallback implementation to filter the format list.
1269
1270         * platform/qt/ClipboardQt.cpp:
1271         (WebCore::ClipboardQt::clearData):
1272
1273 2007-10-31  Lars Knoll  <lars@trolltech.com>
1274
1275         Reviewed by Simon.
1276
1277         add an entitiy resolver to QXmlStream.
1278         Fixes fast/parser/entities-in-attributes.xhtml.
1279
1280         * dom/XMLTokenizer.cpp:
1281         (WebCore::EntityResolver::resolveUndeclaredEntity):
1282         (WebCore::XMLTokenizer::XMLTokenizer):
1283         (WebCore::XMLTokenizer::~XMLTokenizer):
1284
1285 2007-10-31  Lars Knoll  <lars@trolltech.com>
1286
1287         Reviewed by Simon.
1288
1289         Fixes in the XML tokenizer when using QXmlStream.
1290         
1291         Use new functionality of QXmlStream in Qt 4.4 to simplify
1292         the code (but keep the old code for now to still support Qt 4.3).
1293         
1294         Add proper support for namespace handling when parsing into
1295         a document fragment.
1296
1297         * dom/XMLTokenizer.cpp:
1298         (WebCore::XMLTokenizer::XMLTokenizer):
1299         (WebCore::XMLTokenizer::write):
1300         (WebCore::XMLTokenizer::startElementNs):
1301         (WebCore::):
1302         * dom/XMLTokenizer.h:
1303
1304 2007-10-31  Lars Knoll  <lars@trolltech.com>
1305
1306         Reviewed by Simon.
1307
1308         add support for dragging images.
1309
1310         * platform/DragImage.h:
1311         * platform/qt/ClipboardQt.cpp:
1312         (WebCore::ClipboardQt::clearData):
1313         (WebCore::ClipboardQt::setDragImage):
1314         (WebCore::ClipboardQt::setDragImageElement):
1315         (WebCore::ClipboardQt::createDragImage):
1316         (WebCore::getCachedImage):
1317         (WebCore::ClipboardQt::declareAndWriteDragImage):
1318         * platform/qt/ClipboardQt.h:
1319
1320 2007-10-31  Lars Knoll  <lars@trolltech.com>
1321
1322         Reviewed by Simon.
1323
1324         fix most of the issues I found with Clipboard and DnD.
1325
1326         * editing/qt/EditorQt.cpp:
1327         * platform/qt/ClipboardQt.cpp:
1328         (WebCore::ClipboardQt::ClipboardQt):
1329         (WebCore::ClipboardQt::~ClipboardQt):
1330         (WebCore::ClipboardQt::clearData):
1331         (WebCore::ClipboardQt::clearAllData):
1332         (WebCore::ClipboardQt::getData):
1333         (WebCore::ClipboardQt::setData):
1334         (WebCore::ClipboardQt::types):
1335         (WebCore::ClipboardQt::setDragImage):
1336         (WebCore::ClipboardQt::setDragImageElement):
1337         (WebCore::ClipboardQt::declareAndWriteDragImage):
1338         (WebCore::ClipboardQt::writeURL):
1339         (WebCore::ClipboardQt::writeRange):
1340         (WebCore::ClipboardQt::hasData):
1341         * platform/qt/ClipboardQt.h:
1342         * platform/qt/DragDataQt.cpp:
1343         (WebCore::DragData::asURL):
1344
1345 2007-10-30  Mark Rowe  <mrowe@apple.com>
1346
1347         Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
1348
1349         * platform/gtk/KeyEventGtk.cpp:
1350         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
1351         * platform/qt/PlatformKeyboardEventQt.cpp:
1352         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
1353
1354 2007-10-31  Alexey Proskuryakov  <ap@webkit.org>
1355
1356         Reviewed by Anders.
1357
1358         http://bugs.webkit.org/show_bug.cgi?id=15762
1359         XSLStylesheet loads subresources from a wrong URL
1360
1361         Covered by corrected existing tests.
1362
1363         * xml/XSLStyleSheet.cpp:
1364         (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
1365         the document one.
1366
1367 2007-10-31  Alexey Proskuryakov  <ap@webkit.org>
1368
1369         Reviewed by Darin.
1370
1371         http://bugs.webkit.org/show_bug.cgi?id=10818
1372         String::append does 2 full copies instead of 1 (or zero!)
1373
1374         No change in functionality, thus no test.
1375
1376         * platform/String.cpp:
1377         (WebCore::String::append): Rewrote to copy once. Also removed an ancient
1378         FIXME that doesn't seem to make any sense. Note that append() behavior doesn't 
1379         match documented String behavior ("modifications to one instance will
1380         also modify all others"), but there are a lot of methods that don't.
1381
1382 2007-10-31  Adam Roben  <aroben@apple.com>
1383
1384         Windows build fix
1385
1386         * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
1387
1388 2007-10-30  Adam Roben  <aroben@apple.com>
1389
1390         Windows build fixes
1391
1392         I'm not completely sure why these const issues weren't caught by GCC,
1393         but MSVC was certainly not happy with them.
1394
1395         * editing/IndentOutdentCommand.cpp:
1396         (WebCore::isIndentBlockquote):
1397         * editing/markup.cpp:
1398         (WebCore::styleFromMatchedRulesAndInlineDecl):
1399
1400 2007-10-30  David Hyatt  <hyatt@apple.com>
1401
1402         transition-property was defaulting to all when it should default to none.  
1403
1404         It was taking a string type.  I figured out how to make it take an ident instead, so you can write:
1405
1406         transition-property: opacity
1407
1408         instead of
1409
1410         transition-property: "opacity"
1411
1412         Transition layers also weren't properly repeating patterns the way they were supposed to.  I fixed that.
1413
1414         Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
1415
1416         Reviewed by aroben
1417
1418         * css/CSSHelper.h:
1419         * css/CSSParser.cpp:
1420         (WebCore::CSSParser::parseTransitionProperty):
1421         * css/CSSStyleSelector.cpp:
1422         (WebCore::CSSStyleSelector::adjustRenderStyle):
1423         * page/AnimationController.cpp:
1424         (WebCore::ImplicitAnimation::animate):
1425         * rendering/RenderStyle.cpp:
1426         (WebCore::RenderStyle::adjustTransitions):
1427         * rendering/RenderStyle.h:
1428         (WebCore::RenderStyle::initialTransitionProperty):
1429
1430 2007-10-30  Antti Koivisto  <antti@apple.com>
1431
1432         Reviewed by Geoff.
1433
1434         Leak fix
1435
1436         * platform/graphics/mac/MoviePrivateQTKit.mm:
1437         (WebCore::MoviePrivate::getSupportedTypes):
1438
1439 2007-10-30  Dan Bernstein  <mitz@apple.com>
1440
1441         Reviewed by Stephanie Lewis.
1442
1443         - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
1444
1445         * platform/win/FontDataWin.cpp:
1446         (WebCore::FontData::platformInit): Handle the case where the font has no
1447         glyphs on page zero.
1448
1449 2007-10-30  David Hyatt  <hyatt@apple.com>
1450
1451         Make sure CSS transforms can be animated using the CSS transition property.
1452
1453         Reviewed by Dan and Antti
1454
1455         * css/CSSStyleSelector.cpp:
1456         (WebCore::CSSStyleSelector::applyProperty):
1457         * page/AnimationController.cpp:
1458         (WebCore::blendFunc):
1459         (WebCore::ImplicitAnimation::animate):
1460         * rendering/Length.h:
1461         (WebCore::Length::blend):
1462         * rendering/RenderStyle.cpp:
1463         (WebCore::StyleTransformData::operator==):
1464         (WebCore::TransformOperations::operator==):
1465         (WebCore::blendLengths):
1466         (WebCore::ScaleTransformOperation::blend):
1467         (WebCore::RotateTransformOperation::blend):
1468         (WebCore::SkewTransformOperation::blend):
1469         (WebCore::TranslateTransformOperation::blend):
1470         (WebCore::MatrixTransformOperation::blend):
1471         * rendering/RenderStyle.h:
1472         (WebCore::TransformOperations::operator!=):
1473         (WebCore::TransformOperations::isEmpty):
1474         (WebCore::TransformOperations::size):
1475         (WebCore::TransformOperations::operator[]):
1476         (WebCore::TransformOperations::append):
1477         (WebCore::RenderStyle::transform):
1478         (WebCore::RenderStyle::setTransform):
1479         (WebCore::RenderStyle::initialTransform):
1480
1481 2007-10-30  Antti Koivisto  <antti@apple.com>
1482
1483         Another Qt/GTK build fix.
1484
1485         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1486
1487 2007-10-30  Antti Koivisto  <antti@apple.com>
1488
1489         Attempt to fix Qt/GTK build.
1490
1491         * WebCore.pro:
1492
1493 2007-10-30  Justin Garcia  <justin.garcia@apple.com>
1494
1495         Reviewed by Darin Adler.
1496
1497         <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
1498         
1499         We were trying to insert a tab into a br, after the br incorrectly ended up inside
1500         a tab span.
1501         
1502         * editing/DeleteButtonController.cpp: 
1503         (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
1504         * editing/DeleteSelectionCommand.cpp:
1505         (WebCore::isTableRow): Ditto.
1506         * editing/IndentOutdentCommand.cpp:
1507         (WebCore::isIndentBlockquote): Ditto.
1508         (WebCore::isListOrIndentBlockquote): Ditto.
1509         * editing/InsertLineBreakCommand.cpp:
1510         (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
1511         doApply here.
1512         (WebCore::InsertLineBreakCommand::doApply): 
1513         Don't upstream() the insertion position.  upstream()ing it will only have an effect
1514         when the insertion position is the first in its paragraph (since we canonicalize
1515         VisiblePositions to the upstream() candidate).  In this start of paragraph case, 
1516         upstream() can move outside inline elements like tab spans or elements that might
1517         have a different whitespace mode (added two test cases to cover these).
1518         Moved code to decide whether to insert a br or a '\n' to its own method.
1519         Removed special case code for inserting at a position inside a tab span.  We instead
1520         adjust the insertion position before insertion if it is inside a tab span and
1521         handle insertion in the appropriate if-block.  This fixes a bug where we would 
1522         only insert one line break when two were needed (added a testcase).
1523         Removed special case code for inserting before and after tables and horizontal
1524         rules.  We handle these insertions in the appropriate if-block.
1525         * editing/InsertLineBreakCommand.h:
1526         * editing/ReplaceSelectionCommand.cpp:
1527         (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
1528         * editing/htmlediting.cpp:
1529         (WebCore::isContentEditable): Ditto.
1530         (WebCore::isBlock): Ditto.
1531         (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
1532         that takes in a const Node*.
1533         (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
1534         and not, say, a br.
1535         * editing/htmlediting.h:
1536         * editing/markup.cpp:
1537         (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
1538         (WebCore::elementHasTextDecorationProperty): Ditto.
1539
1540 2007-10-30  Antti Koivisto  <antti@apple.com>
1541
1542         Reviewed by NOBODY.
1543
1544         Add missing files.
1545
1546         * html/VoidCallback.cpp: Added.
1547         (VoidCallback::VoidCallback):
1548         (VoidCallback::~VoidCallback):
1549         (VoidCallback::handleEvent):
1550         (VoidCallback::execute):
1551         (VoidCallback::operator==):
1552         (WebCore::toVoidCallback):
1553         * html/VoidCallback.h: Added.
1554         * html/VoidCallback.idl: Added.
1555
1556 2007-10-30  David Kilzer  <ddkilzer@webkit.org>
1557
1558         Generated files missing from WebCore's Xcode project file
1559         <http://bugs.webkit.org/show_bug.cgi?id=15406>
1560
1561         Reviewed by Darin.
1562
1563         Added the following files to the Xcode project file (note that
1564         JSHTMLInputElementBaseTable.cpp is used as a header file):
1565
1566         - DOMCSSStyleSheetPrivate.h
1567         - DOMEventPrivate.h
1568         - DOMHTMLCollectionPrivate.h
1569         - DOMHTMLEmbedElementPrivate.h
1570         - DOMHTMLIFrameElementPrivate.h
1571         - DOMHTMLObjectElementPrivate.h
1572         - DOMHTMLSelectElementPrivate.h
1573         - DOMTextEventInternal.h
1574         - JSHTMLInputElementBaseTable.cpp
1575
1576         * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
1577         since their generated code was not used.
1578         * WebCore.xcodeproj/project.pbxproj: Added missing header files.
1579
1580 2007-10-29  Antti Koivisto  <antti@apple.com>
1581
1582         Rubber stamped by Adele.
1583
1584         Initial media (<video> and <audio>) support from feature branch and 
1585         QTKit based platform implementation.
1586         
1587         This will need to be updated to match current draft specification.
1588
1589         * Configurations/WebCore.xcconfig:
1590         * DerivedSources.make:
1591         * WebCore.base.exp:
1592         * WebCore.xcodeproj/project.pbxproj:
1593         * bindings/js/JSEventCustom.cpp:
1594         (WebCore::toJS):
1595         * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
1596         (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
1597         (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
1598         (WebCore::JSHTMLAudioElementConstructor::construct):
1599         * bindings/js/JSHTMLAudioElementConstructor.h: Added.
1600         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1601         (WebCore::createJSHTMLWrapper):
1602         * bindings/js/kjs_window.cpp:
1603         (KJS::Window::getValueProperty):
1604         * bindings/js/kjs_window.h:
1605         (KJS::Window::):
1606         * bindings/scripts/CodeGeneratorJS.pm:
1607         * dom/Document.cpp:
1608         (WebCore::Document::createEvent):
1609         (WebCore::Document::willSaveToCache):
1610         (WebCore::Document::didRestoreFromCache):
1611         (WebCore::Document::registerForCacheCallbacks):
1612         (WebCore::Document::unregisterForCacheCallbacks):
1613         * dom/Document.h:
1614         * dom/Element.cpp:
1615         (WebCore::Element::setBooleanAttribute):
1616         * dom/Element.h:
1617         (WebCore::Element::willSaveToCache):
1618         * dom/Event.cpp:
1619         (WebCore::Event::isProgressEvent):
1620         * dom/Event.h:
1621         * dom/EventNames.h:
1622         * dom/EventTargetNode.cpp:
1623         (WebCore::EventTargetNode::dispatchProgressEvent):
1624         * dom/EventTargetNode.h:
1625         * dom/ProgressEvent.cpp: Added.
1626         (WebCore::ProgressEvent::ProgressEvent):
1627         (WebCore::ProgressEvent::initProgressEvent):
1628         (WebCore::ProgressEvent::initProgressEventNS):
1629         * dom/ProgressEvent.h: Added.
1630         (WebCore::ProgressEvent::lengthComputable):
1631         (WebCore::ProgressEvent::loaded):
1632         (WebCore::ProgressEvent::total):
1633         (WebCore::ProgressEvent::isProgressEvent):
1634         * dom/ProgressEvent.idl: Added.
1635         * history/CachedPage.cpp:
1636         (WebCore::CachedPage::CachedPage):
1637         * html/HTMLAttributeNames.in:
1638         * html/HTMLAudioElement.cpp: Added.
1639         (WebCore::HTMLAudioElement::HTMLAudioElement):
1640         * html/HTMLAudioElement.h: Added.
1641         (WebCore::HTMLAudioElement::tagPriority):
1642         * html/HTMLAudioElement.idl: Added.
1643         * html/HTMLElement.cpp:
1644         (WebCore::inlineTagList):
1645         * html/HTMLElementFactory.cpp:
1646         (WebCore::audioConstructor):
1647         (WebCore::videoConstructor):
1648         (WebCore::sourceConstructor):
1649         (WebCore::createFunctionMap):
1650         * html/HTMLInputElement.cpp:
1651         (WebCore::HTMLInputElement::~HTMLInputElement):
1652         (WebCore::HTMLInputElement::setInputType):
1653         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
1654         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
1655         * html/HTMLMediaElement.cpp: Added.
1656         (WebCore::HTMLMediaElement::HTMLMediaElement):
1657         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1658         (WebCore::HTMLMediaElement::checkDTD):
1659         (WebCore::HTMLMediaElement::rendererIsNeeded):
1660         (WebCore::HTMLMediaElement::createRenderer):
1661         (WebCore::HTMLMediaElement::insertedIntoDocument):
1662         (WebCore::HTMLMediaElement::removedFromDocument):
1663         (WebCore::HTMLMediaElement::scheduleLoad):
1664         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
1665         (WebCore::HTMLMediaElement::dispatchEventAsync):
1666         (WebCore::HTMLMediaElement::loadTimerFired):
1667         (WebCore::HTMLMediaElement::asyncEventTimerFired):
1668         (WebCore::serializeTimeOffset):
1669         (WebCore::parseTimeOffset):
1670         (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
1671         (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
1672         (WebCore::HTMLMediaElement::error):
1673         (WebCore::HTMLMediaElement::src):
1674         (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
1675         (WebCore::HTMLMediaElement::currentSrc):
1676         (WebCore::HTMLMediaElement::networkState):
1677         (WebCore::HTMLMediaElement::bufferingRate):
1678         (WebCore::HTMLMediaElement::load):
1679         (WebCore::HTMLMediaElement::movieNetworkStateChanged):
1680         (WebCore::HTMLMediaElement::movieReadyStateChanged):
1681         (WebCore::HTMLMediaElement::setReadyState):
1682         (WebCore::HTMLMediaElement::progressEventTimerFired):
1683         (WebCore::HTMLMediaElement::seek):
1684         (WebCore::HTMLMediaElement::readyState):
1685         (WebCore::HTMLMediaElement::seeking):
1686         (WebCore::HTMLMediaElement::currentTime):
1687         (WebCore::HTMLMediaElement::setCurrentTime):
1688         (WebCore::HTMLMediaElement::duration):
1689         (WebCore::HTMLMediaElement::paused):
1690         (WebCore::HTMLMediaElement::defaultPlaybackRate):
1691         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
1692         (WebCore::HTMLMediaElement::playbackRate):
1693         (WebCore::HTMLMediaElement::setPlaybackRate):
1694         (WebCore::HTMLMediaElement::ended):
1695         (WebCore::HTMLMediaElement::autoplay):
1696         (WebCore::HTMLMediaElement::setAutoplay):
1697         (WebCore::HTMLMediaElement::play):
1698         (WebCore::HTMLMediaElement::pause):
1699         (WebCore::HTMLMediaElement::loopCount):
1700         (WebCore::HTMLMediaElement::setLoopCount):
1701         (WebCore::HTMLMediaElement::start):
1702         (WebCore::HTMLMediaElement::setStart):
1703         (WebCore::HTMLMediaElement::end):
1704         (WebCore::HTMLMediaElement::setEnd):
1705         (WebCore::HTMLMediaElement::loopStart):
1706         (WebCore::HTMLMediaElement::setLoopStart):
1707         (WebCore::HTMLMediaElement::loopEnd):
1708         (WebCore::HTMLMediaElement::setLoopEnd):
1709         (WebCore::HTMLMediaElement::currentLoop):
1710         (WebCore::HTMLMediaElement::setCurrentLoop):
1711         (WebCore::HTMLMediaElement::controls):
1712         (WebCore::HTMLMediaElement::setControls):
1713         (WebCore::HTMLMediaElement::volume):
1714         (WebCore::HTMLMediaElement::setVolume):
1715         (WebCore::HTMLMediaElement::muted):
1716         (WebCore::HTMLMediaElement::setMuted):
1717         (WebCore::HTMLMediaElement::pickMedia):
1718         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1719         (WebCore::HTMLMediaElement::movieVolumeChanged):
1720         (WebCore::HTMLMediaElement::movieDidEnd):
1721         (WebCore::HTMLMediaElement::movieCuePointReached):
1722         (WebCore::HTMLMediaElement::addCuePoint):
1723         (WebCore::HTMLMediaElement::removeCuePoint):
1724         (WebCore::HTMLMediaElement::buffered):
1725         (WebCore::HTMLMediaElement::played):
1726         (WebCore::HTMLMediaElement::seekable):
1727         (WebCore::HTMLMediaElement::effectiveStart):
1728         (WebCore::HTMLMediaElement::effectiveEnd):
1729         (WebCore::HTMLMediaElement::effectiveLoopStart):
1730         (WebCore::HTMLMediaElement::effectiveLoopEnd):
1731         (WebCore::HTMLMediaElement::activelyPlaying):
1732         (WebCore::HTMLMediaElement::endedPlayback):
1733         (WebCore::HTMLMediaElement::willSaveToCache):
1734         (WebCore::HTMLMediaElement::didRestoreFromCache):
1735         * html/HTMLMediaElement.h: Added.
1736         (WebCore::HTMLMediaElement::movie):
1737         (WebCore::HTMLMediaElement::isVideo):
1738         (WebCore::HTMLMediaElement::):
1739         (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
1740         * html/HTMLMediaElement.idl: Added.
1741         * html/HTMLSourceElement.cpp: Added.
1742         (WebCore::HTMLSourceElement::HTMLSourceElement):
1743         (WebCore::HTMLSourceElement::~HTMLSourceElement):
1744         (WebCore::HTMLSourceElement::insertedIntoDocument):
1745         (WebCore::HTMLSourceElement::src):
1746         (WebCore::HTMLSourceElement::setSrc):
1747         (WebCore::HTMLSourceElement::media):
1748         (WebCore::HTMLSourceElement::setMedia):
1749         (WebCore::HTMLSourceElement::type):
1750         (WebCore::HTMLSourceElement::setType):
1751         * html/HTMLSourceElement.h: Added.
1752         (WebCore::HTMLSourceElement::endTagRequirement):
1753         (WebCore::HTMLSourceElement::tagPriority):
1754         * html/HTMLSourceElement.idl: Added.
1755         * html/HTMLTagNames.in:
1756         * html/HTMLVideoElement.cpp: Added.
1757         (WebCore::HTMLVideoElement::HTMLVideoElement):
1758         (WebCore::HTMLVideoElement::videoWidth):
1759         (WebCore::HTMLVideoElement::videoHeight):
1760         * html/HTMLVideoElement.h: Added.
1761         (WebCore::HTMLVideoElement::tagPriority):
1762         (WebCore::HTMLVideoElement::isVideo):
1763         * html/HTMLVideoElement.idl: Added.
1764         * html/MediaError.h: Added.
1765         (WebCore::MediaError::):
1766         (WebCore::MediaError::MediaError):
1767         (WebCore::MediaError::code):
1768         * html/MediaError.idl: Added.
1769         * html/TimeRanges.cpp: Added.
1770         (TimeRanges::TimeRanges):
1771         (TimeRanges::start):
1772         (TimeRanges::end):
1773         (TimeRanges::add):
1774         (TimeRanges::contain):
1775         * html/TimeRanges.h: Added.
1776         (WebCore::TimeRanges::TimeRanges):
1777         (WebCore::TimeRanges::length):
1778         (WebCore::TimeRanges::Range::Range):
1779         * html/TimeRanges.idl: Added.
1780         * page/DOMWindow.idl:
1781         * platform/MIMETypeRegistry.cpp:
1782         (WebCore::initialiseSupportedMovieMIMETypes):
1783         (WebCore::initialiseMIMETypeRegistry):
1784         (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
1785         (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
1786         * platform/MIMETypeRegistry.h:
1787         * platform/graphics/Movie.cpp: Added.
1788         (WebCore::Movie::Movie):
1789         (WebCore::Movie::~Movie):
1790         (WebCore::Movie::load):
1791         (WebCore::Movie::cancelLoad):
1792         (WebCore::Movie::play):
1793         (WebCore::Movie::pause):
1794         (WebCore::Movie::duration):
1795         (WebCore::Movie::currentTime):
1796         (WebCore::Movie::seek):
1797         (WebCore::Movie::paused):
1798         (WebCore::Movie::seeking):
1799         (WebCore::Movie::naturalSize):
1800         (WebCore::Movie::hasVideo):
1801         (WebCore::Movie::networkState):
1802         (WebCore::Movie::readyState):
1803         (WebCore::Movie::volume):
1804         (WebCore::Movie::setVolume):
1805         (WebCore::Movie::rate):
1806         (WebCore::Movie::setRate):
1807         (WebCore::Movie::muted):
1808         (WebCore::Movie::setMuted):
1809         (WebCore::Movie::dataRate):
1810         (WebCore::Movie::setEndTime):
1811         (WebCore::Movie::addCuePoint):
1812         (WebCore::Movie::removeCuePoint):
1813         (WebCore::Movie::clearCuePoints):
1814         (WebCore::Movie::maxTimeBuffered):
1815         (WebCore::Movie::maxTimeSeekable):
1816         (WebCore::Movie::bytesLoaded):
1817         (WebCore::Movie::totalBytesKnown):
1818         (WebCore::Movie::totalBytes):
1819         (WebCore::Movie::setRect):
1820         (WebCore::Movie::visible):
1821         (WebCore::Movie::setVisible):
1822         (WebCore::Movie::paint):
1823         (WebCore::Movie::getSupportedTypes):
1824         (WebCore::Movie::networkStateChanged):
1825         (WebCore::Movie::readyStateChanged):
1826         (WebCore::Movie::volumeChanged):
1827         (WebCore::Movie::didEnd):
1828         (WebCore::Movie::cuePointReached):
1829         * platform/graphics/Movie.h: Added.
1830         (WebCore::MovieClient::~MovieClient):
1831         (WebCore::MovieClient::movieNetworkStateChanged):
1832         (WebCore::MovieClient::movieReadyStateChanged):
1833         (WebCore::MovieClient::movieVolumeChanged):
1834         (WebCore::MovieClient::movieDidEnd):
1835         (WebCore::MovieClient::movieCuePointReached):
1836         (WebCore::Movie::parentWidget):
1837         (WebCore::Movie::setParentWidget):
1838         (WebCore::Movie::rect):
1839         (WebCore::Movie::):
1840         * platform/graphics/mac/MoviePrivateQTKit.h: Added.
1841         * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
1842         (WebCore::MoviePrivate::MoviePrivate):
1843         (WebCore::MoviePrivate::~MoviePrivate):
1844         (WebCore::MoviePrivate::createQTMovie):
1845         (WebCore::MoviePrivate::createQTMovieView):
1846         (WebCore::MoviePrivate::createQTTime):
1847         (WebCore::MoviePrivate::load):
1848         (WebCore::MoviePrivate::play):
1849         (WebCore::MoviePrivate::pause):
1850         (WebCore::MoviePrivate::duration):
1851         (WebCore::MoviePrivate::currentTime):
1852         (WebCore::MoviePrivate::seek):
1853         (WebCore::MoviePrivate::setEndTime):
1854         (WebCore::MoviePrivate::addCuePoint):
1855         (WebCore::MoviePrivate::removeCuePoint):
1856         (WebCore::MoviePrivate::clearCuePoints):
1857         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
1858         (WebCore::MoviePrivate::cancelSeek):
1859         (WebCore::MoviePrivate::seekTimerFired):
1860         (WebCore::MoviePrivate::cuePointTimerFired):
1861         (WebCore::MoviePrivate::paused):
1862         (WebCore::MoviePrivate::seeking):
1863         (WebCore::MoviePrivate::naturalSize):
1864         (WebCore::MoviePrivate::hasVideo):
1865         (WebCore::MoviePrivate::setVolume):
1866         (WebCore::MoviePrivate::setMuted):
1867         (WebCore::MoviePrivate::setRate):
1868         (WebCore::MoviePrivate::dataRate):
1869         (WebCore::MoviePrivate::networkState):
1870         (WebCore::MoviePrivate::readyState):
1871         (WebCore::MoviePrivate::maxTimeBuffered):
1872         (WebCore::MoviePrivate::maxTimeSeekable):
1873         (WebCore::MoviePrivate::maxTimeLoaded):
1874         (WebCore::MoviePrivate::bytesLoaded):
1875         (WebCore::MoviePrivate::totalBytesKnown):
1876         (WebCore::MoviePrivate::totalBytes):
1877         (WebCore::MoviePrivate::cancelLoad):
1878         (WebCore::MoviePrivate::updateStates):
1879         (WebCore::MoviePrivate::loadStateChanged):
1880         (WebCore::MoviePrivate::rateChanged):
1881         (WebCore::MoviePrivate::sizeChanged):
1882         (WebCore::MoviePrivate::timeChanged):
1883         (WebCore::MoviePrivate::volumeChanged):
1884         (WebCore::MoviePrivate::didEnd):
1885         (WebCore::MoviePrivate::setRect):
1886         (WebCore::MoviePrivate::setVisible):
1887         (WebCore::MoviePrivate::paint):
1888         (WebCore::MoviePrivate::getSupportedTypes):
1889         (-[WebCoreMovieObserver loadStateChanged:]):
1890         (-[WebCoreMovieObserver rateChanged:]):
1891         (-[WebCoreMovieObserver sizeChanged:]):
1892         (-[WebCoreMovieObserver timeChanged:]):
1893         (-[WebCoreMovieObserver volumeChanged:]):
1894         (-[WebCoreMovieObserver didEnd:]):
1895         (-[WebCoreMovieObserver setCallback:WebCore::]):
1896         * platform/mac/WebCoreSystemInterface.h:
1897         * platform/mac/WebCoreSystemInterface.mm:
1898         * rendering/RenderLayer.cpp:
1899         (WebCore::RenderLayer::collectLayers):
1900         * rendering/RenderVideo.cpp: Added.
1901         (WebCore::RenderVideo::RenderVideo):
1902         (WebCore::RenderVideo::~RenderVideo):
1903         (WebCore::RenderVideo::movie):
1904         (WebCore::RenderVideo::videoSizeChanged):
1905         (WebCore::RenderVideo::paint):
1906         (WebCore::RenderVideo::layout):
1907         (WebCore::RenderVideo::updateFromElement):
1908         (WebCore::RenderVideo::updateMovie):
1909         (WebCore::RenderVideo::isWidthSpecified):
1910         (WebCore::RenderVideo::isHeightSpecified):
1911         (WebCore::RenderVideo::calcReplacedWidth):
1912         (WebCore::RenderVideo::calcReplacedHeight):
1913         (WebCore::RenderVideo::calcAspectRatioWidth):
1914         (WebCore::RenderVideo::calcAspectRatioHeight):
1915         (WebCore::RenderVideo::calcPrefWidths):
1916         * rendering/RenderVideo.h: Added.
1917         (WebCore::RenderVideo::renderName):
1918
1919 2007-10-30  Sam Weinig  <sam@webkit.org>
1920
1921         Reviewed by Adam Roben.
1922
1923         Add Interface and Class UUIDs to the IDLs in preparation of adding
1924         autogeneration of the COM DOM bindings.
1925
1926         * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
1927         * css/CSSCharsetRule.idl:
1928         * css/CSSFontFaceRule.idl:
1929         * css/CSSImportRule.idl:
1930         * css/CSSMediaRule.idl:
1931         * css/CSSPageRule.idl:
1932         * css/CSSPrimitiveValue.idl:
1933         * css/CSSRule.idl:
1934         * css/CSSRuleList.idl:
1935         * css/CSSStyleDeclaration.idl:
1936         * css/CSSStyleRule.idl:
1937         * css/CSSStyleSheet.idl:
1938         * css/CSSUnknownRule.idl:
1939         * css/CSSValue.idl:
1940         * css/CSSValueList.idl:
1941         * css/Counter.idl:
1942         * css/MediaList.idl:
1943         * css/RGBColor.idl:
1944         * css/Rect.idl:
1945         * css/StyleSheet.idl:
1946         * css/StyleSheetList.idl:
1947         * dom/Attr.idl:
1948         * dom/CDATASection.idl:
1949         * dom/CharacterData.idl:
1950         * dom/Comment.idl:
1951         * dom/DOMImplementation.idl:
1952         * dom/Document.idl:
1953         * dom/DocumentFragment.idl:
1954         * dom/DocumentType.idl:
1955         * dom/Element.idl:
1956         * dom/Entity.idl:
1957         * dom/EntityReference.idl:
1958         * dom/Event.idl:
1959         * dom/EventListener.idl:
1960         * dom/EventTarget.idl:
1961         * dom/NamedNodeMap.idl:
1962         * dom/Node.idl:
1963         * dom/NodeList.idl:
1964         * dom/Notation.idl:
1965         * dom/ProcessingInstruction.idl:
1966         * dom/Text.idl:
1967         * html/CanvasGradient.idl:
1968         * html/CanvasPattern.idl:
1969         * html/CanvasRenderingContext2D.idl:
1970         * html/HTMLAnchorElement.idl:
1971         * html/HTMLAppletElement.idl:
1972         * html/HTMLAreaElement.idl:
1973         * html/HTMLBRElement.idl:
1974         * html/HTMLBaseElement.idl:
1975         * html/HTMLBaseFontElement.idl:
1976         * html/HTMLBlockquoteElement.idl:
1977         * html/HTMLBodyElement.idl:
1978         * html/HTMLButtonElement.idl:
1979         * html/HTMLCanvasElement.idl:
1980         * html/HTMLCollection.idl:
1981         * html/HTMLDListElement.idl:
1982         * html/HTMLDirectoryElement.idl:
1983         * html/HTMLDivElement.idl:
1984         * html/HTMLDocument.idl:
1985         * html/HTMLElement.idl:
1986         * html/HTMLEmbedElement.idl:
1987         * html/HTMLFieldSetElement.idl:
1988         * html/HTMLFontElement.idl:
1989         * html/HTMLFormElement.idl:
1990         * html/HTMLFrameElement.idl:
1991         * html/HTMLFrameSetElement.idl:
1992         * html/HTMLHRElement.idl:
1993         * html/HTMLHeadElement.idl:
1994         * html/HTMLHeadingElement.idl:
1995         * html/HTMLHtmlElement.idl:
1996         * html/HTMLIFrameElement.idl:
1997         * html/HTMLImageElement.idl:
1998         * html/HTMLInputElement.idl:
1999         * html/HTMLIsIndexElement.idl:
2000         * html/HTMLLIElement.idl:
2001         * html/HTMLLabelElement.idl:
2002         * html/HTMLLegendElement.idl:
2003         * html/HTMLLinkElement.idl:
2004         * html/HTMLMapElement.idl:
2005         * html/HTMLMarqueeElement.idl:
2006         * html/HTMLMenuElement.idl:
2007         * html/HTMLMetaElement.idl:
2008         * html/HTMLModElement.idl:
2009         * html/HTMLOListElement.idl:
2010         * html/HTMLObjectElement.idl:
2011         * html/HTMLOptGroupElement.idl:
2012         * html/HTMLOptionElement.idl:
2013         * html/HTMLOptionsCollection.idl:
2014         * html/HTMLParagraphElement.idl:
2015         * html/HTMLParamElement.idl:
2016         * html/HTMLPreElement.idl:
2017         * html/HTMLQuoteElement.idl:
2018         * html/HTMLScriptElement.idl:
2019         * html/HTMLSelectElement.idl:
2020         * html/HTMLStyleElement.idl:
2021         * html/HTMLTableCaptionElement.idl:
2022         * html/HTMLTableCellElement.idl:
2023         * html/HTMLTableColElement.idl:
2024         * html/HTMLTableElement.idl:
2025         * html/HTMLTableRowElement.idl:
2026         * html/HTMLTableSectionElement.idl:
2027         * html/HTMLTextAreaElement.idl:
2028         * html/HTMLTitleElement.idl:
2029         * html/HTMLUListElement.idl:
2030
2031 2007-10-30  Adele Peterson  <adele@apple.com>
2032
2033         RS by Darin.
2034
2035         * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
2036
2037 2007-10-29  Timothy Hatcher  <timothy@apple.com>
2038
2039         Reviewed by John Sullivan.
2040
2041         - Allow showing and closing the inspector programatically.
2042         - Add showConsole() and showTimeline() methods. 
2043
2044         * WebCore.base.exp: Add exports for WebKit.
2045         * page/InspectorController.cpp:
2046         (WebCore::callSimpleFunction): Renamed from callClearFunction().
2047         (WebCore::unloading): Renamed to close().
2048         (WebCore::InspectorController::InspectorController):
2049         (WebCore::InspectorController::inspect): Moved showing code to show().
2050         (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
2051         (WebCore::InspectorController::show): Code factored out of inspect().
2052         (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
2053         (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
2054         (WebCore::InspectorController::close):
2055         (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
2056         (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
2057         (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
2058         (WebCore::InspectorController::clearNetworkTimeline): Ditto.
2059         * page/InspectorController.h: Add and rename methods.
2060         * page/inspector/inspector.js: Add showConsole() and showTimeline().
2061
2062 2007-10-30  Adele Peterson  <adele@apple.com>
2063
2064         Reviewed by Sam.
2065
2066         Build fix.
2067
2068         * page/AnimationController.cpp: (WebCore::blendFunc):
2069
2070 2007-10-30  Adele Peterson  <adele@apple.com>
2071
2072         Reviewed by Darin.
2073
2074         WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
2075         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
2076
2077         Test: manual-tests/password-caps-lock.html
2078
2079         * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
2080
2081         * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
2082         * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
2083         * page/EventHandler.h:
2084
2085         * platform/PlatformKeyboardEvent.h:
2086         * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
2087         * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
2088
2089         * rendering/RenderTextControl.cpp:
2090         (WebCore::RenderTextControl::RenderTextControl):
2091         (WebCore::RenderTextControl::paint): Added.  If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
2092         (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
2093         (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, 
2094          and the frame is active, and the element is focused, and the caps lock is on.  Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
2095         * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
2096         * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
2097
2098         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
2099         * rendering/RenderThemeMac.h:
2100         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added.  Calls wkDrawCapsLockIndicator.
2101         * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added.  Calls paintThemePart for the CapsLockPart.
2102         * rendering/RenderThemeSafari.h:
2103
2104 2007-10-30  David Hyatt  <hyatt@apple.com>
2105
2106         Land support for implicit animation in CSS.
2107
2108         Reviewed by mitz, darin
2109
2110         * css/CSSParser.cpp:
2111         (WebCore::CSSParser::parseTimingFunctionValue):
2112         (WebCore::CSSParser::parseTransitionTimingFunction):
2113         (WebCore::CSSParser::parseTransitionProperty):
2114         * css/CSSStyleSelector.cpp:
2115         (WebCore::CSSStyleSelector::mapTransitionDuration):
2116         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
2117         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
2118         (WebCore::CSSStyleSelector::mapTransitionProperty):
2119         * css/CSSTimingFunctionValue.h:
2120         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
2121         (WebCore::CSSTimingFunctionValue::x1):
2122         (WebCore::CSSTimingFunctionValue::y1):
2123         (WebCore::CSSTimingFunctionValue::x2):
2124         (WebCore::CSSTimingFunctionValue::y2):
2125         * dom/Element.cpp:
2126         (WebCore::Element::styleForRenderer):
2127         (WebCore::Element::createRenderer):
2128         * dom/Node.cpp:
2129         (WebCore::Node::createRendererIfNeeded):
2130         (WebCore::Node::setRenderStyle):
2131         * page/AnimationController.cpp:
2132         (WebCore::CurveData::CurveData):
2133         (WebCore::CurveData::sampleCurveX):
2134         (WebCore::CurveData::sampleCurveY):
2135         (WebCore::CurveData::sampleCurveDerivativeX):
2136         (WebCore::CurveData::solveCurveX):
2137         (WebCore::solveEpsilon):
2138         (WebCore::solveCubicBezierFunction):
2139         (WebCore::ImplicitAnimation::finished):
2140         (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
2141         (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
2142         (WebCore::ImplicitAnimation::ImplicitAnimation):
2143         (WebCore::ImplicitAnimation::~ImplicitAnimation):
2144         (WebCore::ImplicitAnimation::reset):
2145         (WebCore::ImplicitAnimation::progress):
2146         (WebCore::blendFunc):
2147         (WebCore::ImplicitAnimation::animate):
2148         (WebCore::CompositeImplicitAnimation::animate):
2149         (WebCore::CompositeImplicitAnimation::animating):
2150         (WebCore::CompositeImplicitAnimation::reset):
2151         (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
2152         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2153         (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
2154         (WebCore::AnimationControllerPrivate::get):
2155         (WebCore::AnimationControllerPrivate::clear):
2156         (WebCore::AnimationControllerPrivate::updateTimer):
2157         (WebCore::AnimationControllerPrivate::timerFired):
2158         (WebCore:::m_data):
2159         (WebCore::AnimationController::~AnimationController):
2160         (WebCore::AnimationController::cancelImplicitAnimations):
2161         (WebCore::AnimationController::updateImplicitAnimations):
2162         (WebCore::AnimationController::suspendAnimations):
2163         (WebCore::AnimationController::resumeAnimations):
2164         * page/AnimationController.h:
2165         * page/Frame.cpp:
2166         (WebCore::FramePrivate::FramePrivate):
2167         * rendering/RenderBox.cpp:
2168         (WebCore::RenderBox::setStyle):
2169         (WebCore::RenderBox::destroy):
2170         * rendering/RenderObject.cpp:
2171         (WebCore::RenderObject::setAnimatableStyle):
2172         (WebCore::RenderObject::destroy):
2173         * rendering/RenderObject.h:
2174         * rendering/RenderStyle.h:
2175         (WebCore::TimingFunction::TimingFunction):
2176         (WebCore::TimingFunction::operator==):
2177         (WebCore::TimingFunction::x1):
2178         (WebCore::TimingFunction::y1):
2179         (WebCore::TimingFunction::x2):
2180         (WebCore::TimingFunction::y2):
2181         (WebCore::TimingFunction::type):
2182         (WebCore::Transition::transitionProperty):
2183         (WebCore::Transition::setTransitionProperty):
2184         (WebCore::RenderStyle::initialTransitionProperty):
2185         * rendering/RenderWidget.cpp:
2186         (WebCore::RenderWidget::destroy):
2187
2188 2007-10-29  Beth Dakin  <bdakin@apple.com>
2189
2190         Reviewed by Hyatt.
2191
2192         Fix for <rdar://problem/5399614> anchor tag is not rendered without 
2193         text content, works in Firefox with CSS background-image (13237)
2194
2195         This patch allows empty inlines that have box decorations or width 
2196         from border/padding/margin to have line boxes.
2197
2198         * rendering/bidi.cpp:
2199         (WebCore::inlineFlowAllowsLineBox): Convenience function that 
2200         defines when we allow an inline flow to have a line box.
2201         (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
2202         (WebCore::shouldSkipWhitespaceAfterStartObject): New function to 
2203         merge some shared code between list markers and empty inline flows 
2204         that fall at the beginning of a line.
2205         (WebCore::RenderBlock::findNextLineBreak): Make flows more like 
2206         list markers.
2207
2208         One interesting side effect of this bug appeared in our xhtml/svg 
2209         tests that generate parser error tags. The tag we generate was 
2210         actually an empty inline with box decorations. This patch causes 
2211         those inlines to draw now, and the parser errors looked strange. So 
2212         I changed it so that the parsererror tag is display:block. This 
2213         matches Firefox, and I think was the original intent of the tag 
2214         since that causes its red background and border to show up.
2215         * dom/XMLTokenizer.cpp:
2216         (WebCore::createXHTMLParserErrorHeader):
2217
2218 2007-10-29  Dan Bernstein  <mitz@apple.com>
2219
2220         Reviewed by Dave Hyatt.
2221
2222         - fix crashing tests fast/frames/inline-object-inside-frameset.html and
2223           fast/forms/form-hides-table.html
2224
2225         * rendering/RenderBox.cpp:
2226         (WebCore::RenderBox::destroy):
2227         * rendering/RenderWidget.cpp:
2228         (WebCore::RenderWidget::destroy):
2229
2230 2007-10-29  Dan Bernstein  <mitz@apple.com>
2231
2232         Reviewed by Adam Roben.
2233
2234         - fix http://bugs.webkit.org/show_bug.cgi?id=15750
2235           REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
2236
2237         Test: fast/backgrounds/size/zero.html
2238
2239         * platform/graphics/cg/ImageCG.cpp:
2240         (WebCore::Image::drawPattern): Added an ASSERT and an early return
2241         to guard against singular pattern transforms.
2242         * rendering/RenderBox.cpp:
2243         (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
2244         size of 1x1.
2245
2246 2007-10-29  Alp Toker  <alp@atoker.com>
2247
2248         Reviewed by Maciej.
2249
2250         Add GTK+ convenience conversions for various primitives
2251
2252         * WebCore.pro:
2253         * platform/graphics/Color.h:
2254         * platform/graphics/IntPoint.h:
2255         * platform/graphics/IntRect.h:
2256         * platform/graphics/gtk/ColorGtk.cpp: Added.
2257         (WebCore::Color::Color):
2258         * platform/graphics/gtk/IntPointGtk.cpp: Added.
2259         (WebCore::IntPoint::IntPoint):
2260         (WebCore::IntPoint::operator GdkPoint):
2261         * platform/graphics/gtk/IntRectGtk.cpp: Added.
2262         (WebCore::IntRect::IntRect):
2263         (WebCore::IntRect::operator GdkRectangle):
2264
2265 2007-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
2266
2267         Reviewed by Anders.
2268
2269         Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
2270         http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
2271         Beta for Mac)
2272         
2273         I cannot reproduce this hang, but it is likely due to our not limiting
2274         WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
2275         unknown MIME type. The embed tag on the page is missing a type
2276         attribute, so as fallback, we choose to load the Flash plugin based on
2277         the file extension of "swf." However, we do not record this determined
2278         MIME type, and so our quirks cannot be established.
2279         
2280         Changed findPlugin() so that, if it fails to find a plugin for the
2281         given MIME type, it will lookup the MIME type for the file extension -
2282         overwriting its passed MIME type parameter - and search for a plugin
2283         for that MIME type.
2284
2285         * plugins/win/PluginDatabaseWin.cpp:
2286         (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
2287         if the MIME type is empty
2288         (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
2289         pluginForExtension. Returns a String with the MIME type for the file
2290         extension. Also, changed to use case-insensitive compares
2291         (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
2292         for the given extension, overwrite the incoming MIME type parameter
2293         with the MIME type for the file extension, and search for a plugin for
2294         that MIME type. Also, changed the way that the extension is determined
2295         (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
2296         to findPlugin() so that it can be updated if necessary
2297         * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
2298         const String, removed definition of pluginForExtension, added
2299         definition for MIMETypeForExtension
2300         * plugins/win/PluginPackageWin.cpp: 
2301         (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
2302         lowercase for easier compares
2303
2304 2007-10-29  Andrew Wellington  <proton@wiretapped.net>
2305
2306         Not reviewed - build fix
2307
2308         Fix Mac Build.
2309         
2310         WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
2311         in this function
2312
2313         * xml/XSLTProcessor.cpp:
2314         (WebCore::XSLTProcessor::parseErrorFunc):
2315
2316 2007-10-29  Alp Toker  <alp@atoker.com>
2317
2318         Reviewed by Adam Roben.
2319
2320         http://bugs.webkit.org/show_bug.cgi?id=15725
2321         [GTK] WebCore.pro header dependencies are incorrect
2322
2323         Fix header dependencies in the build system
2324
2325         INCLUDEPATH and DEPENDPATH are now up to date.
2326
2327         * WebCore.pro:
2328
2329 2007-10-29  Beth Dakin  <bdakin@apple.com>
2330
2331         Build fix.
2332
2333         * css/CSSParser.cpp:
2334         (WebCore::CSSParser::parseTimingFunctionValue):
2335         * css/CSSStyleSelector.cpp:
2336         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
2337
2338 2007-10-29  David Hyatt  <hyatt@apple.com>
2339
2340         Land the back end for CSS animated property transitions.  I am landing this in stages, so the AnimationController
2341         class is deliberately left empty.
2342
2343         Reviewed by darin/aroben
2344
2345         * WebCore.pro:
2346         * WebCore.vcproj/WebCore.vcproj:
2347         * WebCore.xcodeproj/project.pbxproj:
2348         * css/CSSComputedStyleDeclaration.cpp:
2349         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2350         * css/CSSPropertyNames.in:
2351         * css/CSSTimingFunctionValue.cpp: Added.
2352         (WebCore::CSSTimingFunctionValue::cssText):
2353         * css/CSSTimingFunctionValue.h: Added.
2354         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
2355         (WebCore::CSSTimingFunctionValue::firstPoint):
2356         (WebCore::CSSTimingFunctionValue::secondPoint):
2357         * css/CSSValueKeywords.in:
2358         * history/CachedPage.cpp:
2359         (WebCore::CachedPage::restore):
2360         * page/AnimationController.cpp: Added.
2361         (WebCore::AnimationController::AnimationController):
2362         (WebCore::AnimationController::~AnimationController):
2363         (WebCore::AnimationController::cancelTransitions):
2364         (WebCore::AnimationController::updateTransitions):
2365         (WebCore::AnimationController::suspendAnimations):
2366         (WebCore::AnimationController::resumeAnimations):
2367         * page/AnimationController.h: Added.
2368         * page/Frame.cpp:
2369         (WebCore::Frame::animationController):
2370         (WebCore::Frame::clearTimers):
2371         * page/Frame.h:
2372         * page/FramePrivate.h:
2373         * rendering/RenderBox.cpp:
2374         (WebCore::RenderBox::setStyle):
2375         (WebCore::RenderBox::destroy):
2376         * rendering/RenderObject.cpp:
2377         (WebCore::RenderObject::animationController):
2378         * rendering/RenderObject.h:
2379         * rendering/RenderStyle.cpp:
2380         (WebCore::Transition::Transition):
2381         (WebCore::Transition::~Transition):
2382         (WebCore::Transition::operator=):
2383         (WebCore::Transition::operator==):
2384         (WebCore::Transition::fillUnsetProperties):
2385         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2386         (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
2387         (WebCore::StyleRareNonInheritedData::operator==):
2388         (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
2389         (WebCore::RenderStyle::diff):
2390         (WebCore::RenderStyle::adjustTransitions):
2391         (WebCore::RenderStyle::accessTransitions):
2392         * rendering/RenderStyle.h:
2393         (WebCore::BackgroundLayer::next):
2394         (WebCore::):
2395         (WebCore::TimingFunction::TimingFunction):
2396         (WebCore::TimingFunction::operator==):
2397         (WebCore::Transition::next):
2398         (WebCore::Transition::isTransitionDurationSet):
2399         (WebCore::Transition::isTransitionRepeatCountSet):
2400         (WebCore::Transition::isTransitionTimingFunctionSet):
2401         (WebCore::Transition::isTransitionPropertySet):
2402         (WebCore::Transition::isEmpty):
2403         (WebCore::Transition::clearTransitionDuration):
2404         (WebCore::Transition::clearTransitionRepeatCount):
2405         (WebCore::Transition::clearTransitionTimingFunction):
2406         (WebCore::Transition::clearTransitionProperty):
2407         (WebCore::Transition::transitionDuration):
2408         (WebCore::Transition::transitionRepeatCount):
2409         (WebCore::Transition::transitionTimingFunction):
2410         (WebCore::Transition::transitionProperty):
2411         (WebCore::Transition::setTransitionDuration):
2412         (WebCore::Transition::setTransitionRepeatCount):
2413         (WebCore::Transition::setTransitionTimingFunction):
2414         (WebCore::Transition::setTransitionProperty):
2415         (WebCore::Transition::setNext):
2416         (WebCore::Transition::operator!=):
2417         (WebCore::RenderStyle::transitions):
2418         (WebCore::RenderStyle::clearTransitions):
2419         (WebCore::RenderStyle::inheritTransitions):
2420         (WebCore::RenderStyle::initialTransitionDuration):
2421         (WebCore::RenderStyle::initialTransitionRepeatCount):
2422         (WebCore::RenderStyle::initialTransitionTimingFunction):
2423         (WebCore::RenderStyle::initialTransitionProperty):
2424         * rendering/RenderWidget.cpp:
2425         (WebCore::RenderWidget::destroy):
2426
2427 2007-10-29  Alexey Proskuryakov  <ap@webkit.org>
2428
2429         Reviewed by Darin.
2430
2431         http://bugs.webkit.org/show_bug.cgi?id=6040
2432         XSLT does not report errors to the user
2433
2434         Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
2435         Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
2436         output. Got rid of DeprecatedString in XSLTProcessor.
2437
2438         * dom/Document.cpp:
2439         (WebCore::Document::applyXSLTransform):
2440         * xml/XSLStyleSheet.cpp:
2441         (WebCore::XSLStyleSheet::parseString):
2442         * xml/XSLTProcessor.cpp:
2443         (WebCore::XSLTProcessor::parseErrorFunc):
2444         (WebCore::docLoaderFunc):
2445         (WebCore::setXSLTLoadCallBack):
2446         (WebCore::writeToString):
2447         (WebCore::saveResultToString):
2448         (WebCore::transformTextStringToXHTMLDocumentString):
2449         (WebCore::xsltParamArrayFromParameterMap):
2450         (WebCore::freeXsltParamArray):
2451         (WebCore::XSLTProcessor::createDocumentFromSource):
2452         (WebCore::createFragmentFromSource):
2453         (WebCore::xsltStylesheetPointer):
2454         (WebCore::xmlDocPtrFromNode):
2455         (WebCore::resultMIMEType):
2456         (WebCore::XSLTProcessor::transformToString):
2457         (WebCore::XSLTProcessor::transformToDocument):
2458         (WebCore::XSLTProcessor::transformToFragment):
2459         * xml/XSLTProcessor.h:
2460         (WebCore::XSLTProcessor::setXSLStylesheet):
2461         (WebCore::XSLTProcessor::importStylesheet):
2462         (WebCore::XSLTProcessor::xslStylesheet):
2463
2464 2007-10-29  Dan Bernstein  <mitz@apple.com>
2465
2466         Reviewed by John Sullivan.
2467
2468         - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
2469
2470         Test: fast/repaint/layout-state-only-positioned.html
2471
2472         * rendering/RenderBlock.cpp:
2473         (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
2474         before updating scroll info, which possibly repaints us.
2475
2476 2007-10-29  David Kilzer  <ddkilzer@webkit.org>
2477
2478         REGRESSION (r17701): Favicons should be viewable as image documents
2479         <http://bugs.webkit.org/show_bug.cgi?id=15640>
2480
2481         Reviewed by Darin.
2482
2483         On Tiger and Leopard, the image/x-icon MIME type is not returned from
2484         CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
2485         the icon to be downloaded instead being displayed in an image document.
2486
2487         Test: fast/images/favicon-as-image.html
2488
2489         * platform/MIMETypeRegistry.cpp:
2490         (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
2491         supportedImageMIMETypes and supportedImageResourceMIMETypes.  Also fixed
2492         comment about the image/bmp MIME type since it applies to both Tiger and
2493         Leopard.
2494
2495 2007-10-29  Maciej Stachowiak  <mjs@apple.com>
2496
2497         Reviewed by Mark.
2498
2499         - fixed assertion failures detected by the new assertions
2500
2501         * bindings/objc/DOMRGBColor.mm:
2502         (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]
2503         because it's not a pointer and shouldn't be in the normal wrapper cache.
2504         * dom/Document.cpp:
2505         (WebCore::Document::addImageMap): Don't access hashmap if name is null.
2506         (WebCore::Document::removeImageMap): ditto
2507         * dom/StyledElement.cpp:
2508         (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class
2509         when the class attribute is empty.
2510         * platform/TextCodecICU.cpp:
2511         (WebCore::gbkCallbackEscape): Don't look up 0 code points.
2512
2513 2007-10-28  Alexey Proskuryakov  <ap@webkit.org>
2514
2515         Reviewed by Darin.
2516
2517         http://bugs.webkit.org/show_bug.cgi?id=10734
2518         Made HTMLOptionElement.index read-only, matching IE and DOM standard.
2519
2520         Test: fast/dom/HTMLOptionElement/set-option-index-text.html
2521
2522         * html/HTMLOptionElement.idl: Marked index as readonly.
2523
2524         * html/HTMLOptionElement.cpp:
2525         * html/HTMLOptionElement.h:
2526         Removed setIndex().
2527
2528 2007-10-28  Eric Seidel  <eric@webkit.org>
2529
2530         Reviewed by darin.
2531
2532         Fix leaks on TOT and prevent Path code from logging to console so frequently
2533
2534         * platform/graphics/svg/SVGResourceFilter.h:
2535         (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData):
2536         (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
2537         * platform/graphics/svg/cg/CgSupport.cpp:
2538         (WebCore::strokeBoundingBox):
2539         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
2540         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
2541
2542 2007-10-28  Mark Rowe  <mrowe@apple.com>
2543
2544         Reviewed by Maciej.
2545
2546         Replace uses of isNaN and isInf with isnan and isinf.
2547
2548         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2549         (WebCore::JSHTMLOptionsCollection::setLength):
2550
2551 2007-10-28  Maciej Stachowiak  <mjs@apple.com>
2552
2553         Reviewed by Mark.
2554
2555         - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad
2556         http://bugs.webkit.org/show_bug.cgi?id=15731
2557
2558         * bindings/js/kjs_window.cpp:
2559         (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys.
2560         (KJS::Window::clearTimeout): ditto
2561         * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.
2562
2563 2007-10-28  Kevin Ollivier  <kevino@theolliviers.com>
2564
2565         wx port defines for graphics and network layers.
2566
2567         Reviewed by Darin Adler.
2568
2569         * platform/graphics/AffineTransform.h:
2570         * platform/graphics/BitmapImage.h:
2571         * platform/graphics/Color.h:
2572         * platform/graphics/FloatRect.h:
2573         * platform/graphics/GraphicsContext.h:
2574         * platform/graphics/ImageSource.h:
2575         * platform/graphics/IntPoint.h:
2576         * platform/graphics/IntRect.h:
2577         * platform/graphics/Path.h:
2578         * platform/graphics/Pen.h:
2579         * platform/network/ResourceHandle.h:
2580
2581
2582 2007-10-28  Alp Toker  <alp@atoker.com>
2583
2584         Reviewed by Anders Carlsson.
2585
2586         http://bugs.webkit.org/show_bug.cgi?id=14124
2587         [CURL] Support data URLs
2588
2589         Add data URL support (both Base64 and percent-encoded formats).
2590
2591         Inspired by code from the Qt port.
2592
2593         * platform/Base64.cpp:
2594         (WebCore::base64Decode):
2595         * platform/Base64.h:
2596         * platform/network/curl/ResourceHandleManager.cpp:
2597         (WebCore::ResourceHandleManager::startScheduledJobs):
2598         (WebCore::parseDataUrl):
2599
2600 2007-10-28  Alp Toker  <alp@atoker.com>
2601
2602         Reviewed by Adam Roben.
2603
2604         http://bugs.webkit.org/show_bug.cgi?id=15701
2605         The curl http backend does not deal properly with redirects
2606
2607         Implement http redirect support.
2608
2609         * platform/network/curl/ResourceHandleManager.cpp:
2610         (WebCore::headerCallback):
2611
2612 2007-10-28  Kevin Ollivier  <kevino@theolliviers.com>
2613
2614         Define types and accessors needed for wx implementation
2615         of platform classes. Also, turn off DisallowCTypes.h because
2616         disallowed methods appear in wx headers.
2617
2618         Reviewed by Adam Roben.
2619
2620         * config.h:
2621         * platform/ContextMenuItem.h:
2622         * platform/Cursor.h:
2623         * platform/DeprecatedString.h:
2624         * platform/DragData.h:
2625         * platform/DragImage.h:
2626         * platform/FontData.h:
2627         (WebCore::FontData::getWxFont):
2628         * platform/GlyphBuffer.h:
2629         (WebCore::GlyphBuffer::glyphAt):
2630         (WebCore::GlyphBuffer::advanceAt):
2631         (WebCore::GlyphBuffer::add):
2632         * platform/PlatformKeyboardEvent.h:
2633         (WebCore::PlatformKeyboardEvent::isWxCharEvent):
2634         * platform/PlatformMenuDescription.h:
2635         * platform/PlatformMouseEvent.h:
2636         * platform/PlatformString.h:
2637         * platform/PlatformWheelEvent.h:
2638         * platform/ScrollView.h:
2639         * platform/Widget.h:
2640         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2641         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2642         * platform/image-decoders/gif/GIFImageReader.cpp:
2643         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2644         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2645         * platform/image-decoders/png/PNGImageDecoder.cpp:
2646         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2647
2648 2007-10-28  Mark Rowe  <mrowe@apple.com>
2649
2650         We don't include "config.h" in headers.
2651
2652         * dom/XMLTokenizer.h:
2653         * platform/graphics/svg/SVGResourceFilter.h:
2654         * platform/image-decoders/ImageDecoder.h:
2655         * platform/wx/FontPlatformData.h:
2656
2657 2007-10-28  Darin Adler  <darin@apple.com>
2658
2659         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
2660         We don't include "config.h" in headers. Hope this desn't break
2661         the non-SVG build again.
2662
2663 2007-10-28  Eric Seidel  <eric@webkit.org>
2664
2665         Build fix for non-SVG build, no review.
2666
2667         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
2668         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:
2669
2670 2007-10-28  Eric Seidel  <eric@webkit.org>
2671
2672         Reviewed by Oliver.
2673
2674         Push SVGResourceFilter platform specific data down into m_platformData
2675         in preparation for implementing a non-mac filter solution.
2676         
2677         Also update a very old email address in copyright headers
2678
2679         * WebCore.xcodeproj/project.pbxproj:
2680         * platform/graphics/FloatPoint3D.cpp:
2681         (WebCore::FloatPoint3D::FloatPoint3D):
2682         * platform/graphics/FloatPoint3D.h:
2683         * platform/graphics/svg/SVGResourceFilter.cpp:
2684         (WebCore::SVGResourceFilter::SVGResourceFilter):
2685         * platform/graphics/svg/SVGResourceFilter.h:
2686         (WebCore::SVGResourceFilter::platformData):
2687         (WebCore::SVGResourceFilter::effects):
2688         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
2689         (WebCore::SVGResourceFilter::createPlatformData):l
2690         (WebCore::SVGResourceFilter::prepareFilter):
2691         (WebCore::SVGResourceFilter::applyFilter):
2692         * platform/graphics/svg/filters/SVGDistantLightSource.h:
2693         * platform/graphics/svg/filters/SVGFEBlend.cpp:
2694         * platform/graphics/svg/filters/SVGFEBlend.h:
2695         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
2696         * platform/graphics/svg/filters/SVGFEColorMatrix.h:
2697         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
2698         * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
2699         * platform/graphics/svg/filters/SVGFEComposite.cpp:
2700         * platform/graphics/svg/filters/SVGFEComposite.h:
2701         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
2702         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
2703         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
2704         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
2705         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
2706         * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
2707         * platform/graphics/svg/filters/SVGFEFlood.cpp:
2708         * platform/graphics/svg/filters/SVGFEFlood.h:
2709         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
2710         * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
2711         * platform/graphics/svg/filters/SVGFEImage.cpp:
2712         * platform/graphics/svg/filters/SVGFEImage.h:
2713         * platform/graphics/svg/filters/SVGFEMerge.cpp:
2714         * platform/graphics/svg/filters/SVGFEMerge.h:
2715         * platform/graphics/svg/filters/SVGFEMorphology.cpp:
2716         * platform/graphics/svg/filters/SVGFEMorphology.h:
2717         * platform/graphics/svg/filters/SVGFEOffset.cpp:
2718         * platform/graphics/svg/filters/SVGFEOffset.h:
2719         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
2720         * platform/graphics/svg/filters/SVGFESpecularLighting.h:
2721         * platform/graphics/svg/filters/SVGFETile.h:
2722         * platform/graphics/svg/filters/SVGFETurbulence.cpp:
2723         * platform/graphics/svg/filters/SVGFETurbulence.h:
2724         * platform/graphics/svg/filters/SVGFilterEffect.cpp:
2725         * platform/graphics/svg/filters/SVGFilterEffect.h:
2726         * platform/graphics/svg/filters/SVGLightSource.cpp:
2727         * platform/graphics/svg/filters/SVGLightSource.h:
2728         * platform/graphics/svg/filters/SVGPointLightSource.h:
2729         * platform/graphics/svg/filters/SVGSpotLightSource.h:
2730         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
2731         (WebCore::SVGFEBlend::getCIFilter):
2732         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
2733         (WebCore::SVGFEColorMatrix::getCIFilter):
2734         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
2735         (WebCore::SVGFEComponentTransfer::getCIFilter):
2736         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
2737         (WebCore::SVGFEComposite::getCIFilter):
2738         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
2739         (WebCore::SVGFEDiffuseLighting::getCIFilter):
2740         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
2741         (WebCore::SVGFEDisplacementMap::getCIFilter):
2742         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
2743         (WebCore::SVGFEFlood::getCIFilter):
2744         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
2745         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
2746         (WebCore::SVGFEImage::getCIFilter):
2747         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
2748         (WebCore::SVGFEMerge::getCIFilter):
2749         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
2750         (WebCore::SVGFESpecularLighting::getCIFilter):
2751         * platform/graphics/svg/mac: Added.
2752         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
2753         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added.
2754         (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
2755         (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac):
2756         (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack):
2757         (WebCore::alphaImageForImage):
2758         (WebCore::SVGResourceFilterPlatformDataMac::imageForName):
2759         (WebCore::SVGResourceFilterPlatformDataMac::setImageForName):
2760         (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage):
2761         (WebCore::SVGResourceFilterPlatformDataMac::inputImage):
2762
2763 2007-10-28  Alexey Proskuryakov  <ap@webkit.org>
2764
2765         Reviewed by Adam Roben.
2766
2767         http://bugs.webkit.org/show_bug.cgi?id=15217
2768         Plugin complains that xpcom_core.dll missing
2769
2770         * plugins/win/PluginDatabaseWin.cpp:
2771         (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.
2772
2773 2007-10-28  Timothy Hatcher  <timothy@apple.com>
2774
2775         Reviewed by Adam.
2776
2777         Pass the Document's domain to InspectorController:didOpenDatabase. This matches
2778         what the Inspector shows for other resources.
2779
2780         * storage/Database.cpp:
2781         (WebCore::Database::openDatabase):
2782
2783         * dom/Document.h: Remove KURL.h, no longer needed.
2784
2785 2007-10-28  Timothy Hatcher  <timothy@apple.com>
2786
2787         Reviewed by Adam.
2788
2789         Bug 15728: Selected Resource background image gradient has banding
2790         http://bugs.webkit.org/show_bug.cgi?id=15728
2791
2792         - Reduced images to 1px wide that are tiled horizontally in CSS.
2793         - Corrected the -webkit-background-size usage to specify auto for the width.
2794
2795         * page/inspector/Images/attachedShadow.png:
2796         * page/inspector/Images/bottomShadow.png:
2797         * page/inspector/Images/darkShadow.png:
2798         * page/inspector/Images/gradient.png:
2799         * page/inspector/Images/gradientHighlight.png:
2800         * page/inspector/Images/gradientHighlightBottom.png:
2801         * page/inspector/Images/sidebarSelection.png:
2802         * page/inspector/Images/sidebarSelectionBlurred.png:
2803         * page/inspector/Images/sidebarSelectionBlurredTall.png:
2804         * page/inspector/Images/sidebarSelectionGray.png:
2805         * page/inspector/Images/sidebarSelectionGrayTall.png:
2806         * page/inspector/Images/sidebarSelectionTall.png:
2807         * page/inspector/inspector.css:
2808
2809 2007-10-27  Timothy Hatcher  <timothy@apple.com>
2810
2811         Reviewed by Adam.
2812
2813         Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
2814         http://bugs.webkit.org/show_bug.cgi?id=15727
2815
2816         Add one window resize listener and call the new resize function on the currentPanel.
2817         Also call the currentPanel's resize function when resizing the sidebar.
2818
2819         * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when
2820           the panel is shown and when resizing the DOM sidebar.
2821         * page/inspector/FontPanel.js: Implement resize.
2822         * page/inspector/NetworkPanel.js: Ditto.
2823         * page/inspector/inspector.js: Add a window resize listener.
2824
2825 2007-10-27  Maciej Stachowiak  <mjs@apple.com>
2826
2827         Reviewed by Oliver.
2828         
2829         - update for HashTable changes
2830
2831         * bindings/js/JSSVGPODTypeWrapper.h:
2832         * dom/Document.h:
2833         * dom/QualifiedName.cpp:
2834         * dom/StyledElement.cpp:
2835         * ksvg2/svg/SVGAnimatedTemplate.h:
2836         * platform/FontCache.cpp:
2837         * platform/StringHash.h:
2838         (WTF::):
2839         * platform/TextEncodingRegistry.cpp:
2840         * platform/graphics/IntSizeHash.h:
2841         (WTF::):
2842         * plugins/win/PluginPackageWin.h:
2843
2844 2007-10-28  Alp Toker  <alp@atoker.com>
2845
2846         Reviewed by Adam Roben.
2847
2848         http://bugs.webkit.org/show_bug.cgi?id=15646
2849         [GTK] caretBlinkFrequency is hard-coded in Frame.cpp
2850
2851         Abstract caretBlinkFrequency to RenderTheme.
2852
2853         * page/Frame.cpp:
2854         (WebCore::Frame::selectionLayoutChanged):
2855         * platform/gtk/RenderThemeGtk.cpp:
2856         (WebCore::RenderThemeGtk::caretShouldBlink):
2857         (WebCore::RenderThemeGtk::caretBlinkFrequency):
2858         * platform/gtk/RenderThemeGtk.h:
2859         * rendering/RenderTheme.h:
2860
2861 2007-10-27  Timothy Hatcher  <timothy@apple.com>
2862
2863         Reviewed by Adam.
2864
2865         Don't print the line number in the Inspector Console if it is Zero.
2866
2867         * page/inspector/ConsolePanel.js:
2868
2869 2007-10-27  Sam Weinig  <sam@webkit.org>
2870
2871         Reviewed by Adam Roben.
2872
2873         Fix http://bugs.webkit.org/show_bug.cgi?id=14953
2874         Implement window.console in WebCore
2875
2876         - Adds a window.console object that has 4 methods (log, info, warn, and error)
2877           that send messages to the Chrome.  This moves functionality that was in the
2878           app down into WebCore.
2879
2880         * DerivedSources.make:
2881         * WebCore.pro:
2882         * WebCore.vcproj/WebCore.vcproj:
2883         * WebCore.xcodeproj/project.pbxproj:
2884         * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute
2885         to mark attributes as [Replacable] which indicates they can 
2886         overridden when set.
2887         * page/Chrome.cpp:
2888         (WebCore::Chrome::addMessageToConsole): Allow all messages to go
2889         up to the ChromeClient.
2890         * page/Console.cpp: Added.
2891         (WebCore::Console::Console):
2892         (WebCore::Console::disconnectFrame):
2893         (WebCore::Console::error):
2894         (WebCore::Console::info):
2895         (WebCore::Console::log):
2896         (WebCore::Console::warn):
2897         * page/Console.h: Added.
2898         * page/Console.idl: Added.
2899         * page/DOMWindow.cpp:
2900         (WebCore::DOMWindow::clear):
2901         (WebCore::DOMWindow::console):
2902         * page/DOMWindow.h:
2903         * page/DOMWindow.idl:
2904
2905 2007-10-27  Eric Seidel  <eric@webkit.org>
2906
2907         Reviewed by aroben.
2908         
2909         Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)
2910
2911         No functional changes, thus no tests.
2912
2913         * ksvg2/svg/SVGFEBlendElement.cpp:
2914         (WebCore::SVGFEBlendElement::filterEffect):
2915         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2916         (WebCore::SVGFEColorMatrixElement::filterEffect):
2917         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2918         (WebCore::SVGFEComponentTransferElement::filterEffect):
2919         * ksvg2/svg/SVGFECompositeElement.cpp:
2920         (WebCore::SVGFECompositeElement::filterEffect):
2921         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2922         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2923         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2924         (WebCore::SVGFEDisplacementMapElement::filterEffect):
2925         * ksvg2/svg/SVGFEFloodElement.cpp:
2926         (WebCore::SVGFEFloodElement::filterEffect):
2927         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2928         (WebCore::SVGFEGaussianBlurElement::filterEffect):
2929         * ksvg2/svg/SVGFEImageElement.cpp:
2930         (WebCore::SVGFEImageElement::filterEffect):
2931         * ksvg2/svg/SVGFEMergeElement.cpp:
2932         (WebCore::SVGFEMergeElement::filterEffect):
2933         * ksvg2/svg/SVGFEOffsetElement.cpp:
2934         (WebCore::SVGFEOffsetElement::filterEffect):
2935         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2936         (WebCore::SVGFESpecularLightingElement::filterEffect):
2937         * ksvg2/svg/SVGFETileElement.cpp:
2938         (WebCore::SVGFETileElement::filterEffect):
2939         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2940         (WebCore::SVGFETurbulenceElement::filterEffect):
2941         * platform/graphics/svg/SVGResourceFilter.h:
2942         * platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
2943         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
2944         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
2945
2946 2007-10-27  Dan Bernstein  <mitz@apple.com>
2947
2948         Reviewed by Darin Adler.
2949
2950         - fix a crash when opening Zenoss server history view
2951           <rdar://problem/5530657>
2952
2953         Test: fast/table/colgroup-relative.html
2954
2955         * rendering/LayoutState.cpp:
2956         (WebCore::LayoutState::LayoutState): Added a hasLayer() check before
2957         accessing layer().
2958
2959 2007-10-27  Julien  <julien.chaffraix@gmail.com>
2960
2961         Reviewed by Alexey.
2962
2963         http://bugs.webkit.org/show_bug.cgi?id=13141
2964         XMLHttpRequest should set readyState to 0 after abort()
2965         
2966         Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html
2967
2968         * xml/XMLHttpRequest.cpp:
2969         (WebCore::XMLHttpRequest::open):
2970         (WebCore::XMLHttpRequest::abort):
2971
2972 2007-10-27  Dan Bernstein  <mitz@apple.com>
2973
2974         Reviewed by Dave Hyatt.
2975
2976         - fix rotated border images by using a temporary subimage containing
2977           only the part we want to tile
2978
2979         Test: fast/borders/border-image-rotate-transform.html
2980
2981         * platform/graphics/cg/ImageCG.cpp:
2982         (WebCore::Image::drawPatternCallback):
2983         (WebCore::Image::drawPattern):
2984
2985 2007-10-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
2986
2987         Reviewed by Alp.
2988
2989         http://bugs.webkit.org/show_bug.cgi?id=15722
2990         [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods
2991
2992         Refactor/enhance GTK RenderTheme
2993
2994         * platform/gtk/RenderThemeGtk.cpp:
2995         (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances
2996         (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported
2997         (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports
2998         (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports
2999         (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton
3000         (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton
3001         (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so
3002         (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs
3003         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
3004         (WebCore::RenderThemeGtk::getThemeData):
3005         * platform/gtk/RenderThemeGtk.h:
3006         (WebCore::RenderThemeGtk::supportsControlTints):
3007
3008 2007-10-27  Alexey Proskuryakov  <ap@webkit.org>
3009
3010         Reviewed by Darin.
3011
3012         http://bugs.webkit.org/show_bug.cgi?id=15555
3013         XMLHttpRequest does not support charset "x-user-defined", which can
3014         facilitate loading of binary data
3015
3016         Test: http/tests/xmlhttprequest/binary-x-user-defined.html
3017
3018         * WebCore.pro:
3019         * WebCore.vcproj/WebCore.vcproj:
3020         * WebCore.xcodeproj/project.pbxproj:
3021         * platform/TextCodecUserDefined.cpp: Added.
3022         (WebCore::TextCodecUserDefined::registerEncodingNames):
3023         (WebCore::newStreamingTextDecoderUserDefined):
3024         (WebCore::TextCodecUserDefined::registerCodecs):
3025         (WebCore::TextCodecUserDefined::decode):
3026         (WebCore::encodeComplexUserDefined):
3027         (WebCore::TextCodecUserDefined::encode):
3028         * platform/TextCodecUserDefined.h: Added.
3029         * platform/TextEncodingRegistry.cpp:
3030         (WebCore::buildBaseTextCodecMaps):
3031
3032 2007-10-27  Alexey Proskuryakov  <ap@webkit.org>
3033
3034         Reviewed by Darin.
3035
3036         http://bugs.webkit.org/show_bug.cgi?id=15467
3037         Setting innerHTML to blank string in application/xhtml+xml mode
3038         throws DOM Exception 7
3039
3040         Test: fast/dom/blank-innerHTML.xhtml
3041
3042         * dom/XMLTokenizer.cpp:
3043         (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
3044
3045 2007-10-26  Sam Weinig  <sam@webkit.org>
3046
3047         Enable dragging the left sidebar using the separator.
3048
3049         Reviewed by Anders (unless Mitz says otherwise).
3050
3051         * page/inspector/DocumentPanel.js:
3052         * page/inspector/inspector.css:
3053         * page/inspector/inspector.html:
3054         * page/inspector/inspector.js:
3055
3056 2007-10-26  Sam Weinig  <sam@webkit.org>
3057
3058         Fix an off by one error when resizing the Inspector find window.
3059
3060         Reviewed by Hyatt.
3061
3062         * page/inspector/inspector.js:
3063
3064 2007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>
3065
3066         Reviewed by Adam.
3067
3068         Fix fallout from r26072, which leads to all plugin streams for local
3069         resources being cancelled
3070
3071         * loader/win/NetscapePlugInStreamLoaderWin.cpp:
3072         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this
3073         is an HTTP response before checking the HTTP response code
3074
3075 2007-10-26  David Hyatt  <hyatt@apple.com>
3076
3077         Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
3078         when only translation changes.
3079
3080         Move the updating of the transform to in between the old repaint and the new repaint.
3081
3082         Reviewed by mitz
3083
3084         fast/repaint/transform-translate.html
3085
3086         * rendering/RenderLayer.cpp:
3087         (WebCore::RenderLayer::updateLayerPositions):
3088
3089 2007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>
3090
3091         Reviewed by Darin.
3092
3093         <rdar://5557379> Crash in Silverlight when opening microsoft.com
3094
3095         The crash is within Silverlight, and the latest version of the plugin
3096         does not exhibit this crash, so just avoid loading this version of the
3097         plugin.
3098
3099         * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and
3100         constants silverlightPluginMinRequiredVersionMSDWORD and
3101         silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from 
3102         the version info of Silverlight 1.0.20926.0, which is a version known
3103         not to exhibit this crash
3104         (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether
3105         this plugin is blacklisted
3106         * plugins/win/PluginDatabaseWin.h:
3107         * plugins/win/PluginPackageWin.cpp:
3108         (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion*
3109         (WebCore::PluginPackageWin::getFileVersion):
3110         (WebCore::PluginPackageWin::storeFileVersion): Read version info for
3111         the plugin, and store the file version
3112         (WebCore::PluginPackageWin::fetchInfo): After determining the name,
3113         description, and file version, determine whether this plug-in is
3114         blacklisted. If so, return false so this plug-in isn't loaded
3115         * plugins/win/PluginPackageWin.h:
3116
3117 2007-10-26  Sam Weinig  <sam@webkit.org>
3118
3119         Reviewed by Adele Peterson.
3120
3121         Fix for <rdar://problem/5421754>
3122         m_frameName member variable in HTMLPlugInElement unnecessary
3123
3124         - Refactor the willRemove() method down into HTMLFrameOwnerElement now that
3125           we no longer need to use the m_frameName variable.
3126
3127         * html/HTMLFrameElementBase.cpp:
3128         * html/HTMLFrameElementBase.h:
3129         * html/HTMLFrameOwnerElement.cpp:
3130         (WebCore::HTMLFrameOwnerElement::willRemove):
3131         * html/HTMLFrameOwnerElement.h:
3132         * html/HTMLPlugInElement.cpp:
3133         * html/HTMLPlugInElement.h:
3134         * loader/FrameLoader.cpp:
3135         (WebCore::FrameLoader::requestObject):
3136
3137 2007-10-26  Adele Peterson  <adele@apple.com>
3138
3139         Export _wkDrawCapsLockIndicator.
3140
3141         * WebCore.base.exp:
3142
3143 2007-10-26  Adele Peterson  <adele@apple.com>
3144
3145         Reviewed by Oliver.
3146
3147         Adding WebKitSystemInterface support for the caps lock indicator
3148
3149         * platform/mac/WebCoreSystemInterface.h:
3150         * platform/mac/WebCoreSystemInterface.mm:
3151
3152 2007-10-26  Tristan O'Tierney  <tristan@apple.com>
3153
3154         Reviewed by Darin Adler.
3155
3156         <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
3157         The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
3158         but failed to account for bounds checking (instead replaced with bounds clipping).  This caused issues
3159         when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
3160         setting window bounds to NaN before an update occurs.
3161
3162         Test: fast/dom/Window/window-resize-nan.html
3163         
3164         * bindings/js/kjs_window.cpp:
3165         (KJS::adjustWindowRect):
3166         Added a new parameter, pendingChanges, which takes pending changes to the window
3167         rect, and if they are valid (not NaN) sets them on window.
3168         
3169         (KJS::WindowFunc::callAsFunction):
3170         Adjusted uses of adjustWindowRect to take new update parameter.
3171
3172 2007-10-26  Sam Weinig  <sam@webkit.org>
3173
3174         Reviewed by Tim Hatcher.
3175
3176         Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
3177         Cannot copy text of errors from Web Inspector from Console view
3178
3179         * page/inspector/inspector.css: add -webkit-user-select: text for console messages.
3180
3181 2007-10-26  Sam Weinig  <sam@webkit.org>
3182
3183         Reviewed by Tim Hatcher.
3184
3185         Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
3186         Web Inspector find window is not resizable
3187
3188         - Adds ability to resize the find window.
3189         - Fixes bug that messed up the find window when resizing the left sidebar. 
3190
3191         * page/inspector/inspector.css:
3192         * page/inspector/inspector.html:
3193         * page/inspector/inspector.js:
3194
3195 2007-10-26  Ada Chan  <adachan@apple.com>
3196
3197         Update m_current index after we've removed an item:
3198         - if item removed is before m_current, decrement m_current
3199         - if the current item is removed, make sure m_current is within bounds.
3200
3201         Reviewed by Darin.
3202
3203         * history/BackForwardList.cpp:
3204         (WebCore::BackForwardList::removeItem):
3205
3206 2007-10-26  Mark Rowe  <mrowe@apple.com>
3207
3208         Debug build fix.
3209
3210         * bindings/js/kjs_proxy.cpp:
3211         (WebCore::KJSProxy::~KJSProxy):
3212
3213 2007-10-26  Maciej Stachowiak  <mjs@apple.com>
3214
3215         No review, build fix.
3216
3217         * bindings/objc/WebScriptObject.mm:
3218         (+[WebScriptObject throwException:]):
3219         (-[WebScriptObject setException:]):
3220
3221 2007-10-26  Maciej Stachowiak  <mjs@apple.com>
3222
3223         Rubber Stamped by Mark.
3224
3225         - fix build
3226
3227         * bridge/mac/WebCoreScriptDebugger.mm:
3228         (-[WebCoreScriptCallFrame scopeChain]):
3229         (-[WebCoreScriptCallFrame functionName]):
3230         (-[WebCoreScriptCallFrame evaluateWebScript:]):
3231
3232 2007-10-26  Maciej Stachowiak  <mjs@apple.com>
3233
3234         Reviewed by Oliver.
3235
3236         - update for JavaScriptCore header changes
3237
3238         * bindings/objc/WebScriptObject.mm:
3239         * bridge/mac/WebCoreScriptDebugger.mm:
3240
3241 2007-10-26  Alp Toker  <alp@atoker.com>
3242
3243         Reviewed by Mark Rowe.
3244
3245         http://bugs.webkit.org/show_bug.cgi?id=15693
3246         [GTK] Paging does not work when widget is added to a GtkScrolledWindow
3247
3248         Eliminate MagicGtkScrollConstant in favour of the same calculations as
3249         GtkTextView for step and page increments. This also makes paging work,
3250         as the page increment was previously always 0.
3251
3252         * platform/gtk/ScrollViewGtk.cpp:
3253         (WebCore::ScrollView::updateScrollbars):
3254
3255 2007-10-25  Dan Bernstein  <mitz@apple.com>
3256
3257         Reviewed by Dave Hyatt and Sam Weinig.
3258
3259         Build fix
3260
3261         * platform/graphics/cg/ImageCG.cpp:
3262         (WebCore::Image::drawPattern):
3263
3264 2007-10-23  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
3265
3266         Reviewed by Alp.
3267
3268         http://bugs.webkit.org/show_bug.cgi?id=15656
3269         [GTK] Implement WebCore::Widget::isEnabled/setEnabled
3270
3271         * platform/gtk/WidgetGtk.cpp:
3272         (WebCore::Widget::isEnabled):
3273         (WebCore::Widget::setEnabled): Implemented.
3274
3275 2007-10-25  David Hyatt  <hyatt@apple.com>
3276
3277         Fix for bug 15672, background images don't tile properly inside transforms.  This patch fixes background
3278         tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.
3279
3280         Reviewed by aroben and mitz
3281
3282         * WebCore.base.exp:
3283         * platform/graphics/Image.cpp:
3284         (WebCore::Image::setData):
3285         * platform/graphics/cg/ImageCG.cpp:
3286         (WebCore::ImageInfo::ImageInfo):
3287         (WebCore::Image::drawPatternCallback):
3288         (WebCore::Image::drawPattern):
3289         * platform/graphics/mac/GraphicsContextMac.mm:
3290         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3291         * platform/mac/WebCoreSystemInterface.h:
3292         * platform/mac/WebCoreSystemInterface.mm:
3293
3294 2007-10-25  Brady Eidson  <beidson@apple.com>
3295
3296         Blind build fix attempt
3297
3298         * WebCore.pro:
3299
3300 2007-10-25  Brady Eidson  <beidson@apple.com>
3301
3302         Reviewed by Anders and Sam
3303
3304         Bulk rename of platform/sql/SQL* to platform/sql/SQLite*
3305         
3306         This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
3307         tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in 
3308         the HTML5 database API which we are adopting.
3309
3310         * WebCore.vcproj/WebCore.vcproj:
3311         * WebCore.xcodeproj/project.pbxproj:
3312         * loader/icon/IconDatabase.cpp:
3313         (WebCore::IconDatabase::iconDatabaseSyncThread):
3314         (WebCore::databaseVersionNumber):
3315         (WebCore::isValidDatabase):
3316         (WebCore::createDatabaseTables):
3317         (WebCore::IconDatabase::performOpenInitialization):
3318         (WebCore::IconDatabase::checkIntegrity):
3319         (WebCore::IconDatabase::performURLImport):
3320         (WebCore::IconDatabase::writeToDatabase):
3321         (WebCore::IconDatabase::pruneUnretainedIcons):
3322         (WebCore::IconDatabase::checkForDanglingPageURLs):
3323         (WebCore::IconDatabase::imported):
3324         (WebCore::IconDatabase::setImported):
3325         (WebCore::readySQLiteStatement):
3326         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
3327         (WebCore::IconDatabase::removePageURLFromSQLDatabase):
3328         (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
3329         (WebCore::IconDatabase::addIconURLToSQLDatabase):
3330         (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
3331         (WebCore::IconDatabase::removeIconFromSQLDatabase):
3332         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
3333         * loader/icon/IconDatabase.h:
3334         * loader/icon/IconRecord.cpp:
3335         * platform/sql/SQLAuthorizer.cpp: Removed.
3336         * platform/sql/SQLAuthorizer.h: Removed.
3337         * platform/sql/SQLDatabase.cpp: Removed.
3338         * platform/sql/SQLDatabase.h: Removed.
3339         * platform/sql/SQLStatement.cpp: Removed.
3340         * platform/sql/SQLStatement.h: Removed.
3341         * platform/sql/SQLTransaction.cpp: Removed.
3342         * platform/sql/SQLTransaction.h: Removed.
3343         * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp.
3344         * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h.
3345         (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer):
3346         * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp.
3347         (WebCore::SQLiteDatabase::SQLiteDatabase):
3348         (WebCore::SQLiteDatabase::~SQLiteDatabase):
3349         (WebCore::SQLiteDatabase::open):
3350         (WebCore::SQLiteDatabase::close):
3351         (WebCore::SQLiteDatabase::setFullsync):
3352         (WebCore::SQLiteDatabase::setSynchronous):
3353         (WebCore::SQLiteDatabase::setBusyTimeout):
3354         (WebCore::SQLiteDatabase::setBusyHandler):
3355         (WebCore::SQLiteDatabase::executeCommand):
3356         (WebCore::SQLiteDatabase::returnsAtLeastOneResult):
3357         (WebCore::SQLiteDatabase::tableExists):
3358         (WebCore::SQLiteDatabase::clearAllTables):
3359         (WebCore::SQLiteDatabase::runVacuumCommand):
3360         (WebCore::SQLiteDatabase::lastInsertRowID):
3361         (WebCore::SQLiteDatabase::lastChanges):
3362         (WebCore::SQLiteDatabase::lastError):
3363         (WebCore::SQLiteDatabase::lastErrorMsg):
3364         (WebCore::SQLiteDatabase::authorizerFunction):
3365         (WebCore::SQLiteDatabase::setAuthorizer):
3366         (WebCore::SQLiteDatabase::lock):
3367         (WebCore::SQLiteDatabase::unlock):
3368         * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h.
3369         * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp.
3370         (WebCore::SQLiteStatement::SQLiteStatement):
3371         (WebCore::SQLiteStatement::~SQLiteStatement):
3372         (WebCore::SQLiteStatement::prepare):
3373         * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h.
3374         (WebCore::SQLiteStatement::database):
3375         * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp.
3376         (WebCore::SQLiteTransaction::SQLiteTransaction):
3377         (WebCore::SQLiteTransaction::~SQLiteTransaction):
3378         (WebCore::SQLiteTransaction::begin):
3379         (WebCore::SQLiteTransaction::commit):
3380         (WebCore::SQLiteTransaction::rollback):
3381         * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h.
3382         * storage/Database.cpp:
3383         (WebCore::retrieveTextResultFromDatabase):
3384         (WebCore::setTextValueInDatabase):
3385         (WebCore::Database::performExecuteSql):
3386         (WebCore::Database::performGetTableNames):
3387         (WebCore::Database::executeSql):
3388         * storage/Database.h:
3389         * storage/DatabaseAuthorizer.h:
3390         * storage/DatabaseTracker.cpp:
3391         (WebCore::DatabaseTracker::fullPathForDatabase):
3392         (WebCore::DatabaseTracker::populateOrigins):
3393         (WebCore::DatabaseTracker::databaseNamesForOrigin):
3394         (WebCore::DatabaseTracker::addDatabase):
3395         * storage/DatabaseTracker.h:
3396
3397 2007-10-25  Alexey Proskuryakov  <ap@webkit.org>
3398
3399         Reviewed by Darin.
3400
3401         http://bugs.webkit.org/show_bug.cgi?id=15650
3402         XML attribute nodes are not importable
3403
3404         Tests: fast/dom/import-attribute-node.html
3405                fast/dom/import-document-fragment.html
3406
3407         * dom/Document.cpp:
3408         (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.
3409
3410 2007-10-25  Dan Bernstein  <mitz@apple.com>
3411
3412         Reviewed by Dave Hyatt.
3413
3414         - fix http://bugs.webkit.org/show_bug.cgi?id=15362
3415           <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget
3416
3417         Test: fast/dynamic/insert-before-table-part-in-continuation.html
3418
3419         * rendering/RenderFlow.cpp:
3420         (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's
3421         parent is an anonymous table part, let the table figure out where to
3422         insert the new child.
3423
3424 2007-10-25  Alp Toker  <alp@atoker.com>
3425
3426         Reviewed by Brady.
3427
3428         http://bugs.webkit.org/show_bug.cgi?id=15686
3429         GtkLauncher aborts on launch due to uninitialized threading subsystem
3430
3431         Re-enable database support in the GTK+ port, with a fix.
3432
3433         * WebCore.pro:
3434
3435 2007-10-25  Jon Honeycutt  <jhoneycutt@apple.com>
3436
3437         Reviewed by Steve.
3438
3439         <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
3440         java page
3441
3442         Previous patch erroneously compared a path and a
3443         path-including-filename. This corrects that. It also caches the result
3444         of safariPluginsPath() and uses shell API funcs for determining filename
3445         and parent directory from a full path.
3446
3447         * ChangeLog:
3448         * plugins/win/PluginDatabaseWin.cpp:
3449         (WebCore::safariPluginsPath): Cache return value. Use API functions to
3450         build the path
3451         (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
3452         parent directory, not full path
3453         (WebCore::PluginDatabaseWin::pluginForExtension): Same
3454         * plugins/win/PluginPackageWin.cpp:
3455         (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
3456         * plugins/win/PluginPackageWin.h:
3457         (WebCore::PluginPackageWin::parentDirectory):
3458         * plugins/win/PluginStreamWin.cpp:
3459         (WebCore::PluginStreamWin::didReceiveData):
3460
3461 2007-10-25  Alp Toker  <alp@atoker.com>
3462
3463         Unreviewed fix to make the GTK+ port run.
3464
3465         http://bugs.webkit.org/show_bug.cgi?id=15686
3466         GtkLauncher aborts on launch due to uninitialized threading subsystem
3467
3468         Disable database support until #15686 is fixed.
3469
3470         * WebCore.pro:
3471
3472 2007-10-25  Simon Hausmann  <hausmann@kde.org>
3473
3474         Reviewed by Lars.
3475
3476         Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.
3477
3478         * platform/qt/TextBreakIteratorQt.cpp:
3479         (WebCore::wordBreakIterator):
3480         (WebCore::characterBreakIterator):
3481         (WebCore::lineBreakIterator):
3482         (WebCore::sentenceBreakIterator):
3483
3484 2007-10-25  Holger Freyther  <zecke@selfish.org>
3485
3486         Reviewed by Simon Hausmann <hausmann@kde.org>.
3487
3488         * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
3489         * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
3490         * This is causing some regressions...
3491         
3492
3493         * dom/XMLTokenizer.cpp:
3494         (WebCore::XMLTokenizer::XMLTokenizer):
3495         (WebCore::XMLTokenizer::write):
3496         (WebCore::XMLTokenizer::end):
3497         * dom/XMLTokenizer.h:
3498
3499 2007-10-25  Holger Freyther  <zecke@selfish.org>
3500
3501         Reviewed by Simon Hausmann <hausmann@kde.org>.
3502
3503         * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
3504         * Use the error message from Qt. It might or might not be translated.
3505         
3506
3507         WARNING: NO TEST CASES ADDED OR CHANGED
3508
3509         * platform/network/qt/ResourceHandleQt.cpp:
3510         (WebCore::WebCoreSynchronousLoader::didFail):
3511
3512 2007-10-25  Holger Freyther  <zecke@selfish.org>
3513
3514         Reviewed by Simon Hausmann <hausmann@kde.org>.
3515
3516         * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
3517         * This should be thread-safe besides QWebNetworkJob::{ref,deref}
3518         
3519
3520         * platform/network/qt/ResourceHandleQt.cpp:
3521         (WebCore::ResourceHandle::loadResourceSynchronously):
3522
3523 2007-10-25  Alp Toker  <alp@atoker.com>
3524
3525         Reviewed by Mark Rowe.
3526
3527         Add support for list box theme colors and styled menu list buttons.
3528
3529         Remove obsolete FIXMEs.
3530
3531         * platform/gtk/RenderThemeGtk.cpp:
3532         (WebCore::RenderThemeGtk::RenderThemeGtk):
3533         (WebCore::RenderThemeGtk::paintCheckbox):
3534         (WebCore::RenderThemeGtk::paintRadio):
3535         (WebCore::RenderThemeGtk::paintButton):
3536         (WebCore::RenderThemeGtk::adjustMenuListStyle):
3537         (WebCore::RenderThemeGtk::paintMenuList):
3538         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
3539         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
3540         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
3541         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
3542         (WebCore::RenderThemeGtk::gtkTreeView):
3543         * platform/gtk/RenderThemeGtk.h:
3544
3545 2007-10-25  Eric Seidel  <eric@webkit.org>
3546
3547         Reviewed by Geoff.
3548
3549         * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/
3550
3551 2007-10-24  Eric Seidel  <eric@webkit.org>
3552
3553         Reviewed by Maciej.
3554         
3555         Make Window subclass from JSGlobalObject (for a .5% win in Sunspider)
3556         http://bugs.webkit.org/show_bug.cgi?id=15681
3557
3558         No test cases necessary, no functional changes.
3559
3560         * WebCore.xcodeproj/project.pbxproj:
3561         * bindings/js/kjs_binding.cpp:
3562         (KJS::ScriptInterpreter::ScriptInterpreter):
3563         * bindings/js/kjs_binding.h:
3564         * bindings/js/kjs_proxy.cpp:
3565         (WebCore::KJSProxy::initScriptIfNeeded):
3566         * bindings/js/kjs_window.cpp:
3567         (KJS::Window::Window):
3568         * bindings/js/kjs_window.h:
3569         * bindings/objc/WebScriptObject.mm:
3570         (_didExecute):
3571         * bridge/mac/WebCoreScriptDebugger.mm:
3572
3573 2007-10-24  Adam Roben  <aroben@apple.com>
3574
3575         Add font database initialization code to WebCore
3576
3577         Reviewed by Ada.
3578
3579         * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
3580         * platform/win/FontDatabase.cpp: Added.
3581         (WebCore::systemFontsDirectory):
3582         (WebCore::fontsPlistPath):
3583         (WebCore::systemHasFontsNewerThanFontsPlist):
3584         (WebCore::readFontPlist):
3585         (WebCore::populateFontDatabaseFromPlist):
3586         (WebCore::populateFontDatabaseFromFileSystem):
3587         (WebCore::writeFontDatabaseToPlist):
3588         (WebCore::populateFontDatabase): This is the only function callable
3589         from outside this file. It populates the font database once, either
3590         from the fonts plist, or from the filesystem (and then saves a new
3591         fonts plist).
3592         * platform/win/FontDatabase.h: Added.
3593
3594 2007-10-24  Justin Garcia  <justin.garcia@apple.com>
3595
3596         Reviewed by Darin Adler.
3597
3598         Correcting the fix for:
3599         <rdar://problem/5544856> 
3600         REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
3601         
3602         Made removal of the previous composition part of the current Undo step in the 
3603         case where the new composition is the empty string, too.
3604
3605         * editing/Editor.cpp:
3606         (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection,
3607         which either has the currently open typing command delete the current selection, or
3608         opens a new typing command (of type DeleteSelection) if one is not already open.
3609         (WebCore::Editor::setComposition): Ditto.
3610         * editing/TypingCommand.cpp:
3611         (WebCore::TypingCommand::deleteSelection): Added.
3612         (WebCore::TypingCommand::doApply): Handle DeleteSelection.
3613         (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection
3614         is called.
3615         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
3616         (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
3617         * editing/TypingCommand.h:
3618
3619 2007-10-24  Sam Weinig  <sam@webkit.org>
3620
3621         Buil