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