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