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