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