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