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