62bfd82a01835368a53e8059abd4c9e62217074a
[WebKit-https.git] / WebCore / ChangeLog
1 2008-12-11  Cameron Zwarich  <zwarich@apple.com>
2
3         Reviewed by Dave Hyatt.
4
5         Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
6         <https://bugs.webkit.org/show_bug.cgi?id=21256>
7         <rdar://problem/6362978>
8
9         The ScrollView refactoring in r36906 caused the ScrollView and the
10         platform widget to disagree about whether optimizing scrolling via
11         blitting is allowed. The easiest way to fix this is to make ScrollView
12         simply ask the platform widget whether this is safe on platforms that
13         are affected.
14
15         It is not possible to write a layout test for this bug because it
16         involves the back/forward cache.
17
18         * platform/ScrollView.cpp:
19         (WebCore::ScrollView::ScrollView):
20         (WebCore::ScrollView::setCanBlitOnScroll):
21         (WebCore::ScrollView::canBlitOnScroll):
22         (WebCore::ScrollView::platformSetCanBlitOnScroll):
23         (WebCore::ScrollView::platformCanBlitOnScroll):
24         * platform/ScrollView.h:
25         * platform/mac/ScrollViewMac.mm:
26         (WebCore::ScrollView::platformSetCanBlitOnScroll):
27         (WebCore::ScrollView::platformCanBlitOnScroll):
28         * platform/wx/ScrollViewWx.cpp:
29         (WebCore::ScrollView::platformSetCanBlitOnScroll):
30         (WebCore::ScrollView::platformCanBlitOnScroll):
31
32 2008-12-11  Brent Fulgham  <bfulgham@gmail.com>
33
34         Reviewed by Adam Roben.
35
36         https://bugs.webkit.org/show_bug.cgi?id=22808
37
38         Correct build break due to malformed XML in Visual Studio project
39         following @r39205 change.
40
41         * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
42
43 2008-12-10  Chris Marrin  <cmarrin@apple.com>
44
45         Reviewed by Dave Hyatt.
46
47         Fixed https://bugs.webkit.org/show_bug.cgi?id=22738
48
49         This gets rid of the per-animation timers which were used when an animation
50         started, ended and looped. Their job is now done by the main AnimationController's
51         timer. It is now set to fire as needed. For instance, if there is a delay, it will
52         fire after the delay time and then every 30ms to run the animation. The start, loop
53         and end events are generated as needed during the firing of this timer.
54
55         I had to add one more bit of code. When animation timers used to fire the animation events.
56         This would always happen from the RunLoop, so any style changes that happened in the
57         event handler would get picked up on the next updateRendering() call. But now the start
58         event is generated during the styleIsAvailable() call, which is in the middle of the 
59         updateRendering() cycle. And calling an event handler in the middle of updateRendering()
60         is not allowed and causes style changes to get missed. We already have a mechanism in
61         AnimationController to defer updateRendering() calls. So I added logic to defer all
62         event handling to there. Now, I put any request for event handling into a list and ask
63         for a deferred updateRendering() call. When that deferred timer fires, I go through that
64         list, send all the events and then call updateRendering().
65
66         * page/animation/AnimationBase.cpp:
67         (WebCore::AnimationBase::AnimationBase):
68         (WebCore::AnimationBase::updateStateMachine):
69         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
70         (WebCore::AnimationBase::willNeedService):
71         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
72         * page/animation/AnimationBase.h:
73         * page/animation/AnimationController.cpp:
74         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
75         (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
76         (WebCore::AnimationControllerPrivate::addEventToDispatch):
77         (WebCore::AnimationControllerPrivate::animationTimerFired):
78         (WebCore::AnimationController::addEventToDispatch):
79         * page/animation/AnimationController.h:
80         * page/animation/CompositeAnimation.cpp:
81         (WebCore::CompositeAnimationPrivate::updateTransitions):
82         (WebCore::CompositeAnimationPrivate::willNeedService):
83         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
84         (WebCore::CompositeAnimation::willNeedService):
85         (WebCore::CompositeAnimation::getAnimationForProperty):
86         * page/animation/CompositeAnimation.h:
87         * page/animation/ImplicitAnimation.cpp:
88         (WebCore::ImplicitAnimation::animate):
89         (WebCore::ImplicitAnimation::onAnimationEnd):
90         (WebCore::ImplicitAnimation::sendTransitionEvent):
91         * page/animation/ImplicitAnimation.h:
92         * page/animation/KeyframeAnimation.cpp:
93         (WebCore::KeyframeAnimation::animate):
94         (WebCore::KeyframeAnimation::sendAnimationEvent):
95         * page/animation/KeyframeAnimation.h:
96         (WebCore::KeyframeAnimation::setUnanimatedStyle):
97
98 2008-12-11  Simon Hausmann  <simon.hausmann@nokia.com>
99
100         Fix the Qt build with an empty filenameExtension() implementation.
101
102         * platform/graphics/qt/ImageSourceQt.cpp:
103         (WebCore::ImageSource::filenameExtension):
104
105 2008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
106
107         Reviewed by Simon Hausmann.
108
109         Fix crash in the cairo implementation of the SVGPaintServer
110
111         For SVGFonts the RenderObject can be zero. The existing SVGFont
112         test cases is exposing this bug. Qt and other ports have fixed
113         this issue by adding null checks as well.
114
115         * svg/graphics/cairo/SVGPaintServerCairo.cpp:
116         (WebCore::SVGPaintServer::renderPath):
117
118 2008-12-11  Holger Freyther  <zecke@selfish.org>
119
120         Reviewed by Simon Hausmann.
121
122         https://bugs.webkit.org/show_bug.cgi?id=20953
123
124         Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
125         handling. FontQt.cpp from now on is only implementing the complex path. Create
126         FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
127         the framework set by the Font code.
128
129         Sharing the Font.cpp implementation allows the Qt port to support
130         the CSS font faces and SVG fonts.
131
132         Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
133         easily deprecate it.
134
135         This commit is removing a lot of #ifdefs from Font.h as the Qt Font
136         implementation is now in line with the rest of WebCore.
137
138         * WebCore.pro:
139         * platform/graphics/Font.h: Remove #ifdefs
140         (WebCore::Font::letterSpacing):
141         (WebCore::Font::setLetterSpacing):
142         (WebCore::Font::isPlatformFont):
143         * platform/graphics/FontFallbackList.h:
144         * platform/graphics/SimpleFontData.cpp:
145         (WebCore::SimpleFontData::SimpleFontData):
146         (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache
147         on Qt, move the initialisation over.
148         (WebCore::SimpleFontData::~SimpleFontData):
149         * platform/graphics/SimpleFontData.h:
150         (WebCore::SimpleFontData::getQtFont):
151         * platform/graphics/qt/FontCacheQt.cpp:
152         (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter
153         (WebCore::FontCache::releaseFontData): Add to build
154         * platform/graphics/qt/FontCustomPlatformData.cpp:
155         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
156         (WebCore::FontCustomPlatformData::fontPlatformData):
157         (WebCore::createFontCustomPlatformData):
158         * platform/graphics/qt/FontCustomPlatformData.h:
159         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
160         (WebCore::FontFallbackList::FontFallbackList):
161         (WebCore::FontFallbackList::invalidate):
162         (WebCore::FontFallbackList::releaseFontData):
163         (WebCore::FontFallbackList::determinePitch):
164         (WebCore::FontFallbackList::fontDataAt):
165         (WebCore::FontFallbackList::fontDataForCharacters):
166         (WebCore::FontFallbackList::setPlatformFont):
167         * platform/graphics/qt/FontPlatformData.h:
168         (WebCore::FontPlatformData::font):
169         (WebCore::FontPlatformData::size):
170         * platform/graphics/qt/FontPlatformDataQt.cpp: Added.
171         (WebCore::FontPlatformData::FontPlatformData):
172         * platform/graphics/qt/FontQt.cpp:
173         (WebCore::Font::drawComplexText):
174         (WebCore::Font::floatWidthForComplexText):
175         (WebCore::Font::offsetForPositionForComplexText):
176         (WebCore::Font::selectionRectForComplexText):
177         (WebCore::Font::font):
178         * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp
179         (WebCore::Font::drawComplexText):
180         (WebCore::Font::floatWidthForComplexText):
181         (WebCore::Font::offsetForPositionForComplexText):
182         (WebCore::Font::selectionRectForComplexText):
183         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
184         (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
185         (WebCore::GlyphPageTreeNode::pruneTreeFontData):
186         * platform/graphics/qt/SimpleFontDataQt.cpp:
187         (WebCore::SimpleFontData::determinePitch):
188         (WebCore::SimpleFontData::containsCharacters):
189         (WebCore::SimpleFontData::platformInit):
190         (WebCore::SimpleFontData::platformGlyphInit):
191         (WebCore::SimpleFontData::platformDestroy):
192         * platform/qt/RenderThemeQt.cpp:
193         (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
194
195 2008-12-11  Holger Freyther  <zecke@selfish.org>
196
197         Reviewed by Simon Hausmann.
198
199         https://bugs.webkit.org/show_bug.cgi?id=20953
200
201         For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
202         implementation. This is one of the reasons why the Qt port is currently not
203         using WebCore/platform/graphics/Font.cpp. By allowing to not use
204         the simple/fast-path the Qt port will be able to use it.
205
206         Introduce USE(FONT_FAST_PATH) and define it for every port but the
207         Qt one.
208
209         * platform/graphics/Font.cpp:
210         (WebCore::Font::drawText):
211         (WebCore::Font::floatWidth):
212         (WebCore::Font::selectionRectForText):
213         (WebCore::Font::offsetForPosition):
214         * platform/graphics/Font.h:
215
216 2008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
217
218         Reviewed by Darin Adler.
219
220         https://bugs.webkit.org/show_bug.cgi?id=20953
221
222         Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
223         will allow the Qt port to share most of WebCore::Font
224         implementation but the fast path. Qt does not provide the API to get
225         individual Glyphs making the fast path hard to support.
226
227
228         * GNUmakefile.am:
229         * WebCore.vcproj/WebCore.vcproj:
230         * WebCore.xcodeproj/project.pbxproj:
231         * WebCoreSources.bkl:
232         * platform/graphics/Font.cpp:
233         * platform/graphics/FontFastPath.cpp: Added.
234         (WebCore::Font::glyphDataForCharacter):
235
236 2008-12-11  Robert Carr  <racarr@svn.gnome.org>
237
238         Reviewed by Holger Freyther.
239
240         https://bugs.webkit.org/show_bug.cgi?id=22560
241
242         Code in PlatformScreenGtk for screenDepth and screenRect can not
243         assume that the platformWindow for the widget has a valid "window"
244         member. For example in the case of, a new browser view opening as a
245         child of a GtkNotebook, but never being switched to, or manually
246         realized. Solve by using the toplevel window of the widget, rather
247         than the widget itself.
248
249         * platform/gtk/PlatformScreenGtk.cpp:
250         (WebCore::screenDepth):
251         (WebCore::screenRect):
252
253 2008-12-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
254
255         Reviewed by Darin Adler and Holger Freyther.
256
257         Make Widget::frameRectsChanged() and overrides non-const
258
259         This will hopefully allow us to get rid of some of the mutables in
260         the classes that react to the callback by changing their own state.
261
262         * platform/ScrollView.cpp:
263         (WebCore::ScrollView::frameRectsChanged):
264         * platform/ScrollView.h:
265         * platform/Widget.h:
266         (WebCore::Widget::frameRectsChanged):
267         * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since
268         this was more complex and did the same thing, changed const of
269         the leftover frameRectsChanged() method.
270         (ScrollbarGtk::frameRectsChanged):
271         * platform/gtk/ScrollbarGtk.h:
272         * plugins/PluginView.cpp:
273         (WebCore::PluginView::frameRectsChanged):
274         * plugins/PluginView.h:
275
276 2008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
277
278         Reviewed and implemented with Tor Arne Vestbø.
279
280         Reimplement RenderTheme::caretBlinkInterval for Qt.
281
282         The QApplication::cursorFlashTime is in milliseconds and describes
283         the whole cycle while WebCore expects half a cycle.
284
285         * platform/qt/RenderThemeQt.cpp:
286         (WebCore::RenderThemeQt::caretBlinkInterval):
287         * platform/qt/RenderThemeQt.h:
288
289 2008-12-09  Trenton Schulz <trenton.schulz@nokia.com>
290
291         Reviewed by Tor Arne Vestbø.
292
293         [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better
294
295         * plugins/mac/PluginViewMac.cpp:
296         (WebCore::tigerOrBetter):
297         (WebCore::PluginView::globalMousePosForPlugin):
298
299 2008-12-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
300
301         Reviewed by Eric Seidel and George Staikos.
302
303         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799
304
305         Add WML <template> support. The <template> element is specified at deck-level
306         and declares a template for all <card> elements in the document.
307
308         * GNUmakefile.am:
309         * WebCore.vcproj/WebCore.vcproj:
310         * WebCore.xcodeproj/project.pbxproj:
311         * editing/htmlediting.cpp:
312         (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>.
313         * wml/WMLCardElement.cpp:
314         (WebCore::WMLCardElement::WMLCardElement):
315         (WebCore::WMLCardElement::setTemplateElement):
316         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
317         (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded):
318         * wml/WMLCardElement.h:
319         (WebCore::WMLCardElement::templateElement):
320         * wml/WMLDoElement.cpp:
321         (WebCore::WMLDoElement::insertedIntoDocument):
322         * wml/WMLDocument.cpp:
323         (WebCore::WMLDocument::finishedParsing):
324         * wml/WMLErrorHandling.cpp:
325         (WebCore::errorMessageForErrorCode):
326         * wml/WMLErrorHandling.h:
327         (WebCore::):
328         * wml/WMLEventHandlingElement.cpp:
329         (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement):
330         * wml/WMLEventHandlingElement.h:
331         (WebCore::WMLEventHandlingElement::doElements):
332         * wml/WMLTagNames.in:
333         * wml/WMLTemplateElement.cpp: Added.
334         (WebCore::WMLTemplateElement::WMLTemplateElement):
335         (WebCore::WMLTemplateElement::~WMLTemplateElement):
336         (WebCore::WMLTemplateElement::parseMappedAttribute):
337         (WebCore::WMLTemplateElement::registerTemplatesInDocument):
338         * wml/WMLTemplateElement.h: Added.
339         * wml/WMLTimerElement.cpp:
340         (WebCore::WMLTimerElement::timerFired):
341
342 2008-12-09  Dmitry Titov  <dimich@chromium.org>
343
344         Reviewed by Darin Adler.
345
346         Fix memory leak - need to call stopActiveDOMObjects
347         when cached pages get destroyed.
348         https://bugs.webkit.org/show_bug.cgi?id=22753
349
350         * dom/Document.cpp:
351         (WebCore::Document::detach):
352
353 2008-12-10  Alice Liu  <alice.liu@apple.com>
354
355         Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
356
357         Reviewed by Darin Adler.
358
359         * manual-tests/drag-image-to-desktop.html: Added.
360
361 2008-12-10  Alice Liu  <alice.liu@apple.com>
362
363         fixed https://bugs.webkit.org/show_bug.cgi?id=20685
364
365         Reviewed by Darin Adler.
366
367         Manual test case is manual-tests/drag-image-to-desktop.html
368
369         Added new files to projects
370         * WebCore.vcproj/WebCore.vcproj:
371         * WebCore.xcodeproj/project.pbxproj:
372
373         * page/DragController.cpp:
374         (WebCore::DragController::startDrag):
375         * platform/MIMETypeRegistry.cpp:
376         (WebCore::initializeSupportedImageMIMETypes):
377         (WebCore::initializeSupportedImageMIMETypesForEncoding):
378
379         These changes add a method to obtain the extension for an image
380         * platform/graphics/BitmapImage.cpp:
381         (WebCore::BitmapImage::filenameExtension):
382         * platform/graphics/BitmapImage.h:
383         * platform/graphics/Image.h:
384         (WebCore::Image::filenameExtension):
385         * platform/graphics/ImageSource.h:
386         * platform/graphics/cairo/ImageSourceCairo.cpp:
387         (WebCore::ImageSource::filenameExtension):
388         * platform/graphics/cg/ImageSourceCG.cpp:
389         (WebCore::ImageSource::filenameExtension):
390
391         These changes added a utility that returns the preferred extension for a UTI
392         * platform/graphics/cg/ImageSourceCG.h: Added.
393         * platform/graphics/cg/ImageSourceCGMac.mm: Added.
394         (WebCore::MIMETypeForImageSourceType):
395         (WebCore::preferredExtensionForImageSourceType):
396         * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
397         (WebCore::MIMETypeForImageSourceType):
398         (WebCore::preferredExtensionForImageSourceType):
399
400         * platform/mac/MIMETypeRegistryMac.mm:
401         moved getMIMETypeForUTI to ImageSourceCGMac.mm
402
403         Ask image for its file extension instead of relying on MIME type and file path
404         * platform/win/ClipboardWin.cpp:
405         (WebCore::createGlobalImageFileDescriptor):
406
407         Remove extraneous code from getPreferredExtensionForMIMEType.
408         Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
409         * platform/win/MIMETypeRegistryWin.cpp:
410         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
411
412 2008-12-10  Simon Fraser  <simon.fraser@apple.com>
413
414         Reviewed by Antti Koivisto
415
416         <rdar://problem/6431224>
417         
418         When updating the value of a slider, don't mark the parents
419         as needing layout, because the size of the slider can never
420         change. This fixes full-page repaints in some cases.
421
422         * rendering/RenderSlider.cpp:
423         (WebCore::RenderSlider::updateFromElement):
424
425 2008-12-10  Simon Fraser  <simon.fraser@apple.com>
426
427         Potential build fix. The forward declaration of FloatPoint should
428         be inside the WebCore namespace.
429         
430         * platform/graphics/FloatPoint3D.h:
431
432 2008-12-10  Simon Fraser  <simon.fraser@apple.com>
433
434         Reviewed by Sam Weinig
435
436         https://bugs.webkit.org/show_bug.cgi?id=22793
437
438         Cleanup FloatPoint3D: inline the getters and setters,
439         fix a potential divide-by-zero in normalize(), and add
440         a FloatPoint constructor.
441         
442         * platform/graphics/FloatPoint3D.cpp:
443         (WebCore::FloatPoint3D::FloatPoint3D):
444         (WebCore::FloatPoint3D::normalize):
445         * platform/graphics/FloatPoint3D.h:
446         (WebCore::FloatPoint3D::x):
447         (WebCore::FloatPoint3D::setX):
448         (WebCore::FloatPoint3D::y):
449         (WebCore::FloatPoint3D::setY):
450         (WebCore::FloatPoint3D::z):
451         (WebCore::FloatPoint3D::setZ):
452
453 2008-12-09  Julien Chaffraix  <jchaffraix@webkit.org>
454
455         Reviewed by Eric Seidel.
456
457         Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
458         https://bugs.webkit.org/show_bug.cgi?id=22665
459
460         - Removed setCreatedByParser from style and link elements.
461
462         - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
463
464         * dom/XMLTokenizer.cpp:
465         * dom/XMLTokenizer.h:
466         * dom/XMLTokenizerLibxml2.cpp:
467         (WebCore::XMLTokenizer::startElementNs):
468         * dom/XMLTokenizerQt.cpp:
469         (WebCore::XMLTokenizer::parseStartElement):
470         * html/HTMLElementFactory.cpp:
471         (WebCore::linkConstructor):
472         (WebCore::styleConstructor):
473         * html/HTMLLinkElement.cpp:
474         (WebCore::HTMLLinkElement::HTMLLinkElement):
475         * html/HTMLLinkElement.h:
476         * html/HTMLStyleElement.cpp:
477         (WebCore::HTMLStyleElement::HTMLStyleElement):
478         * html/HTMLStyleElement.h:
479         * html/HTMLTagNames.in:
480         * svg/SVGStyleElement.cpp:
481         (WebCore::SVGStyleElement::SVGStyleElement):
482         * svg/SVGStyleElement.h:
483         * svg/svgtags.in:
484
485 2008-12-10  Brady Eidson  <beidson@apple.com>
486
487         Reviewed by Darin
488
489         https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
490         Dialog when going back to a page from whence you submitted a form
491
492         http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
493         http requests, which caused the networking layer to have an incomplete set of headers
494         just before consulting the Policy Delegate.  This caused a cache miss and incorrectly made
495         us believe we'd be resubmitting the form.
496
497         * loader/FrameLoader.cpp:
498         (WebCore::FrameLoader::loadItem):  Being careful to maintain the new behavior required by
499           the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
500           setting all the headers before the networking layer is asked about the cache lookup.
501
502 2008-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
503
504         Reviewed by Timothy Hatcher.
505
506         Add back ability to end all profiling via console by invoking profileEnd
507         with no arguments.
508
509         * page/Console.cpp:
510         (WebCore::Console::profileEnd): Removed title null-checking and
511             subsequent early exit.
512
513 2008-12-10  Pierre-Olivier Latour  <pol@apple.com>
514
515         Reviewed by Darin Adler.
516
517         KeyframeAnimation::animate() needs to compute the elapsed animation time
518         properly taking into account its paused state.
519
520         https://bugs.webkit.org/show_bug.cgi?id=22773
521
522         Test: animations/animation-drt-api-multiple-keyframes.html
523
524         * page/animation/KeyframeAnimation.cpp:
525         (WebCore::KeyframeAnimation::animate):
526
527 2008-12-10  Simon Fraser  <simon.fraser@apple.com>
528
529         Reviewed by Dan Bernstein
530
531         Part of
532         https://bugs.webkit.org/show_bug.cgi?id=22570
533         
534         Rename methods on RenderLayer for clarity:
535             clearClipRects -> clearClipRectsIncludingDescendants
536             clearClipRect  -> clearClipRects
537
538         * rendering/RenderBox.cpp:
539         (WebCore::RenderBox::destroy):
540         * rendering/RenderLayer.cpp:
541         (WebCore::RenderLayer::updateLayerPosition):
542         (WebCore::RenderLayer::removeOnlyThisLayer):
543         (WebCore::RenderLayer::insertOnlyThisLayer):
544         (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
545         (WebCore::RenderLayer::clearClipRects):
546         * rendering/RenderLayer.h:
547         * rendering/RenderObject.cpp:
548         (WebCore::RenderObject::styleWillChange):
549         * rendering/RenderWidget.cpp:
550         (WebCore::RenderWidget::destroy):
551
552 2008-12-10  Kevin Ollivier  <kevino@theolliviers.com>
553
554         wx build fix after the script call stack/frame additions.
555         
556         * WebCoreSources.bkl:
557
558 2008-12-10   Srinivasa Rao M. Hamse  <msrinirao@gmail.com>
559
560         Reviewed by Holger Freyther.
561
562         F1-F12 key mappings for WebKit Gtk Port
563
564         * platform/gtk/KeyEventGtk.cpp:
565         (WebCore::windowsKeyCodeForKeyEvent):
566
567 2008-12-10  Enrico Ros  <enrico.ros@m31.com>
568
569         Reviewed by Simon Hausmann.
570
571         Fix the Qt build when SVG is disabled. A broken dependancy caused
572         unnecessary rebuilds even with no changes.
573
574         * WebCore.pro: fix a broken build dependancy
575
576 2008-12-10  Hironori Bono  <hbono@chromium.org>
577
578         Reviewed by Alexey Proskuryakov.
579
580         Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
581         https://bugs.webkit.org/show_bug.cgi?id=21820
582
583         <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
584         <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
585
586         Tests: editing/deleting/delete-ligature-001.html
587                editing/deleting/delete-ligature-002.html
588                editing/deleting/delete-ligature-003.html
589
590         * editing/TypingCommand.cpp:
591         (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
592         of a ligature which consists of multiple Unicode characters when deleting it with
593         a backspace key.
594
595 2008-12-10  David Levin  <levin@chromium.org>
596
597         Reviewed by Alexey Proskuryakov.
598
599         https://bugs.webkit.org/show_bug.cgi?id=22177
600         Fix the windows build by removing calls to notifyFormStateChanged
601         where they didn't appear in the original reviewed patch.
602
603         * html/HTMLInputElement.cpp:
604         (WebCore::HTMLInputElement::type):
605         (WebCore::HTMLInputElement::attach):
606
607 2008-12-09  Adam Barth  <abarth@webkit.org>
608
609         Reviewed by Sam Weinig.
610
611         Add ScriptController::updateSecurityOrigin to notify the bindings
612         that a document's securityOrigin has been updated.  This is used by
613         V8 to update its security context.
614
615         * bindings/js/ScriptController.cpp:
616         (WebCore::ScriptController::updateSecurityOrigin):
617         * bindings/js/ScriptController.h:
618         * dom/Document.cpp:
619         (WebCore::Document::setDomain):
620
621 2008-12-09  Eric Seidel  <eric@webkit.org>
622
623         No review, build fix only.
624
625         Fix a few config issues to let the Chromium Windows WebCore build get further.
626
627         * WebCore.scons:
628
629 2008-12-09  Brett Wilson  <brettw@chromium.org>
630
631         Reviewed by Dave Hyatt.
632
633         https://bugs.webkit.org/show_bug.cgi?id=22177
634
635         Add a callback on ChromeClient that the state of form elements on
636         the page has changed. This is to allow clients implementing session
637         saving to know when the current state is dirty.
638
639         * html/HTMLInputElement.cpp:
640         (WebCore::notifyFormStateChanged):
641         (WebCore::HTMLInputElement::setInputType):
642         (WebCore::HTMLInputElement::type):
643         (WebCore::HTMLInputElement::attach):
644         (WebCore::HTMLInputElement::setValue):
645         (WebCore::HTMLInputElement::setValueFromRenderer):
646         (WebCore::HTMLInputElement::setFileListFromRenderer):
647         * html/HTMLSelectElement.cpp:
648         (WebCore::HTMLSelectElement::setSelectedIndex):
649         * html/HTMLTextAreaElement.cpp:
650         (WebCore::notifyFormStateChanged):
651         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
652         (WebCore::HTMLTextAreaElement::updateValue):
653         (WebCore::HTMLTextAreaElement::setValue):
654         * loader/EmptyClients.h:
655         (WebCore::EmptyChromeClient::formStateDidChange):
656         * page/ChromeClient.h:
657
658 2008-12-09  Sam Weinig  <sam@webkit.org>
659
660         Reviewed by Darin Adler.
661
662         https://bugs.webkit.org/show_bug.cgi?id=19762
663
664         Fix intermittent crash in buildbot. The CSSCursorImageValues and
665         SVGCursorElements held onto raw SVGElement pointers without any
666         guarantee that the element is still around.
667
668         We did not fix the design that resulted in this issue, we just fixed
669         the pointer lifetimes.
670
671         * css/CSSCursorImageValue.cpp:
672         (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
673         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
674         (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
675         is destroyed.
676         * css/CSSCursorImageValue.h: Added removeReferencedElement.
677
678         * svg/SVGCursorElement.cpp:
679         (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
680         (WebCore::SVGCursorElement::addClient): Set up a back pointer.
681         (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
682
683         * svg/SVGElement.cpp:
684         (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
685         (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
686         to remove the element from their sets.
687         * svg/SVGElement.h:
688         (WebCore::SVGElement::setCursorElement): Added.
689         (WebCore::SVGElement::setCursorImageValue): Added.
690
691 2008-12-09  David Hyatt  <hyatt@apple.com>
692
693         Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
694         frame/iframe.  If any of them set a custom style, it will be used.  The scrollbars do not update dynamically
695         yet as you switch from page to page (until they are destroyed and recreated).
696
697         Reviewed by Adele
698
699         * page/FrameView.cpp:
700         (WebCore::FrameView::createScrollbar):
701
702 2008-12-09  Ojan Vafai  <ojan@chromium.org>
703
704         Reviewed by Dave Hyatt.
705
706         https://bugs.webkit.org/show_bug.cgi?id=22689
707         Match Firefox button metrics on Windows.
708
709         * rendering/RenderButton.cpp:
710         (WebCore::RenderButton::addChild):
711         (WebCore::RenderButton::styleDidChange):
712         (WebCore::RenderButton::setupInnerStyle):
713         * rendering/RenderButton.h:
714         * rendering/RenderTheme.cpp:
715         (WebCore::RenderTheme::adjustButtonInnerStyle):
716         * rendering/RenderTheme.h:
717         * rendering/RenderThemeWin.cpp:
718         (WebCore::RenderThemeWin::adjustSliderThumbSize):
719         (WebCore::RenderThemeWin::adjustButtonInnerStyle):
720         * rendering/RenderThemeWin.h:
721
722 2008-12-09  Darin Fisher  <darin@chromium.org>
723
724         Fixes bustages.
725
726         https://bugs.webkit.org/show_bug.cgi?id=22631
727         Adding missing files from previous commit.
728
729         * bindings/js/ScriptCallFrame.cpp: Added.
730         (WebCore::ScriptCallFrame::ScriptCallFrame):
731         (WebCore::ScriptCallFrame::~ScriptCallFrame):
732         (WebCore::ScriptCallFrame::argumentAt):
733         * bindings/js/ScriptCallFrame.h: Added.
734         (WebCore::ScriptCallFrame::functionName):
735         (WebCore::ScriptCallFrame::sourceURL):
736         (WebCore::ScriptCallFrame::lineNumber):
737         (WebCore::ScriptCallFrame::argumentCount):
738         * bindings/js/ScriptCallStack.cpp: Added.
739         (WebCore::ScriptCallStack::ScriptCallStack):
740         (WebCore::ScriptCallStack::~ScriptCallStack):
741         (WebCore::ScriptCallStack::at):
742         (WebCore::ScriptCallStack::size):
743         (WebCore::ScriptCallStack::initialize):
744         * bindings/js/ScriptCallStack.h: Added.
745         (WebCore::ScriptCallStack::state):
746
747 2008-12-09  Dimitri Glazkov  <dglazkov@chromium.org>
748
749         Reviewed by Timothy Hatcher.
750
751         https://bugs.webkit.org/show_bug.cgi?id=22631
752         Streamline Console.cpp, abstract out the use of JSC::ExecState and
753         JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
754         abstractions.
755
756         * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
757         * WebCore.pro:  Added ScriptCallFrame and ScriptCallStack to build
758         * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
759         ScriptCallStack to project
760         * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
761         ScriptCallStack to project
762         * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
763         * bindings/js/ScriptCallFrame.cpp: Added.
764         (WebCore::ScriptCallFrame::ScriptCallFrame):
765         (WebCore::ScriptCallFrame::~ScriptCallFrame):
766         (WebCore::ScriptCallFrame::argumentAt):
767         * bindings/js/ScriptCallFrame.h: Added.
768         (WebCore::ScriptCallFrame::functionName):
769         (WebCore::ScriptCallFrame::sourceURL):
770         (WebCore::ScriptCallFrame::lineNumber):
771         (WebCore::ScriptCallFrame::argumentCount):
772         * bindings/js/ScriptCallStack.cpp: Added.
773         (WebCore::ScriptCallStack::ScriptCallStack):
774         (WebCore::ScriptCallStack::~ScriptCallStack):
775         (WebCore::ScriptCallStack::at):
776         (WebCore::ScriptCallStack::size):
777         (WebCore::ScriptCallStack::initialize):
778         * bindings/js/ScriptCallStack.h: Added.
779         (WebCore::ScriptCallStack::ScriptCallStack):
780         (WebCore::ScriptCallStack::~ScriptCallStack):
781         (WebCore::ScriptCallStack::state):
782         (WebCore::ScriptCallStack::at):
783         (WebCore::ScriptCallStack::size):
784         (WebCore::ScriptCallStack::initialize):
785         * bindings/js/ScriptString.h: Added missing PlatformString include.
786         (WebCore::ScriptString::ScriptString): Added default constructor.
787         (WebCore::ScriptString::operator==): Added equality operator.
788         (WebCore::ScriptString::operator!=):
789         * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
790         (WebCore::ScriptValue::isNull):
791         (WebCore::ScriptValue::isUndefined):
792         * bindings/js/ScriptValue.h: Added isNull and isUndefined
793         * bindings/scripts/CodeGeneratorJS.pm: Add handling for
794         CustomArgumentHandling attribute.
795         * inspector/InspectorController.cpp: Refactored to use 
796         ScriptCallFrame and ScriptCallStack.
797         (WebCore::ConsoleMessage::ConsoleMessage):
798         (WebCore::InspectorController::addMessageToConsole):
799         (WebCore::InspectorController::startGroup):
800         (WebCore::InspectorController::addScriptConsoleMessage):
801         (WebCore::InspectorController::count):
802         (WebCore::InspectorController::startTiming):
803         (WebCore::InspectorController::stopTiming):
804         * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
805         ScriptCallStack.
806         * inspector/front-end/Console.js: Modified to use argument value itself
807         rather than f.name for stack trace.
808         * page/Console.cpp: Refactored to use ScriptCallFrame and
809         ScriptCallStack.
810         (WebCore::getFirstArgumentAsString):
811         (WebCore::Console::addMessage):
812         (WebCore::Console::debug):
813         (WebCore::Console::error):
814         (WebCore::Console::info):
815         (WebCore::Console::log):
816         (WebCore::Console::dir):
817         (WebCore::Console::dirxml):
818         (WebCore::Console::trace):
819         (WebCore::Console::assertCondition):
820         (WebCore::Console::count):
821         (WebCore::Console::profile):
822         (WebCore::Console::profileEnd):
823         (WebCore::Console::time):
824         (WebCore::Console::timeEnd):
825         (WebCore::Console::group):
826         (WebCore::Console::warn):
827         * page/Console.h:
828         * page/Console.idl: Removed Custom attributes, added
829         CustomArgumentHandling attributes, and tweaked argument defs.
830
831 2008-12-09  Darin Adler  <darin@apple.com>
832
833         Try to fix non-Mac builds.
834
835         * GNUmakefile.am: Added NavigatorBase.
836         * WebCore.pro: Ditto.
837         * WebCore.scons: Ditto.
838         * WebCore.vcproj/WebCore.vcproj: Ditto.
839         * WebCoreSources.bkl: Ditto.
840
841         Unrelated tweak sitting in my tree.
842
843         * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
844
845 2008-12-09  Darin Adler  <darin@apple.com>
846
847         Try to fix Tiger build.
848
849         * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
850
851 2008-12-09  Alexey Proskuryakov  <ap@webkit.org>
852
853         Reviewed by Darin Adler.
854
855         https://bugs.webkit.org/show_bug.cgi?id=22719
856         Implement Navigator object in Workers
857
858         Test: fast/workers/worker-navigator.html
859
860         * DerivedSources.make:
861         * GNUmakefile.am:
862         * WebCore.pro:
863         * WebCore.vcproj/WebCore.vcproj:
864         * WebCore.xcodeproj/project.pbxproj:
865         Added WorkerNavigator sources.
866
867         * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
868         Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
869         but it is not the same interface that is available on Windows).
870
871         * dom/Worker.cpp:
872         (WebCore::Worker::notifyFinished):
873         * dom/WorkerContext.cpp:
874         (WebCore::WorkerContext::WorkerContext):
875         (WebCore::WorkerContext::navigator):
876         * dom/WorkerContext.h:
877         (WebCore::WorkerContext::create):
878         * dom/WorkerThread.cpp:
879         (WebCore::WorkerThread::create):
880         (WebCore::WorkerThread::WorkerThread):
881         (WebCore::WorkerThread::workerThread):
882         * dom/WorkerThread.h:
883         Pass a pre-computed user agent string into worker, because it cannot call a client method
884         directly, and pre-computing is easier than sending a synchronous message to the main thread.
885
886         * page/Navigator.cpp:
887         * page/Navigator.h:
888         * page/NavigatorBase.cpp: Added.
889         * page/NavigatorBase.h: Added.
890         Factor out common (and uncommon, but very similar) functionality into a base class.
891
892         * page/WorkerNavigator.cpp: Added.
893         * page/WorkerNavigator.h: Added.
894         * page/WorkerNavigator.idl: Added.
895         Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
896
897         * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
898         Make networkStateNotifier() static constructor thread safe. The object is created on the
899         thread it is first called from, while callbacks are registered on the main thread. Calls to
900         onLine() from other threads are safe, because it is just loading a boolean.
901
902         * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
903         Schedule notifications on main event loop, not the current one.
904
905 2008-12-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
906
907         Rubber-stamped by Alexey Proskuryakov.
908
909         Forgot to update Qt/WML build - add some new files to the build.
910
911         * WebCore.pro:
912
913 2008-12-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
914
915         Reviewed by Alexey Proskuryakov.
916
917         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
918
919         Implement the GET method for WMLGoElement, and some test covering it's behaviour.
920         Update all build systems supporting WML that haven't been updated since a while.
921
922         Add WMLPostField stub implementation, needed for implementing POST method.
923
924         Tests: wml/go-task-get-method-external-deck-with-href.html
925                wml/go-task-get-method-external-deck.html
926                wml/go-task-get-method-same-deck.html
927
928         * GNUmakefile.am:
929         * WebCore.vcproj/WebCore.vcproj:
930         * WebCore.xcodeproj/project.pbxproj:
931         * dom/Document.cpp:
932         (WebCore::Document::resetWMLPageState):
933         * wml/WMLCardElement.cpp:
934         * wml/WMLCardElement.h:
935         * wml/WMLEventHandlingElement.cpp:
936         (WebCore::WMLCardElement::registerDoElement):
937         * wml/WMLEventHandlingElement.h:
938         * wml/WMLGoElement.cpp:
939         (WebCore::WMLGoElement::WMLGoElement):
940         (WebCore::WMLGoElement::registerPostfieldElement):
941         (WebCore::WMLGoElement::parseMappedAttribute):
942         (WebCore::WMLGoElement::executeTask):
943         (WebCore::WMLGoElement::parseContentType):
944         (WebCore::WMLGoElement::preparePOSTRequest):
945         (WebCore::WMLGoElement::prepareGETRequest):
946         * wml/WMLGoElement.h:
947         * wml/WMLPostfieldElement.cpp: Added.
948         (WebCore::WMLPostfieldElement::WMLPostfieldElement):
949         (WebCore::WMLPostfieldElement::parseMappedAttribute):
950         (WebCore::WMLPostfieldElement::insertedIntoDocument):
951         * wml/WMLPostfieldElement.h: Added.
952         (WebCore::WMLPostfieldElement::name):
953         (WebCore::WMLPostfieldElement::value):
954         * wml/WMLTagNames.in:
955
956 2008-12-08  Peter Kasting  <pkasting@google.com>
957
958         Reviewed by Anders Carlsson.
959
960         https://bugs.webkit.org/show_bug.cgi?id=16814
961         Allow ports to disable ActiveX->NPAPI conversion for Media Player.
962         Improve handling of miscellaneous ActiveX objects.
963
964         * rendering/RenderPartObject.cpp:
965         (WebCore::mapClassIdToServiceType):
966         (WebCore::shouldUseChildEmbedOfObject):
967         (WebCore::RenderPartObject::updateWidget):
968
969 2008-12-08  Darin Adler  <darin@apple.com>
970
971         Reviewed by John Sullivan.
972
973         - fix https://bugs.webkit.org/show_bug.cgi?id=22409
974           REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
975
976         Tests: editing/execCommand/enabling-and-selection-2.html
977                editing/execCommand/enabling-and-selection.html
978
979         * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
980         (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
981         An invisible selection with a position that selects no characters doesn't count
982         as a visible selection.
983         (WebCore::enabledVisibleSelectionAndMark): Ditto.
984
985 2008-12-08  David Kilzer  <ddkilzer@apple.com>
986
987         Remove duplicate entries from WebCore project.
988
989         Reviewed by Eric Seidel.
990
991         Bug 22555: Sort "children" sections in Xcode project files.
992         <https://bugs.webkit.org/show_bug.cgi?id=22555>
993
994         Recipe for removing duplicates:
995         $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
996         $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
997
998         * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
999
1000 2008-12-08  Julien Chaffraix  <jchaffraix@webkit.org>
1001
1002         Reviewed by Darin Adler.
1003
1004         Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
1005         https://bugs.webkit.org/show_bug.cgi?id=22665
1006
1007         Remove setCreatedByParser from the script elements (HTML and SVG).
1008
1009         * dom/XMLTokenizer.cpp:
1010         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
1011         call to setCreatedByParser for the 2 elements.
1012
1013         * dom/make_names.pl: Modified to call the constructor with
1014         the createByParser parameter if 'constructorNeedsCreatedByParser'
1015         is set.
1016
1017         * html/HTMLElementFactory.cpp:
1018         (WebCore::scriptConstructor):
1019         * html/HTMLScriptElement.cpp:
1020         (WebCore::HTMLScriptElement::HTMLScriptElement):
1021         * html/HTMLScriptElement.h:
1022         * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
1023         to script.
1024         * svg/SVGScriptElement.cpp:
1025         (WebCore::SVGScriptElement::SVGScriptElement):
1026         * svg/SVGScriptElement.h:
1027         * svg/svgtags.in: Added constructorNeedsCreatedByParser
1028         to script.
1029
1030 2008-12-08  David Kilzer  <ddkilzer@apple.com>
1031
1032         Bug 22555: Sort "children" sections in Xcode project files
1033
1034         <https://bugs.webkit.org/show_bug.cgi?id=22555>
1035
1036         Reviewed by Eric Seidel.
1037
1038         * WebCore.xcodeproj/project.pbxproj: Sorted.
1039         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
1040
1041 2008-12-08  Tony Chang  <tony@chromium.org>
1042
1043         Reviewed by Eric Seidel.
1044
1045         Add a bool to GraphicsContext so that shadows can ignore
1046         transformations.  This is needed by HTML canvas element
1047         where the spec says shadows are applied w/o transformations.
1048         https://bugs.webkit.org/show_bug.cgi?id=22580
1049
1050         No functional changes, thus no tests.
1051
1052         * html/CanvasRenderingContext2D.cpp:
1053         (WebCore::CanvasRenderingContext2D::setShadow):
1054         (WebCore::CanvasRenderingContext2D::applyShadow):
1055         * html/HTMLCanvasElement.cpp:
1056         (WebCore::HTMLCanvasElement::createImageBuffer):
1057         * platform/graphics/GraphicsContext.cpp:
1058         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
1059         * platform/graphics/GraphicsContext.h:
1060         * platform/graphics/GraphicsContextPrivate.h:
1061         (WebCore::GraphicsContextState::GraphicsContextState):
1062         * platform/graphics/cg/GraphicsContextCG.cpp:
1063         (WebCore::GraphicsContext::setPlatformShadow):
1064
1065 2008-12-08  Julien Chaffraix  <jchaffraix@webkit.org>
1066
1067         Reviewed by Darin Adler.
1068
1069         Bug 17897: Not Rendering Images Imported from XHTML Document
1070         <rdar://problem/5827614>
1071
1072         When we were loading document with XMLHttpRequest that contained images, the images
1073         would not be fetched as they would not be displayed. However if we inserted such
1074         an image element into a rendered document, we would not fetch the image and thus never
1075         display it.
1076
1077         Now we check if the image has been loaded when we insert an HTMLImageElement into a
1078         document.
1079         To enable this, the image loader has an error flag. To avoid doing several attempts
1080         when we know that the image is in error, we store the failed URL.
1081         However Firefox and Opera ignore errors when the 'src' attribute changes and thus
1082         we also have an updateFromElementIgnoringPreviousError to match the other browser.
1083
1084         Tests: http/tests/misc/image-blocked-src-change.html
1085                http/tests/misc/image-blocked-src-no-change.html
1086                http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
1087                http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
1088
1089         * html/HTMLEmbedElement.cpp:
1090         (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
1091         * html/HTMLImageElement.cpp:
1092         (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
1093         (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
1094         an image.
1095
1096         * html/HTMLInputElement.cpp:
1097         (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
1098         * html/HTMLObjectElement.cpp:
1099         (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
1100         * html/HTMLVideoElement.cpp:
1101         (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
1102         * loader/ImageLoader.cpp:
1103         (WebCore::ImageLoader::setImage): Added an assertion.
1104         (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
1105         multiple errors in the console for a single image load).
1106
1107         (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
1108         before calling updateFromElement.
1109
1110         (WebCore::ImageLoader::notifyFinished): Added an assertion.
1111         * loader/ImageLoader.h:
1112         * svg/SVGImageElement.cpp:
1113         (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
1114
1115 2008-12-08  David Hyatt  <hyatt@apple.com>
1116
1117         Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
1118         custom CSS scrollbars.
1119
1120         Reviewed by Eric Seidel
1121
1122         * page/FrameView.cpp:
1123         (WebCore::FrameView::createScrollbar):
1124         * page/FrameView.h:
1125         * platform/ScrollView.cpp:
1126         (WebCore::ScrollView::setHasHorizontalScrollbar):
1127         (WebCore::ScrollView::setHasVerticalScrollbar):
1128         (WebCore::ScrollView::createScrollbar):
1129         * platform/ScrollView.h:
1130
1131 2008-12-08  Dan Bernstein  <mitz@apple.com>
1132
1133         Reviewed by John Sullivan.
1134
1135         - WebCore part of tracking the global history item for a WebView
1136
1137         * loader/FrameLoader.cpp:
1138         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
1139         global history item to the current back/forward list item, respecting
1140         private browsing mode.
1141         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
1142         case.
1143         (WebCore::FrameLoader::goToItem): Ditto in this case.
1144         (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
1145         creates a new global history item, set the page's global history item
1146         to it.
1147         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1148         Ditto.
1149         * page/Page.cpp:
1150         (WebCore::Page::setGlobalHistoryItem): Added this setter.
1151         * page/Page.h: Added a m_globalHistoryItem data member.
1152         (WebCore::Page::globalHistoryItem): Added this getter.
1153
1154 2008-12-08  Antti Koivisto  <antti@apple.com>
1155
1156         Reviewed by Dave Kilzer.
1157
1158         A few stylistic fixes suggested by Dave Kilzer.
1159
1160         * css/CSSPrimitiveValue.cpp:
1161         (WebCore::CSSPrimitiveValue::createIdentifier):
1162         (WebCore::CSSPrimitiveValue::create):
1163
1164 2008-12-08  Alexey Proskuryakov  <ap@webkit.org>
1165
1166         Reviewed by Darin Adler.
1167
1168         https://bugs.webkit.org/show_bug.cgi?id=22737
1169         Try debug version when locating CFNetwork
1170
1171         * platform/network/cf/ResourceRequestCFNet.cpp:
1172         (WebCore::findCFNetworkModule):
1173         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1174         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1175         * platform/network/win/CookieJarCFNetWin.cpp:
1176         (WebCore::findCFNetworkModule):
1177         (WebCore::findIsHTTPOnlyFunction):
1178
1179 2008-12-08  Aaron Boodman  <aa@chromium.org>
1180
1181         Reviewed by Stephanie Lewis.
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=22301
1184         Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
1185
1186         * loader/FrameLoader.cpp:
1187         (WebCore::FrameLoader::finishedParsing):
1188
1189 2008-12-08  Trenton Schulz <trenton.schulz@nokia.com>
1190
1191         Rubber-stamped by Tor Arne Vestbø.
1192
1193         Fix build warning on Mac
1194
1195         * platform/text/mac/StringImplMac.mm:
1196
1197 2008-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
1198
1199         Fix the Qt build.
1200
1201         * bridge/qt/qt_runtime.cpp:
1202         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
1203           constructor.
1204
1205 2008-12-08  Oliver Hunt  <oliver@apple.com>
1206
1207         Reviewed by Alexey Proskuryakov.
1208
1209         Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
1210         <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
1211
1212         This regression was caused by r39059 replacing the protector on the active
1213         animation with a protector on just the composition.  It turns out that both
1214         protectors are necessary.
1215
1216         Test: transitions/transition-duration-cleared-in-transitionend-crash.html
1217
1218         * page/animation/AnimationBase.cpp:
1219         (WebCore::AnimationBase::animationTimerCallbackFired):
1220
1221 2008-12-08  Dmitry Titov  <dimich@chromium.org>
1222
1223         Reviewed by Alexey Proskuryakov.
1224
1225         https://bugs.webkit.org/show_bug.cgi?id=22732
1226         Remove unused files PausedTimeouts.h,.cpp
1227         The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
1228
1229         * GNUmakefile.am:
1230         * WebCore.pro:
1231         * WebCore.scons:
1232         * WebCore.vcproj/WebCore.vcproj:
1233         * WebCore.xcodeproj/project.pbxproj:
1234         * WebCoreSources.bkl:
1235           These are build files which had PausedTimeouts referenced.
1236
1237         * bindings/js/PausedTimeouts.cpp: Removed.
1238         * bindings/js/PausedTimeouts.h: Removed.
1239         * bindings/js/ScriptController.cpp: Removed '#include'
1240         * page/Chrome.cpp: Removed '#include' and unused variable.
1241
1242 2008-12-07  Simon Fraser  <simon.fraser@apple.com>
1243
1244         Reviewed by Dan Bernstein
1245
1246         https://bugs.webkit.org/show_bug.cgi?id=22594
1247
1248         Fix issues which break reading inline style for -webkit-transition
1249         and -webkit-transform-origin.
1250         
1251         Test: fast/css/transform-inline-style.html
1252
1253         * css/CSSMutableStyleDeclaration.cpp:
1254         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases 
1255         for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
1256         so that these shorthand properties are returned correctly.
1257         * css/CSSParser.cpp:
1258         (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
1259         with the correct CSSValueAll and CSSValueNone identifiers, not the
1260         RenderStyle-level cAnimateAll, cAnimateNone.
1261         * css/CSSStyleSelector.cpp:
1262         (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
1263         and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
1264
1265 2008-12-07  Antti Koivisto  <antti@apple.com>
1266
1267         Reviewed by Darin Adler.
1268
1269         https://bugs.webkit.org/show_bug.cgi?id=22717
1270         Make CSS values use less memory
1271         
1272         Share CSSPrimitiveValue objects for commonly used values including
1273         - idents
1274         - colors
1275         - small integers
1276         
1277         This reduces the amount CSSPrimitiveValue instances by > 80%.
1278
1279         * css/CSSPrimitiveValue.cpp:
1280         (WebCore::CSSPrimitiveValue::createIdentifier):
1281         (WebCore::CSSPrimitiveValue::createColor):
1282         (WebCore::CSSPrimitiveValue::create):
1283         * css/CSSPrimitiveValue.h:
1284         (WebCore::CSSPrimitiveValue::create):
1285
1286 2008-12-07  Antti Koivisto  <antti@apple.com>
1287
1288         Reviewed by Darin Adler.
1289
1290         https://bugs.webkit.org/show_bug.cgi?id=22717
1291         Make CSS values use less memory
1292
1293         Get CSSValues off from the common StyleBase base class. They don't
1294         need a parent pointer or anything else there and there is no real
1295         reason to have them in same data structures with other CSSOM objects.
1296         
1297         Disabled (instead of refactoring around the lack of common base) the ability 
1298         to have style declaration blocks as CSS variable values. They don't exist in 
1299         the spec so I wasn't sure if they have future or not. It would not be hard to 
1300         get them back. CSS variables are in any case an experimental feature and 
1301         not enabled by default.
1302
1303         * css/CSSInitialValue.h:
1304         (WebCore::CSSInitialValue::createExplicit):
1305         (WebCore::CSSInitialValue::createImplicit):
1306         * css/CSSParser.cpp:
1307         (WebCore::CSSParser::addVariableDeclarationBlock):
1308         * css/CSSParser.h:
1309         * css/CSSValue.h:
1310         (WebCore::CSSValue::~CSSValue):
1311         (WebCore::CSSValue::parserValue):
1312         * css/CSSVariablesDeclaration.cpp:
1313         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
1314         (WebCore::CSSVariablesDeclaration::getVariableValue):
1315         (WebCore::CSSVariablesDeclaration::removeVariable):
1316         (WebCore::CSSVariablesDeclaration::addParsedVariable):
1317         (WebCore::CSSVariablesDeclaration::getParsedVariable):
1318         (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
1319         * css/CSSVariablesDeclaration.h:
1320         (WebCore::CSSVariablesDeclaration::create):
1321         * css/StyleBase.h:
1322
1323 2008-12-07  Dirk Schulze  <krit@webkit.org>
1324
1325         Reviewed by Oliver Hunt.
1326
1327         Add gradient and pattern support for strokeRect on canvas/Cg.
1328
1329         Canvas strokeRect() doesn't support gradients
1330         https://bugs.webkit.org/show_bug.cgi?id=19790
1331
1332         Test: fast/canvas/canvas-strokeRect.html
1333
1334         * platform/graphics/cg/GraphicsContextCG.cpp:
1335         (WebCore::GraphicsContext::strokeRect):
1336
1337 2008-12-06  Dirk Schulze  <krit@webkit.org>
1338
1339         Reviewed by Oliver Hunt.
1340
1341         Add support for setTransform() in canvas.
1342
1343         <canvas> lacks transform() and setTransform()
1344         https://bugs.webkit.org/show_bug.cgi?id=16604
1345
1346         Test: fast/canvas/canvas-setTransform.html
1347
1348         * html/CanvasRenderingContext2D.cpp:
1349         (WebCore::CanvasRenderingContext2D::State::State):
1350         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1351         (WebCore::CanvasRenderingContext2D::setFillStyle):
1352         (WebCore::CanvasRenderingContext2D::scale):
1353         (WebCore::CanvasRenderingContext2D::rotate):
1354         (WebCore::CanvasRenderingContext2D::translate):
1355         (WebCore::CanvasRenderingContext2D::transform):
1356         (WebCore::CanvasRenderingContext2D::setTransform):
1357         (WebCore::CanvasRenderingContext2D::beginPath):
1358         (WebCore::CanvasRenderingContext2D::closePath):
1359         (WebCore::CanvasRenderingContext2D::moveTo):
1360         (WebCore::CanvasRenderingContext2D::lineTo):
1361         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1362         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1363         (WebCore::CanvasRenderingContext2D::arcTo):
1364         (WebCore::CanvasRenderingContext2D::arc):
1365         (WebCore::CanvasRenderingContext2D::rect):
1366         (WebCore::CanvasRenderingContext2D::fill):
1367         (WebCore::CanvasRenderingContext2D::stroke):
1368         (WebCore::CanvasRenderingContext2D::clip):
1369         (WebCore::CanvasRenderingContext2D::isPointInPath):
1370         (WebCore::CanvasRenderingContext2D::clearRect):
1371         (WebCore::CanvasRenderingContext2D::fillRect):
1372         (WebCore::CanvasRenderingContext2D::strokeRect):
1373         (WebCore::CanvasRenderingContext2D::drawImage):
1374         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1375         (WebCore::CanvasRenderingContext2D::willDraw):
1376         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1377         * html/CanvasRenderingContext2D.h:
1378         * html/CanvasRenderingContext2D.idl:
1379         * html/HTMLCanvasElement.cpp:
1380         (WebCore::HTMLCanvasElement::baseTransform):
1381         * html/HTMLCanvasElement.h:
1382         * platform/graphics/ImageBuffer.h:
1383         (WebCore::ImageBuffer::baseTransform):
1384
1385 2008-12-06  Antti Koivisto  <antti@apple.com>
1386
1387         Reviewed by Darin Adler.
1388
1389         Also copy m_implicit field. Darin wanted this change commited separately.
1390
1391         * css/CSSProperty.h:
1392         (WebCore::CSSProperty::operator=):
1393
1394 2008-12-06  Antti Koivisto  <antti@apple.com>
1395
1396         Reviewed by Darin Adler.
1397
1398         https://bugs.webkit.org/show_bug.cgi?id=22379
1399         Make CSSOM use less memory
1400         
1401         Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
1402         
1403         Taught setter functions to use existing slots to avoid memory moves, plus some
1404         other optimizations.
1405
1406         * WebCore.xcodeproj/project.pbxproj:
1407         * css/CSSMutableStyleDeclaration.cpp:
1408         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1409         (WebCore::CSSMutableStyleDeclaration::operator=):
1410         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1411         (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
1412         (WebCore::CSSMutableStyleDeclaration::removeProperty):
1413         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1414         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
1415         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
1416         (WebCore::CSSMutableStyleDeclaration::setProperty):
1417         (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
1418         (WebCore::CSSMutableStyleDeclaration::setStringProperty):
1419         (WebCore::CSSMutableStyleDeclaration::setImageProperty):
1420         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
1421         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1422         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1423         (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
1424         (WebCore::CSSMutableStyleDeclaration::length):
1425         (WebCore::CSSMutableStyleDeclaration::item):
1426         (WebCore::CSSMutableStyleDeclaration::cssText):
1427         (WebCore::CSSMutableStyleDeclaration::setCssText):
1428         (WebCore::CSSMutableStyleDeclaration::merge):
1429         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1430         (WebCore::CSSMutableStyleDeclaration::copy):
1431         (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
1432         * css/CSSMutableStyleDeclaration.h:
1433         (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
1434         (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
1435         (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
1436         (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
1437         (WebCore::CSSMutableStyleDeclaration::create):
1438         (WebCore::CSSMutableStyleDeclaration::begin):
1439         (WebCore::CSSMutableStyleDeclaration::end):
1440         (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
1441         (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
1442         (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
1443         (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
1444         (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
1445         * css/CSSProperty.h:
1446         (WTF::):
1447         * css/CSSStyleDeclaration.cpp:
1448         (WebCore::CSSStyleDeclaration::diff):
1449         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1450         * css/CSSStyleSelector.cpp:
1451         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
1452         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1453         (WebCore::CSSStyleSelector::applyDeclarations):
1454         * dom/EventTarget.h:
1455         * editing/ApplyStyleCommand.cpp:
1456         (WebCore::StyleChange::init):
1457         (WebCore::ApplyStyleCommand::isHTMLStyleNode):
1458         (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1459         (WebCore::ApplyStyleCommand::removeCSSStyle):
1460         * editing/Editor.cpp:
1461         (WebCore::Editor::selectionStartHasStyle):
1462         (WebCore::updateState):
1463         * editing/ReplaceSelectionCommand.cpp:
1464         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1465         * editing/markup.cpp:
1466         (WebCore::appendStartMarkup):
1467
1468 2008-12-06  Simon Fraser  <simon.fraser@apple.com>
1469
1470         Reviewed by Antti Koivisto, Dan Bernstein
1471
1472         https://bugs.webkit.org/show_bug.cgi?id=22088
1473
1474         Fix logic related to repainting when transform changes:
1475         If an object has a layer, and the transform changes, then we need
1476         to do a repaintIncludingDescendants(), not just a repaint.
1477         
1478         Test: fast/repaint/transform-repaint-descendants.html
1479
1480         * rendering/RenderObject.cpp:
1481         (WebCore::RenderObject::styleWillChange):
1482
1483 2008-12-06  Simon Fraser  <simon.fraser@apple.com>
1484
1485         Reviewed by Dan Bernstein
1486
1487         https://bugs.webkit.org/show_bug.cgi?id=15739
1488
1489         When painting the selection on a replaced element, paint
1490         using local coordinates so that the selection is correctly
1491         painted for transformed elements.
1492
1493         Test: fast/replaced/selection-rect-transform.html
1494
1495         * rendering/RenderReplaced.cpp:
1496         (WebCore::RenderReplaced::paint):
1497
1498 2008-12-06  Simon Fraser  <simon.fraser@apple.com>
1499
1500         Reviewed by Dave Hyatt
1501
1502         https://bugs.webkit.org/show_bug.cgi?id=15671
1503         
1504         Fix caret rendering to behave correctly with transforms:
1505         * Rename caretRect() methods to localCaretRect() and
1506           absoluteCaretBounds() as appropriate
1507         * Fix localCaretRect() methods to return a rect in the
1508           appropriate coordinates.
1509         * Pass tx, ty down through the paintCaret() methods, after fixing them
1510           up to account for differences between contents coords, and renderer-local
1511           coords (via RenderBlock::offsetForContents()).
1512         * Remove m_caretPositionOnLayout from SelectionController, and instead
1513           call invalidateSelection() from RenderLayer::scrollToOffset(), because
1514           we can no longer assume simple x/y offsets from scrolling with transforms.
1515         * Move the logic to compute which RenderObject actually paints the caret into
1516           SelectionController::caretRenderer(), rather than having it in RenderBlock.
1517         * SelectionController now computes and caches a local caret rect. For invalidation,
1518           it computes the absolute bounds of that (possibly transformed) local rect.
1519           The local rect is computed in the coordinate system of the RenderObject that
1520           will paint the caret (this may require offsetting from the actual renderer
1521           at the start of the selection).
1522         * Fix LayoutState(RenderObject* root) to take transforms into account
1523         * Make offsetFromContainer() a virtual method on RenderObject, and implement
1524           the RenderObject version. It's used to map from selection start renderer
1525           to caret renderer.
1526
1527         Test: fast/transforms/transformed-caret.html
1528
1529         * WebCore.base.exp:
1530         * editing/DeleteSelectionCommand.cpp:
1531         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1532         * editing/SelectionController.cpp:
1533         (WebCore::SelectionController::SelectionController):
1534         (WebCore::absoluteCaretY):
1535         (WebCore::SelectionController::modify):
1536         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1537         (WebCore::SelectionController::layout):
1538         (WebCore::SelectionController::caretRenderer):
1539         (WebCore::SelectionController::localCaretRect):
1540         (WebCore::SelectionController::absoluteCaretBounds):
1541         (WebCore::SelectionController::caretRepaintRect):
1542         (WebCore::SelectionController::recomputeCaretRect):
1543         (WebCore::SelectionController::invalidateCaretRect):
1544         (WebCore::SelectionController::paintCaret):
1545         (WebCore::SelectionController::caretRendersInsideNode):
1546         * editing/SelectionController.h:
1547         * editing/VisiblePosition.cpp:
1548         (WebCore::VisiblePosition::localCaretRect):
1549         (WebCore::VisiblePosition::absoluteCaretBounds):
1550         (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
1551         * editing/VisiblePosition.h:
1552         * editing/mac/SelectionControllerMac.mm:
1553         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1554         * html/HTMLElement.cpp:
1555         (WebCore::HTMLElement::isContentEditable):
1556         * page/AccessibilityRenderObject.cpp:
1557         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1558         * page/Frame.cpp:
1559         (WebCore::Frame::firstRectForRange):
1560         (WebCore::Frame::selectionLayoutChanged):
1561         (WebCore::Frame::paintCaret):
1562         (WebCore::Frame::paintDragCaret):
1563         (WebCore::Frame::revealSelection):
1564         (WebCore::Frame::revealCaret):
1565         * page/Frame.h:
1566         * rendering/LayoutState.cpp:
1567         (WebCore::LayoutState::LayoutState):
1568         * rendering/RenderBlock.cpp:
1569         (WebCore::RenderBlock::paintCaret):
1570         (WebCore::RenderBlock::paintObject):
1571         (WebCore::RenderBlock::positionForCoordinates):
1572         (WebCore::RenderBlock::offsetForContents):
1573         * rendering/RenderBlock.h:
1574         * rendering/RenderBox.cpp:
1575         (WebCore::RenderBox::localCaretRect):
1576         * rendering/RenderBox.h:
1577         * rendering/RenderFlow.cpp:
1578         (WebCore::RenderFlow::localCaretRect):
1579         * rendering/RenderFlow.h:
1580         * rendering/RenderLayer.cpp:
1581         (WebCore::RenderLayer::scrollToOffset):
1582         * rendering/RenderObject.cpp:
1583         (WebCore::RenderObject::localCaretRect):
1584         * rendering/RenderObject.h:
1585         * rendering/RenderSVGInlineText.cpp:
1586         (WebCore::RenderSVGInlineText::localCaretRect):
1587         * rendering/RenderSVGInlineText.h:
1588         * rendering/RenderText.cpp:
1589         (WebCore::RenderText::RenderText):
1590         (WebCore::RenderText::localCaretRect):
1591         * rendering/RenderText.h:
1592
1593 2008-12-06  David Kilzer  <ddkilzer@apple.com>
1594
1595         Bug 22711: Current svn (build 39065) fails to compile
1596
1597         <https://bugs.webkit.org/show_bug.cgi?id=22711>
1598
1599         BUILD FIX for r39065: Forgot parentheses after "document".
1600
1601         Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1602         <https://bugs.webkit.org/show_bug.cgi?id=22666>
1603
1604         * svg/SVGFEImageElement.cpp:
1605         (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
1606         document to document().
1607
1608 2008-12-06  Dmitry Titov  <dimich@chromium.org>
1609
1610         Reviewed by Alexey Proskuryakov.
1611
1612         https://bugs.webkit.org/show_bug.cgi?id=22710
1613         Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
1614
1615         * bindings/js/DOMTimer.cpp:
1616         (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
1617
1618 2008-12-06  David Kilzer  <ddkilzer@apple.com>
1619
1620         Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1621
1622         <https://bugs.webkit.org/show_bug.cgi?id=22666>
1623
1624         Reviewed by Darin Adler.
1625
1626         When creating a webarchive from WebCore::LegacyWebArchive::create(),
1627         HashSet<String>, Vector<KURL> and Vector<String> were all used to
1628         store a list of URLs for resources found in the document.  Instead
1629         use a single ListHashSet<KURL> to store the list and resolve the
1630         relative URLs as they're added.  We use a new inline method called
1631         WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
1632         to prevent "null" KURL objects from crashing in the KURL hashing
1633         function.
1634
1635         * WebCore.base.exp: Changed export of
1636         WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
1637         argument instead of a Vector<KURL>.
1638
1639         * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
1640         header for use in WebKit.
1641
1642         * css/CSSStyleSheet.cpp:
1643         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
1644         addSubresourceURLStrings().  Changed to use ListHashSet<KURL>
1645         instead of HashSet<String>.  Cleaned up code.
1646         * css/CSSStyleSheet.h:
1647         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
1648         * css/StyleSheet.h:
1649         (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
1650
1651         * dom/Node.cpp:
1652         (WebCore::Node::getSubresourceURLs): Changed to use
1653         ListHashSet<KURL> instead of Vector<KURL>.  Cleaned up code.
1654         * dom/Node.h:
1655         (WebCore::Node::getSubresourceURLs): Ditto.
1656         (WebCore::Node::addSubresourceAttributeURLs): Renamed from
1657         getSubresourceAttributeStrings().  Changed to use ListHashSet<KURL>
1658         instead of Vector<String>.
1659         (WebCore::addSubresourceURL): Added.  Safely adds new KURL objects
1660         to a ListHashSet<KURL> object.  A "null" KURL object will cause the
1661         hash function to crash since it contains a null StringImpl.  Used in
1662         Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
1663         the style subsystem.
1664
1665         * dom/ProcessingInstruction.cpp:
1666         (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
1667         Renamed from getSubresourceAttributeStrings().  Changed to use
1668         ListHashSet<KURL> instead of Vector<String>.  Use
1669         WebCore::addSubresourceURL() to add new KURL objects.
1670         * dom/ProcessingInstruction.h: Ditto.
1671         * html/HTMLBodyElement.cpp:
1672         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
1673         * html/HTMLBodyElement.h: Ditto.
1674         * html/HTMLEmbedElement.cpp:
1675         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
1676         * html/HTMLEmbedElement.h: Ditto.
1677         * html/HTMLImageElement.cpp:
1678         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
1679         * html/HTMLImageElement.h: Ditto.
1680         * html/HTMLInputElement.cpp:
1681         (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
1682         * html/HTMLInputElement.h: Ditto.
1683         * html/HTMLLinkElement.cpp:
1684         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
1685         * html/HTMLLinkElement.h: Ditto.
1686         * html/HTMLObjectElement.cpp:
1687         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
1688         * html/HTMLObjectElement.h: Ditto.
1689         * html/HTMLParamElement.cpp:
1690         (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
1691         * html/HTMLParamElement.h: Ditto.
1692         * html/HTMLScriptElement.cpp:
1693         (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
1694         * html/HTMLScriptElement.h: Ditto.
1695         * html/HTMLStyleElement.cpp:
1696         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
1697         * html/HTMLStyleElement.h: Ditto.
1698         * html/HTMLTableCellElement.cpp:
1699         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
1700         * html/HTMLTableCellElement.h: Ditto.
1701         * html/HTMLTableElement.cpp:
1702         (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
1703         * html/HTMLTableElement.h: Ditto.
1704
1705         * loader/archive/cf/LegacyWebArchive.cpp:
1706         (WebCore::LegacyWebArchive::create): Changed from using
1707         HashSet<String> to ListHashSet<KURL> for tracking unique
1708         subresources.  Changed from using Vector<KURL> to ListHashSet<KURL>
1709         when calling WebCore::Node::getSubresourceURLs().  Cleaned up code.
1710
1711         * svg/SVGCursorElement.cpp:
1712         (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
1713         from getSubresourceAttributeStrings().  Changed to use
1714         ListHashSet<KURL> instead of Vector<String>.  Use
1715         WebCore::addSubresourceURL() to add new KURL objects.
1716         * svg/SVGCursorElement.h: Ditto.
1717         * svg/SVGFEImageElement.cpp:
1718         (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
1719         * svg/SVGFEImageElement.h: Ditto.
1720         * svg/SVGImageElement.cpp:
1721         (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
1722         * svg/SVGImageElement.h: Ditto.
1723         * svg/SVGScriptElement.cpp:
1724         (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
1725         * svg/SVGScriptElement.h: Ditto.
1726
1727 2008-12-05  Brett Wilson  <brettw@chromium.org>
1728
1729         Reviewed by Darin Adler.
1730
1731         Make the page group use the proper link hashing functions rather than
1732         calling the string hash functions directly. Add Chromium-specfic ifdefs
1733         in the visited link computation functions to allow integration.
1734
1735         * page/PageGroup.cpp:
1736         (WebCore::PageGroup::isLinkVisited):
1737         (WebCore::PageGroup::addVisitedLink):
1738         * platform/LinkHash.cpp:
1739         (WebCore::visitedLinkHash):
1740         * platform/LinkHash.h:
1741
1742 2008-12-05  Chris Marrin  <cmarrin@apple.com>
1743
1744         Reviewed by Dave Hyatt.
1745
1746         Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
1747         For iteration and end events, previous fixes to prevent the deletion of
1748         Animation objects (ref counting and hanging onto a ref during event callbacks)
1749         was sufficient to prevent dangling pointers. But start events are sent in
1750         the styleAvailable() call, which iterates over CompositeAnimation objects,
1751         which are not ref counted. So that object can get destroyed in the event
1752         handler while still active. So I added refcounting for CompositeAnimations.
1753
1754         Additionally, when am iterating over the CompositingAnimation list, it can
1755         be deleted, which mutates the list. So I now make one pass over the list
1756         building a vector of CompositeAnimation objects that need to be called and
1757         then iterate over that vector to make the actual calls.
1758
1759         Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
1760         the Animation objects it owns, I now keep a ref to the CompositeAnimation
1761         in the timer callback for the iteration and end events. That means I no
1762         longer need to keep a ref to the Animation objects themselves in that timer
1763         callback, since the CompositeAnimation already has one.
1764
1765         Tests: animations/animation-iteration-event-destroy-renderer.html
1766                animations/animation-start-event-destroy-renderer.html
1767
1768         * page/animation/AnimationBase.cpp:
1769         (WebCore::AnimationBase::updateStateMachine):
1770         (WebCore::AnimationBase::animationTimerCallbackFired):
1771         * page/animation/AnimationController.cpp:
1772         (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
1773         (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
1774         (WebCore::AnimationControllerPrivate::clear):
1775         (WebCore::AnimationControllerPrivate::styleAvailable):
1776         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1777         (WebCore::AnimationControllerPrivate::animationTimerFired):
1778         (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
1779         (WebCore::AnimationControllerPrivate::suspendAnimations):
1780         (WebCore::AnimationControllerPrivate::resumeAnimations):
1781         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1782         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1783         (WebCore::AnimationController::updateAnimations):
1784         (WebCore::AnimationController::setAnimationStartTime):
1785         (WebCore::AnimationController::setTransitionStartTime):
1786         * page/animation/CompositeAnimation.cpp:
1787         (WebCore::CompositeAnimationPrivate::animationController):
1788         (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
1789         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1790         (WebCore::CompositeAnimationPrivate::clearRenderer):
1791         (WebCore::CompositeAnimation::clearRenderer):
1792         (WebCore::CompositeAnimation::animationController):
1793         (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
1794         * page/animation/CompositeAnimation.h:
1795         (WebCore::CompositeAnimation::create):
1796
1797 2008-12-05  David Kilzer  <ddkilzer@apple.com>
1798
1799         Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
1800
1801         <https://bugs.webkit.org/show_bug.cgi?id=22609>
1802         <rdar://problem/6331749>
1803
1804         Reviewed by Darin Adler.
1805
1806         Initial patch by Yosen Lin.  Adapted for ToT WebKit by David Kilzer.
1807
1808         Added back the code that generates a "compact" hash (instead of a
1809         perfect hash) as a build-time option using the
1810         ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
1811
1812         * bindings/scripts/CodeGeneratorJS.pm:
1813         (GenerateImplementation): Compute the number of elements that will
1814         be stored in each hash table and pass it to GenerateHashTable().
1815         (GenerateHashTable): Added new second parameter representing the
1816         number of elements to store in the compact hash table.  Added back
1817         code to compute compact hash tables.  Generate both hash table sizes
1818         and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
1819
1820 2008-12-05  Brett Wilson  <brettw@chromium.org>
1821
1822         Fix build bustage from previous patch.
1823
1824         * css/CSSSelector.h:
1825
1826 2008-12-05  Brett Wilson  <brettw@chromium.org>
1827
1828         Reviewed by Eric Seidel.
1829
1830         Add a missing include for OwnPtr to make CSSSelector compile without
1831         precompiled headers.
1832
1833         * css/CSSSelector.h:
1834
1835 2008-12-05  Finnur Thorarinsson  <finnur.webkit@gmail.com>
1836
1837         Reviewed by Darin Adler.
1838
1839         Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
1840         without relying on high-level WebCore types, as requested by Dave Hyatt.
1841         
1842         No functional changes, thus no test cases.
1843
1844         * page/FrameView.cpp:
1845         (WebCore::FrameView::getTickmarks):
1846         * page/FrameView.h:
1847         * platform/ScrollbarClient.h:
1848
1849 2008-12-05  Dean Jackson  <dino@apple.com>
1850
1851         Reviewed by David Hyatt.
1852
1853         Make sure Window event listeners also tell the
1854         Document about the event type, so noisy events
1855         will be dispatched even if nothing in the document
1856         is listening.
1857         https://bugs.webkit.org/show_bug.cgi?id=20572
1858
1859         * dom/Document.cpp:
1860         (WebCore::Document::addWindowEventListener):
1861
1862 2008-12-05  Adam Roben  <aroben@apple.com>
1863
1864         Windows build fix after r39026
1865
1866         * platform/network/cf/ResourceRequestCFNet.cpp:
1867         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1868         (WebCore::ResourceRequest::doUpdateResourceRequest):
1869         Add some missing .get()s.
1870
1871 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
1872
1873         Tiger build fix.
1874
1875         * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
1876
1877 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
1878
1879         Reviewed by Darin Adler.
1880
1881         <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
1882         in Safari before opening a mail message in Mail
1883
1884         * platform/mac/WebCoreObjCExtras.mm:
1885         (WebCoreObjCFinalizeOnMainThread):
1886         Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
1887         Tiger and post-Tiger behavior in line.
1888
1889         * bindings/objc/DOMRGBColor.mm:
1890         (+[DOMRGBColor initialize]):
1891         * bindings/objc/WebScriptObject.mm:
1892         (+[WebScriptObject initialize]):
1893         * page/mac/AccessibilityObjectWrapper.mm:
1894         (+[AccessibilityObjectWrapper initialize]):
1895         * platform/mac/SharedBufferMac.mm:
1896         (+[WebCoreSharedBufferData initialize]):
1897         Call JSC::initializeThreading();
1898
1899 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
1900
1901         Reviewed by Darin Adler.
1902
1903         <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1904
1905         * platform/network/ResourceRequestBase.cpp:
1906         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1907         * platform/network/ResourceRequestBase.h:
1908         * platform/network/cf/ResourceRequestCFNet.cpp:
1909         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1910         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1911         (WebCore::setContentDispositionEncodingFallbackArray):
1912         (WebCore::copyContentDispositionEncodingFallbackArray):
1913         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1914         (WebCore::ResourceRequest::doUpdateResourceRequest):
1915         * platform/network/mac/ResourceRequestMac.mm:
1916         (WebCore::ResourceRequest::doUpdateResourceRequest):
1917         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1918         Added a way to specify encoding fallback list for Content-Disposition header.
1919
1920         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
1921         pass a list of encodings to try when decoding Content-Disposition header, as described
1922         in comments.
1923
1924 2008-12-05  Alexey Proskuryakov  <ap@webkit.org>
1925
1926         Reviewed by Darin Adler.
1927
1928         https://bugs.webkit.org/show_bug.cgi?id=22672
1929         ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
1930
1931         Test: http/tests/xmlhttprequest/send-on-abort.html
1932
1933         * dom/ScriptExecutionContext.cpp:
1934         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1935         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1936         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1937         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1938         Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
1939
1940         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
1941         reverts a recent change that made the behavior slightly closer to Firefox - but the
1942         compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
1943
1944 2008-12-05  Tobias König <tobias.koenig@nokia.com>
1945
1946         Reviewed by Simon Hausmann.
1947
1948         Record required package dependencies for the Qt build for a correct
1949         pkg-config file.
1950
1951         * WebCore.pro:
1952
1953 2008-12-05  Tor Arne Vestbø  <tavestbo@trolltech.com>
1954
1955         Rubber-stamped by Simon Hausmann.
1956
1957         [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
1958
1959         * plugins/mac/PluginPackageMac.cpp:
1960         (WebCore::PluginPackage::fetchInfo):
1961         (WebCore::PluginPackage::isPluginBlacklisted):
1962
1963 2008-12-05  Jungshik Shin  <jshin@chromium.org>
1964
1965         Reviewed by Alexey Proskuryakov.
1966
1967         https://bugs.webkit.org/show_bug.cgi?id=22472
1968
1969         Revises charset alias map for TextCodecICU.
1970         - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
1971         - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
1972         - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
1973           mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
1974           alias 'dos-874' to 'windows-874'.
1975         - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
1976           Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
1977           directly going to 'GBK'.
1978         - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
1979
1980         Tests: fast/encoding/char-decoding-mac.html
1981                fast/encoding/char-decoding.html
1982
1983         * platform/text/TextCodecICU.cpp:
1984         (WebCore::TextCodecICU::registerExtendedEncodingNames):
1985
1986 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
1987
1988         Reviewed by Kevin Ollivier.
1989
1990         Add a MIME mapping for the .htm extension to wx and GTK ports.
1991         
1992         https://bugs.webkit.org/show_bug.cgi?id=22668
1993         
1994         * platform/gtk/MIMETypeRegistryGtk.cpp:
1995         (WebCore::):
1996         * platform/wx/MimeTypeRegistryWx.cpp:
1997         (WebCore::):
1998
1999 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
2000
2001         Reviewed by Kevin Ollivier.
2002
2003         Implement basic text paste support in wx and add notImplemented stubs
2004         to catch other methods.
2005         
2006         https://bugs.webkit.org/show_bug.cgi?id=22667
2007
2008         * platform/wx/PasteboardWx.cpp:
2009         (WebCore::Pasteboard::canSmartReplace):
2010         (WebCore::Pasteboard::plainText):
2011         (WebCore::Pasteboard::documentFragment):
2012         (WebCore::Pasteboard::writeImage):
2013
2014 2008-12-04  Kevin Ollivier  <kevino@theolliviers.com>
2015
2016         wx build fix for !USE(WXGC) build config.
2017
2018         * platform/graphics/wx/PathWx.cpp:
2019         (WebCore::Path::contains):
2020         (WebCore::Path::addLineTo):
2021         (WebCore::Path::addQuadCurveTo):
2022         (WebCore::Path::addBezierCurveTo):
2023         (WebCore::Path::addArcTo):
2024         (WebCore::Path::closeSubpath):
2025         (WebCore::Path::addArc):
2026         (WebCore::Path::addRect):
2027         (WebCore::Path::addEllipse):
2028         (WebCore::Path::transform):
2029         (WebCore::Path::apply):
2030         (WebCore::Path::isEmpty):
2031
2032 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
2033
2034         Reviewed by Kevin Ollivier.
2035
2036         Turn off styled controls until we can implement them properly.
2037         
2038         https://bugs.webkit.org/show_bug.cgi?id=22662
2039
2040         * platform/wx/RenderThemeWx.cpp:
2041         (WebCore::RenderThemeWx::isControlStyled):
2042
2043 2008-12-04  Kevin Watters  <kevinwatters@gmail.com>
2044
2045         Reviewed by Kevin Ollivier.
2046
2047         wx implementations for Path API.
2048
2049         https://bugs.webkit.org/show_bug.cgi?id=22661
2050
2051         * platform/graphics/wx/PathWx.cpp:
2052         (WebCore::Path::~Path):
2053         (WebCore::Path::contains):
2054         (WebCore::Path::addLineTo):
2055         (WebCore::Path::addQuadCurveTo):
2056         (WebCore::Path::addBezierCurveTo):
2057         (WebCore::Path::addArcTo):
2058         (WebCore::Path::closeSubpath):
2059         (WebCore::Path::addArc):
2060         (WebCore::Path::addRect):
2061         (WebCore::Path::addEllipse):
2062         (WebCore::Path::transform):
2063         (WebCore::Path::isEmpty):
2064
2065 2008-12-04  Julien Chaffraix  <jchaffraix@webkit.org>
2066
2067         Reviewed by Eric Seidel.
2068
2069         Bug 22564: Make HTML elements' constructors take a QualifiedName
2070         https://bugs.webkit.org/show_bug.cgi?id=22564
2071
2072         Updated the remaining constructors.
2073
2074         * bindings/js/JSImageConstructor.cpp:
2075         (WebCore::constructImage):
2076         * dom/Document.cpp:
2077         (WebCore::Document::getCSSCanvasElement):
2078         * editing/DeleteButton.cpp:
2079         (WebCore::DeleteButton::DeleteButton):
2080         * html/HTMLAppletElement.cpp:
2081         (WebCore::HTMLAppletElement::HTMLAppletElement):
2082         * html/HTMLAppletElement.h:
2083         * html/HTMLAreaElement.cpp:
2084         (WebCore::HTMLAreaElement::HTMLAreaElement):
2085         * html/HTMLAreaElement.h:
2086         * html/HTMLBaseFontElement.cpp:
2087         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
2088         * html/HTMLBaseFontElement.h:
2089         * html/HTMLCanvasElement.cpp:
2090         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2091         * html/HTMLCanvasElement.h:
2092         * html/HTMLElementFactory.cpp:
2093         (WebCore::hrConstructor):
2094         (WebCore::paragraphConstructor):
2095         (WebCore::basefontConstructor):
2096         (WebCore::fontConstructor):
2097         (WebCore::anchorConstructor):
2098         (WebCore::imageConstructor):
2099         (WebCore::mapConstructor):
2100         (WebCore::areaConstructor):
2101         (WebCore::canvasConstructor):
2102         (WebCore::appletConstructor):
2103         (WebCore::embedConstructor):
2104         (WebCore::objectConstructor):
2105         (WebCore::paramConstructor):
2106         (WebCore::scriptConstructor):
2107         (WebCore::tableConstructor):
2108         (WebCore::tableCaptionConstructor):
2109         (WebCore::tableRowConstructor):
2110         * html/HTMLEmbedElement.cpp:
2111         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
2112         * html/HTMLEmbedElement.h:
2113         * html/HTMLFontElement.cpp:
2114         (WebCore::HTMLFontElement::HTMLFontElement):
2115         * html/HTMLFontElement.h:
2116         * html/HTMLHRElement.cpp:
2117         (WebCore::HTMLHRElement::HTMLHRElement):
2118         * html/HTMLHRElement.h:
2119         * html/HTMLImageElement.cpp:
2120         (WebCore::HTMLImageElement::HTMLImageElement):
2121         * html/HTMLImageElement.h:
2122         * html/HTMLMapElement.cpp:
2123         (WebCore::HTMLMapElement::HTMLMapElement):
2124         * html/HTMLMapElement.h:
2125         * html/HTMLObjectElement.cpp:
2126         (WebCore::HTMLObjectElement::HTMLObjectElement):
2127         * html/HTMLObjectElement.h:
2128         * html/HTMLParagraphElement.cpp:
2129         (WebCore::HTMLParagraphElement::HTMLParagraphElement):
2130         * html/HTMLParagraphElement.h:
2131         * html/HTMLParamElement.cpp:
2132         (WebCore::HTMLParamElement::HTMLParamElement):
2133         * html/HTMLParamElement.h:
2134         * html/HTMLParser.cpp:
2135         (WebCore::HTMLParser::handleError):
2136         (WebCore::HTMLParser::mapCreateErrorCheck):
2137         (WebCore::HTMLParser::handleIsindex):
2138         * html/HTMLScriptElement.cpp:
2139         (WebCore::HTMLScriptElement::HTMLScriptElement):
2140         * html/HTMLScriptElement.h:
2141         * html/HTMLTableCaptionElement.cpp:
2142         (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
2143         * html/HTMLTableCaptionElement.h:
2144         * html/HTMLTableElement.cpp:
2145         (WebCore::HTMLTableElement::HTMLTableElement):
2146         (WebCore::HTMLTableElement::createCaption):
2147         (WebCore::HTMLTableElement::insertRow):
2148         * html/HTMLTableElement.h:
2149         * html/HTMLTableRowElement.cpp:
2150         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
2151         * html/HTMLTableRowElement.h:
2152         * html/HTMLTableSectionElement.cpp:
2153         (WebCore::HTMLTableSectionElement::insertRow):
2154         * html/HTMLViewSourceDocument.cpp:
2155         (WebCore::HTMLViewSourceDocument::createContainingTable):
2156         (WebCore::HTMLViewSourceDocument::addLine):
2157         * loader/ImageDocument.cpp:
2158         (WebCore::ImageDocumentElement::ImageDocumentElement):
2159
2160 2008-12-04  Eric Seidel  <eric@webkit.org>
2161
2162         No review, build fix only.
2163
2164         Add file missing from last commit.
2165
2166         * bindings/js/ScriptState.h: Added.
2167
2168 2008-12-04  Dimitri Glazkov  <dglazkov@chromium.org>
2169
2170         Reviewed by Geoff Garen.
2171
2172         Implement ScriptState abstraction (initially, a simple typedef)
2173         as means of carrying exception information across bindings boundaries
2174         and in a script engine-independent way.
2175
2176         * WebCore.vcproj/WebCore.vcproj:
2177         * WebCore.xcodeproj/project.pbxproj:
2178         * bindings/js/JSDOMBinding.cpp:
2179         (WebCore::scriptStateFromNode):
2180         * bindings/js/JSDOMBinding.h:
2181         * bindings/js/JSNodeFilterCondition.h:
2182         * bindings/js/ScriptState.h: Added.
2183         * dom/NodeFilter.cpp:
2184         (WebCore::NodeFilter::acceptNode):
2185         * dom/NodeFilter.h:
2186         (WebCore::NodeFilter::acceptNode):
2187         * dom/NodeFilterCondition.cpp:
2188         (WebCore::NodeFilterCondition::acceptNode):
2189         * dom/NodeFilterCondition.h:
2190         * dom/NodeIterator.cpp:
2191         (WebCore::NodeIterator::nextNode):
2192         (WebCore::NodeIterator::previousNode):
2193         * dom/NodeIterator.h:
2194         (WebCore::NodeIterator::nextNode):
2195         (WebCore::NodeIterator::previousNode):
2196         * dom/Traversal.cpp:
2197         (WebCore::Traversal::acceptNode):
2198         * dom/Traversal.h:
2199         * dom/TreeWalker.cpp:
2200         (WebCore::TreeWalker::parentNode):
2201         (WebCore::TreeWalker::firstChild):
2202         (WebCore::TreeWalker::lastChild):
2203         (WebCore::TreeWalker::previousSibling):
2204         (WebCore::TreeWalker::nextSibling):
2205         (WebCore::TreeWalker::previousNode):
2206         (WebCore::TreeWalker::nextNode):
2207         * dom/TreeWalker.h:
2208         (WebCore::TreeWalker::parentNode):
2209         (WebCore::TreeWalker::firstChild):
2210         (WebCore::TreeWalker::lastChild):
2211         (WebCore::TreeWalker::previousSibling):
2212         (WebCore::TreeWalker::nextSibling):
2213         (WebCore::TreeWalker::previousNode):
2214         (WebCore::TreeWalker::nextNode):
2215
2216 2008-12-04  Pierre-Olivier Latour  <pol@apple.com>
2217
2218         Reviewed by Dan Bernstein.
2219
2220         Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
2221         and potential similar issue with pauseAnimationAtTimeOnElementWithId().
2222
2223         https://bugs.webkit.org/show_bug.cgi?id=22641
2224
2225         * page/animation/CompositeAnimation.cpp:
2226         (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
2227         (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
2228
2229 2008-12-04  Dimitri Glazkov  <dglazkov@chromium.org>
2230
2231         Reviewed by Darin Adler.
2232
2233         Remove unused Completion.h include.
2234
2235         * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
2236
2237 2008-11-13  David Hyatt  <hyatt@apple.com>
2238
2239         Fix a bug in ScrollView's refactoring.  An isVisible check should have been isSelfVisible.
2240
2241         Reviewed by Darin Adler
2242
2243         * platform/ScrollView.cpp:
2244         (WebCore::ScrollView::setParentVisible):
2245
2246 2008-12-04  Friedemann Kleint  <friedemann.kleint@nokia.com>
2247
2248         Reviewed by Tor Arne Vestbø.
2249
2250         Fix small translation glitch in the Qt file chooser.
2251
2252         * platform/qt/FileChooserQt.cpp:
2253         (WebCore::FileChooser::basenameForWidth):
2254
2255 2008-12-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
2256
2257         Rubber-stamped by Simon Hausmann.
2258
2259         Blacklist Silverlight plugin on Qt/Mac until supported
2260
2261         Currently the plugin crashes with a corrupted stack trace, possibly
2262         related to https://bugs.webkit.org/show_bug.cgi?id=20635
2263
2264         * plugins/mac/PluginPackageMac.cpp:
2265         (WebCore::PluginPackage::fetchInfo):
2266         (WebCore::PluginPackage::isPluginBlacklisted):
2267
2268 2008-12-03  Dmitry Titov  <dimich@chromium.org>
2269
2270         Reviewed by Alexey Proskuryakov.
2271
2272         Fix non-Mac build.
2273
2274         * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2275
2276 2008-12-03  David Levin  <levin@chromium.org>
2277
2278         Reviewed by Alexey Proskuryakov.
2279
2280         Remove uses of document() in XMLHttpRequest where simple.
2281         https://bugs.webkit.org/show_bug.cgi?id=22619
2282
2283         * xml/XMLHttpRequest.cpp:
2284         (WebCore::XMLHttpRequest::responseXML):
2285         Return NULL in the worker case which is according to spec (and avoids using document()).
2286
2287         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2288         (WebCore::XMLHttpRequest::initSend):
2289         Use scriptExecutionContext() instead of document().
2290
2291 2008-12-03  David Levin  <levin@chromium.org>
2292
2293         Reviewed by Alexey Proskuryakov.
2294
2295         Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
2296         https://bugs.webkit.org/show_bug.cgi?id=22642
2297
2298         * dom/Document.cpp:
2299         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
2300         (WebCore::ScriptExecutionContextTaskTimer::fired):
2301         (WebCore::PerformTaskContext::PerformTaskContext):
2302         (WebCore::performTask):
2303         (WebCore::Document::postTask):
2304         * dom/Document.h:
2305         * dom/ScriptExecutionContext.cpp:
2306         * dom/ScriptExecutionContext.h:
2307         * dom/WorkerContext.cpp:
2308         (WebCore::ScriptExecutionContextTaskWorkerTask::create):
2309         (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
2310         (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
2311         (WebCore::WorkerContext::postTask):
2312         * dom/WorkerContext.h:
2313
2314 2008-12-03  Dmitry Titov  <dimich@chromium.org>
2315
2316         Reviewed by Alexey Proskuryakov.
2317
2318         Using ActiveDOMObject as base class for DOMTimer.
2319         https://bugs.webkit.org/show_bug.cgi?id=22620
2320
2321         Using ActiveDOMObject simplifies the code because ActiveDOMObject
2322         is wired for stop/pause/resume on loading/unloading/caching the page etc
2323         so the timer-specific code that does the same can be removed.
2324         In addition, timers can be now paused/resumed 'in place' which
2325         makes it unnecessary to 'serialize' them into special PausedTimeouts
2326         instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
2327         Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
2328         of timeouts and makes it possible to not roundtrip them via PausedTimeouts 
2329         every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
2330
2331         Timeouts are now paused with other ActiveDOMObjects:
2332         - before creating CachedPage in FrameLoader::commitProvisionalLoad()
2333         - in JavaScriptDebugServer::setJavaScriptPaused
2334         - during modal UI operations in Chrome::*
2335         this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
2336
2337         Timeouts are stopped to prevent future firing from:
2338         - FrameLoader::clear()
2339         - FrameLoader::frameDetached()
2340         this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
2341
2342         This is also one of the steps to having timers in Workers. See the plan of
2343         the next steps in the bug above.
2344
2345         * bindings/js/DOMTimer.cpp:
2346         (WebCore::DOMTimer::DOMTimer):
2347         (WebCore::DOMTimer::fired):
2348         (WebCore::DOMTimer::hasPendingActivity):
2349         (WebCore::DOMTimer::contextDestroyed):
2350         (WebCore::DOMTimer::stop):
2351         (WebCore::DOMTimer::suspend):
2352         (WebCore::DOMTimer::resume):
2353         (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
2354
2355         * bindings/js/DOMTimer.h:
2356         * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
2357         (WebCore::markActiveObjectsForContext): 
2358
2359         * bindings/js/JSDOMWindowBase.cpp:
2360         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2361         (WebCore::JSDOMWindowBase::clear):
2362         (WebCore::JSDOMWindowBase::installTimeout):
2363         (WebCore::JSDOMWindowBase::removeTimeout):
2364         (WebCore::JSDOMWindowBase::timerFired):
2365         (WebCore::JSDOMWindowBase::disconnectFrame):
2366         * bindings/js/JSDOMWindowBase.h:
2367         * bindings/js/ScriptController.cpp:
2368         * bindings/js/ScriptController.h:
2369
2370         * dom/Document.cpp: Document now holds a hash map id->timeout
2371         (WebCore::Document::addTimeout):
2372         (WebCore::Document::removeTimeout):
2373         (WebCore::Document::findTimeout):
2374         * dom/Document.h:
2375         * history/CachedPage.cpp:
2376         (WebCore::CachedPage::CachedPage):
2377         (WebCore::CachedPage::restore):
2378         (WebCore::CachedPage::clear):
2379         * history/CachedPage.h:
2380         * inspector/JavaScriptDebugServer.cpp:
2381         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
2382         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2383         * inspector/JavaScriptDebugServer.h:
2384
2385         * loader/FrameLoader.cpp:
2386         (WebCore::FrameLoader::commitProvisionalLoad): 
2387         removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
2388         I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
2389         and then calls into client which can be external code and can cause any active object created in onunload
2390         to fire. We can stop them all before firing onunload but it does not make a lot of sense.
2391         I have a test to go with the next patch which verifies that timers set in onunload do not fire.
2392
2393         (WebCore::FrameLoader::open):
2394         * page/Chrome.cpp:
2395         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2396         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2397
2398 2008-12-03  Justin Garcia  <justin.garcia@apple.com>
2399
2400         Reviewed by Beth Dakin.
2401
2402         <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
2403         
2404         In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
2405         end of pasted content so that users don't get stuck with non-standard pargraph
2406         spacing.  This content threw off our handling of interchange newlines.  Any interchange
2407         newline, regardless of it's position in the incoming fragment was considered to be
2408         "at the start" of the fragment, and would result in us inserting in a newline before 
2409         inserted content.  This patch makes the checks for interchange newlines more strict, 
2410         and treats interchange newlines found elsewhere as normal <br>s.
2411
2412         * editing/ReplaceSelectionCommand.cpp:
2413         (WebCore::ReplacementFragment::ReplacementFragment):
2414         (WebCore::ReplacementFragment::removeInterchangeNodes):
2415         * editing/VisiblePosition.cpp:
2416         (WebCore::VisiblePosition::init):
2417         (WebCore::VisiblePosition::canonicalPosition):
2418         * editing/VisiblePosition.h:
2419
2420 2008-12-03  Eric Seidel  <eric@webkit.org>
2421
2422         Rubber-stamped by David Hyatt.
2423
2424         Bring the WebCore chromium build a couple steps closer to building.
2425
2426         * WebCore.scons:
2427
2428 2008-12-03  Kevin Ollivier  <kevino@theolliviers.com>
2429
2430         wx build fix.
2431
2432         * WebCoreSources.bkl:
2433
2434 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2435
2436         Reviewed by George Staikos.
2437
2438         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
2439
2440         Implement WML variable substitution & validation.
2441         Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
2442
2443         Tests: wml/variable-reference-invalid-character.html
2444                wml/variable-reference-valid.html
2445
2446         * wml/WMLVariables.cpp:
2447         (WebCore::isValidFirstVariableNameCharacter):
2448         (WebCore::isValidVariableNameCharacter):
2449         (WebCore::isValidVariableEscapingModeString):
2450         (WebCore::isValidVariableName):
2451         (WebCore::containsVariableReference):
2452         (WebCore::substituteVariableReferences):
2453         * wml/WMLVariables.h:
2454
2455 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2456
2457         Reviewed by Cameron Zwarich.
2458
2459         Further preparations for WML layout tests.
2460         - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
2461         - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
2462         - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
2463           (will be used in the upcoming LayoutTests/wml testcases)
2464
2465          * dom/Document.cpp:
2466         (WebCore::Document::resetWMLPageState):
2467         * dom/Document.h:
2468         * dom/Document.idl:
2469         * dom/Text.cpp:
2470         (WebCore::Text::insertedIntoDocument):
2471         * dom/Text.h:
2472         * page/Console.cpp:
2473         (WebCore::Console::addMessage):
2474         * wml/WMLPageState.h: Readd heper function
2475         (WebCore::WMLPageState::hasVariables):
2476
2477 2008-12-03  Antti Koivisto  <antti@apple.com>
2478
2479         Reviewed by Sam Weinig.
2480
2481         Don't leak selectors in case selector list parsing failed.
2482
2483         * css/CSSGrammar.y:
2484         * css/CSSParser.cpp:
2485         (WebCore::CSSParser::~CSSParser):
2486
2487 2008-12-03  Chris Marrin  <cmarrin@apple.com>
2488
2489         Reviewed by Dave Hyatt.
2490
2491         Fix https://bugs.webkit.org/show_bug.cgi?id=22520
2492
2493         This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
2494         This patch fixes the testcase.
2495
2496         This is another case of animations getting destroyed in the end animation callback and causing dangling
2497         pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
2498         So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
2499         and skip that call.
2500
2501         * page/animation/AnimationBase.cpp:
2502         (WebCore::AnimationBase::updateStateMachine):
2503
2504 2008-12-03  Antti Koivisto  <antti@apple.com>
2505
2506         Reviewed by Darin Adler.
2507
2508         https://bugs.webkit.org/show_bug.cgi?id=22379
2509         Make CSSOM use less memory
2510
2511         Reduce size of the CSSSelector by one more pointer by using an array
2512         instead of a linked list to store them.
2513
2514         * WebCore.xcodeproj/project.pbxproj:
2515         * css/CSSGrammar.y:
2516         * css/CSSParser.cpp:
2517         (WebCore::CSSParser::CSSParser):
2518         (WebCore::CSSParser::parseSelector):
2519         (WebCore::CSSParser::createStyleRule):
2520         * css/CSSParser.h:
2521         (WebCore::CSSParser::reusableSelectorVector):
2522         * css/CSSSelector.h:
2523         (WebCore::CSSSelector::CSSSelector):
2524         (WebCore::CSSSelector::~CSSSelector):
2525         (WebCore::CSSSelector::isLastInSelectorList):
2526         (WebCore::CSSSelector::setLastInSelectorList):
2527         * css/CSSStyleRule.cpp:
2528         (WebCore::CSSStyleRule::CSSStyleRule):
2529         (WebCore::CSSStyleRule::~CSSStyleRule):
2530         (WebCore::CSSStyleRule::selectorText):
2531         * css/CSSStyleRule.h:
2532         (WebCore::CSSStyleRule::adoptSelectorVector):
2533         (WebCore::CSSStyleRule::selectorList):
2534         * css/CSSStyleSelector.cpp:
2535         (WebCore::CSSRuleSet::addRulesFromSheet):
2536         * dom/Node.cpp:
2537         (WebCore::forEachSelector):
2538         (WebCore::selectorNeedsNamespaceResolution):
2539         (WebCore::Node::querySelector):
2540         (WebCore::Node::querySelectorAll):
2541         * dom/SelectorNodeList.cpp:
2542         (WebCore::createSelectorNodeList):
2543         * dom/SelectorNodeList.h:
2544
2545 2008-12-03  Alexey Proskuryakov  <ap@webkit.org>
2546
2547         Reviewed by Darin Adler.
2548
2549         https://bugs.webkit.org/show_bug.cgi?id=22630
2550         Assertion failure in XMLHttpRequest::contextDestroyed
2551
2552         Test: http/tests/xmlhttprequest/close-window.html
2553
2554         * loader/FrameLoader.cpp:
2555         (WebCore::FrameLoader::clear):
2556         (WebCore::FrameLoader::commitProvisionalLoad):
2557         Move stopping active objects to clear(), so that closing a window is also covered.
2558
2559         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
2560         because internalAbort() deref()'s.
2561
2562 2008-12-03  Dean Jackson  <dino@apple.com>
2563
2564         Reviewed by Dan Bernstein.
2565
2566         Implement CSS 3 <angle> turn unit and support it
2567         in rotations.
2568         https://bugs.webkit.org/show_bug.cgi?id=22497
2569
2570         * css/CSSGrammar.y:
2571         * css/CSSParser.cpp:
2572         (WebCore::CSSParser::validUnit):
2573         (WebCore::unitFromString):
2574         (WebCore::CSSParser::lex):
2575         * css/CSSPrimitiveValue.cpp:
2576         (WebCore::CSSPrimitiveValue::cssText):
2577         (WebCore::CSSPrimitiveValue::parserValue):
2578         * css/CSSPrimitiveValue.h:
2579         (WebCore::CSSPrimitiveValue::):
2580         * css/CSSStyleSelector.cpp:
2581         (WebCore::CSSStyleSelector::createTransformOperations):
2582         * css/tokenizer.flex:
2583
2584 2008-12-03  Dirk Schulze  <krit@webkit.org>
2585
2586         Reviewed by Nikolas Zimmermann.
2587
2588         Make use of the gradient code in GraphicsContext and get rid of most of the
2589         platform dependent code.
2590
2591         SVG should use the new Gradient support on GraphicsContext
2592         https://bugs.webkit.org/show_bug.cgi?id=20543
2593
2594         * GNUmakefile.am:
2595         * WebCore.pro:
2596         * WebCore.vcproj/WebCore.vcproj:
2597         * WebCore.xcodeproj/project.pbxproj:
2598         * platform/graphics/FloatSize.h:
2599         (WebCore::FloatSize::shrunkTo):
2600         * svg/SVGLinearGradientElement.cpp:
2601         (WebCore::SVGLinearGradientElement::buildGradient):
2602         * svg/SVGRadialGradientElement.cpp:
2603         (WebCore::SVGRadialGradientElement::buildGradient):
2604         * svg/graphics/SVGPaintServer.h:
2605         * svg/graphics/SVGPaintServerGradient.cpp:
2606         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2607         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
2608         (WebCore::SVGPaintServerGradient::gradient):
2609         (WebCore::SVGPaintServerGradient::setGradient):
2610         (WebCore::findTextRootObject):
2611         (WebCore::createMaskAndSwapContextForTextGradient):
2612         (WebCore::clipToTextMask):
2613         (WebCore::SVGPaintServerGradient::setup):
2614         (WebCore::SVGPaintServerGradient::renderPath):
2615         (WebCore::SVGPaintServerGradient::teardown):
2616         * svg/graphics/SVGPaintServerGradient.h:
2617         (WebCore::SVGPaintServerGradient::setGradientStops):
2618         (WebCore::SVGPaintServerGradient::gradientStops):
2619         * svg/graphics/SVGPaintServerLinearGradient.h:
2620         * svg/graphics/SVGPaintServerRadialGradient.h:
2621         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
2622         * svg/graphics/cg/SVGPaintServerCg.cpp:
2623         * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
2624         * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
2625         * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
2626         * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
2627
2628 2008-12-03  Sam Weinig  <sam@webkit.org>
2629
2630         Reviewed by Mark Rowe.
2631
2632         Fix formatting.
2633
2634         * css/CSSSelector.h:
2635         (WebCore::CSSSelector::createRareData):
2636
2637 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2638
2639         Reviewed by Adam Roben.
2640
2641         As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
2642
2643         * inspector/front-end/Console.js:
2644         * page/Console.h:
2645
2646 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2647
2648         Reviewed by Alexey Proskuryakov.
2649
2650         Next steps to make LayoutTests work:
2651         Never access the main frame from WMLRefreshElement/WMLCardElement, but
2652         the current documents frame (WML layout tests will run in an <iframe>)
2653
2654         Prepare WMLErrorHandling for the case that no tokenizer is available anymore
2655         -> report errors through Console::addMessage(), so they get logged in the
2656            expected layout test results.
2657
2658         * wml/WMLCardElement.cpp:
2659         (WebCore::WMLCardElement::setActiveCardInDocument):
2660         * wml/WMLErrorHandling.cpp:
2661         (WebCore::reportWMLError):
2662         (WebCore::errorMessageForErrorCode):
2663         * wml/WMLErrorHandling.h:
2664         * wml/WMLRefreshElement.cpp:
2665         (WebCore::WMLRefreshElement::executeTask):
2666         * page/Console.cpp: Handle WMLMessageSource.
2667         (WebCore::printMessageSourceAndLevelPrefix):
2668         * page/Console.h: Add WMLMessageSource.
2669         (WebCore::):
2670
2671 2008-12-03  Tor Arne Vestbø  <tavestbo@trolltech.com>
2672
2673         Reviewed by Simon Hausmann.
2674
2675         Allow passing jsNull and jsUndefined to Qt plugins
2676
2677         Currently limited to functions with QString and QVariant arguments,
2678         and properties of these types. Both jsNull and jsUndefined ends up
2679         as default-constructed QStrings and QVariants, which means you can
2680         check for isEmpty() and isValid() in the native plugin code.
2681
2682         Based on patches by Jade Han <jade.han@nokia.com>
2683
2684         * bridge/qt/qt_runtime.cpp:
2685         (JSC::Bindings::convertValueToQVariant):
2686         (JSC::Bindings::findMethodIndex):
2687
2688 2008-12-03  Trenton Schulz  <trenton.schulz@nokia.com>
2689
2690         Reviewed by Simon Hausmann.
2691
2692         Fix the build with Qt for Mac OS X.
2693
2694         * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
2695
2696 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2697
2698         Reviewed by Alexey Proskuryakov.
2699
2700         Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
2701         in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
2702         reported, instead of 'WMLErrorInvalidVariableReference'.
2703
2704         * wml/WMLElement.cpp:
2705         (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
2706         (WebCore::WMLElement::parseValueForbiddingVariableReferences):
2707         * wml/WMLElement.h:
2708         * wml/WMLSetvarElement.cpp:
2709         (WebCore::WMLSetvarElement::parseMappedAttribute):
2710         * wml/WMLSetvarElement.h:
2711         (WebCore::WMLSetvarElement::name):
2712         (WebCore::WMLSetvarElement::value):
2713
2714 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2715
2716         Reviewed by Alexey Proskuryakov.
2717
2718         Preparations to get WML layout tests going.
2719         Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
2720
2721         * page/Page.cpp:
2722         (WebCore::Page::Page):
2723         (WebCore::Page::wmlPageState):
2724         * page/Page.h:
2725         * wml/WMLDocument.cpp:
2726         (WebCore::WMLDocument::WMLDocument):
2727         (WebCore::WMLDocument::finishedParsing):
2728         (WebCore::wmlPageStateForDocument):
2729         * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
2730         (WebCore::WMLPageState::hasVariables): Remove helper function.
2731
2732 2008-12-03  Alexey Proskuryakov  <ap@webkit.org>
2733
2734         Reviewed by Mark Rowe.
2735
2736         https://bugs.webkit.org/show_bug.cgi?id=22627
2737         fast/workers/worker-terminate.html fails randomly
2738
2739         The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
2740         is raised, and it sometimes reaches the main thread.
2741
2742         * dom/WorkerMessagingProxy.cpp:
2743         (WebCore::WorkerExceptionTask::create):
2744         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2745         (WebCore::WorkerExceptionTask::performTask):
2746         (WebCore::WorkerMessagingProxy::postWorkerException):
2747         * dom/WorkerMessagingProxy.h:
2748         Ignore exceptions that happen in terminated workers.
2749
2750 2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2751
2752         Reviewed by Alexey Proskuryakov.
2753
2754         Remove some unncessary includes.
2755
2756         * wml/WMLAccessElement.cpp:
2757         * wml/WMLDocument.h:
2758         * wml/WMLRefreshElement.cpp:
2759
2760 2008-12-03  Alexey Proskuryakov  <ap@webkit.org>
2761
2762         Rubber-stamped by Cameron Zwarich and Adam Roben.
2763
2764         Fix a typo: m_executionForbidded.
2765
2766         * bindings/js/WorkerScriptController.cpp:
2767         (WebCore::WorkerScriptController::WorkerScriptController):
2768         (WebCore::WorkerScriptController::evaluate):
2769         (WebCore::WorkerScriptController::forbidExecution):
2770         * bindings/js/WorkerScriptController.h:
2771
2772 2008-12-03  Dean McNamee  <deanm@chromium.org>
2773
2774         Bug 22623: Uninitialized memory access in cache parsing code
2775         <https://bugs.webkit.org/show_bug.cgi?id=22623>
2776
2777         Reviewed by David Kilzer.
2778
2779         Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
2780
2781         * platform/network/ResourceResponseBase.h:
2782         (WebCore::ResourceResponseBase::ResourceResponseBase):
2783
2784 2008-12-03  Antti Koivisto  <antti@apple.com>
2785
2786         Probable build fix.
2787
2788         * WebCoreSources.bkl:
2789
2790 2008-12-03  Antti Koivisto  <antti@apple.com>
2791
2792         Forgot to commit these.
2793
2794         * dom/Node.cpp:
2795         (WebCore::forEachTagSelector):
2796         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2797         (WebCore::Node::querySelector):
2798         * dom/SelectorNodeList.cpp:
2799         (WebCore::createSelectorNodeList):
2800
2801 2008-12-03  Antti Koivisto  <antti@apple.com>
2802
2803         Reviewed by Dan Bernstein and Mark Rowe.
2804
2805         https://bugs.webkit.org/show_bug.cgi?id=22379
2806         Make CSSOM use less memory
2807
2808         Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
2809         struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
2810         encountered had rare data.
2811         
2812         This also eliminates the CSSNthSelector subclass which will make possible to store
2813         CSSSelectors in an array instead of a linked list for futher memory savings.
2814
2815         * css/CSSGrammar.y:
2816         * css/CSSNthSelector.cpp: Removed.
2817         * css/CSSNthSelector.h: Removed.
2818         * css/CSSParser.cpp:
2819         (WebCore::CSSParser::createFloatingSelector):
2820         * css/CSSParser.h:
2821         * css/CSSSelector.cpp:
2822         (WebCore::CSSSelector::specificity):
2823         (WebCore::CSSSelector::operator==):
2824         (WebCore::CSSSelector::selectorText):
2825         (WebCore::CSSSelector::setTagHistory):
2826         (WebCore::CSSSelector::attribute):
2827         (WebCore::CSSSelector::setAttribute):
2828         (WebCore::CSSSelector::setArgument):
2829         (WebCore::CSSSelector::setSimpleSelector):
2830         (WebCore::CSSSelector::parseNth):
2831         (WebCore::CSSSelector::matchNth):
2832         (WebCore::CSSSelector::RareData::parseNth):
2833         (WebCore::CSSSelector::RareData::matchNth):
2834         * css/CSSSelector.h:
2835         (WebCore::CSSSelector::CSSSelector):
2836         (WebCore::CSSSelector::~CSSSelector):
2837         (WebCore::CSSSelector::tagHistory):
2838         (WebCore::CSSSelector::hasAttribute):
2839         (WebCore::CSSSelector::argument):
2840         (WebCore::CSSSelector::simpleSelector):
2841         (WebCore::CSSSelector::RareData::RareData):
2842         (WebCore::CSSSelector::createRareData):
2843         (WebCore::CSSSelector::):
2844         * css/CSSStyleSelector.cpp:
2845         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2846         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2847
2848 2008-12-03  Jian Li  <jianli@chromium.org>
2849
2850         Reviewed by Alexey Proskuryakov.
2851
2852         Remove unneeded included file in WorkerThread.cpp.
2853         https://bugs.webkit.org/show_bug.cgi?id=22613
2854
2855         * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
2856
2857 2008-12-02  Alexey Proskuryakov  <ap@webkit.org>
2858
2859         Reviewed by Maciej Stachowiak.
2860
2861         https://bugs.webkit.org/show_bug.cgi?id=22543
2862         Consolidate ActiveDOMObject page cache interaction
2863
2864         Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
2865
2866         * dom/ActiveDOMObject.cpp:
2867         (WebCore::ActiveDOMObject::canSuspend):
2868         (WebCore::ActiveDOMObject::suspend):
2869         (WebCore::ActiveDOMObject::resume):
2870         * dom/ActiveDOMObject.h:
2871         * dom/ScriptExecutionContext.cpp:
2872         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2873         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2874         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2875         * dom/ScriptExecutionContext.h:
2876         Added methods for suspending and resuming active objects.
2877
2878         * dom/Worker.cpp:
2879         (WebCore::Worker::canSuspend):
2880         (WebCore::Worker::stop):
2881         * dom/Worker.h:
2882         Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
2883         running until their owner was destroyed.
2884
2885         * loader/FrameLoader.cpp:
2886         (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
2887         their activity is not necessarily loading.
2888         (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
2889         Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
2890         uncacheable due to no-null main document error.
2891         (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
2892         whether the document will be cached.
2893         (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
2894         context is destroyed.
2895
2896         * xml/XMLHttpRequest.h: added canSuspend().
2897         * xml/XMLHttpRequest.cpp:
2898         (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
2899         (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
2900         for Firefox compatibility. This is a change in behavior that helps test that requests do
2901         get aborted.
2902         (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
2903         assert that.
2904
2905 2008-12-02  Chris Fleizach  <cfleizach@apple.com>
2906
2907         Reviewed by Beth Dakin.
2908
2909         Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
2910
2911         Test: accessibility/th-as-title-ui.html
2912
2913         * page/AccessibilityObject.h:
2914         (WebCore::AccessibilityObject::isGroup):
2915         * page/AccessibilityRenderObject.cpp:
2916         (WebCore::AccessibilityRenderObject::isGroup):
2917         * page/AccessibilityRenderObject.h:
2918         * page/AccessibilityTableCell.cpp:
2919         (WebCore::AccessibilityTableCell::rowIndexRange):
2920         (WebCore::AccessibilityTableCell::columnIndexRange):
2921         (WebCore::AccessibilityTableCell::titleUIElement):
2922         * page/AccessibilityTableCell.h:
2923         * page/mac/AccessibilityObjectWrapper.mm:
2924         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2925
2926 2008-12-02  Simon Fraser  <simon.fraser@apple.com>
2927
2928         Reviewed by Dave Hyatt
2929
2930         https://bugs.webkit.org/show_bug.cgi?id=22472
2931         
2932         Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
2933         that is large enough to encompass the selection, so that the repainting of
2934         selected replaced elements works correctly.
2935         
2936         Test: fast/repaint/selected-replaced.html
2937
2938         * rendering/RenderReplaced.cpp:
2939         (WebCore::RenderReplaced::selectionRect):
2940         (WebCore::RenderReplaced::localSelectionRect):
2941         (WebCore::RenderReplaced::absoluteClippedOverflowRect):
2942         * rendering/RenderReplaced.h:
2943
2944 2008-12-02  Gregory Hughes  <ghughes@apple.com>
2945
2946         Reviewed by Beth Dakin.
2947
2948         Bug 22513: ZOOM: text selection does not send correct zoom bounds
2949
2950         When zoomed, text selection must send the zoom bounds in flipped
2951         screen coordinates.
2952
2953         * editing/mac/SelectionControllerMac.mm:
2954         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2955         * page/mac/WebCoreViewFactory.h:
2956
2957 2008-12-02  Dean Jackson  <dino@apple.com>
2958
2959         Reviewed by Sam Weinig.
2960
2961         Remove support for 'now' from CSS (was
2962         erroneously added to transition and animation delay)
2963         https://bugs.webkit.org/show_bug.cgi?id=22571
2964
2965         * css/CSSParser.cpp:
2966         (WebCore::CSSParser::parseAnimationDelay):
2967         * css/CSSStyleSelector.cpp:
2968         (WebCore::CSSStyleSelector::mapAnimationDelay):
2969         * css/CSSValueKeywords.in:
2970
2971 2008-12-02  Eric Seidel  <eric@webkit.org>
2972
2973         Build fix, no review.
2974
2975         Fix the Mac and gtk builds:
2976         Don't use a float to hold a double.
2977         Remove a now duplicate symbol.
2978
2979         * page/Frame.cpp:
2980         (WebCore::Frame::selectionLayoutChanged):
2981         * platform/gtk/TemporaryLinkStubs.cpp:
2982
2983 2008-12-02  Chris Fleizach  <cfleizach@apple.com>
2984
2985         Bug 22596: Some elements don't report AXBlockQuoteLevel
2986         https://bugs.webkit.org/show_bug.cgi?id=22596
2987  
2988         Reviewed by John Sullivan.
2989
2990         * page/mac/AccessibilityObjectWrapper.mm:
2991         (blockquoteLevel):
2992         (AXAttributeStringSetBlockquoteLevel):
2993         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2994         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2995
2996 2008-12-02  Dean McNamee  <deanm@chromium.org>
2997
2998         Reviewed by Eric Seidel.
2999
3000         Correctly handle a theme returning a non-blinking interval.  We should
3001         not set any timers when the interval is 0 (non-blinking), otherwise we
3002         repeatedly set and destroy a blinking timer, causing a paint and timer
3003         storm.  This is applicable to GTK and Windows, where a user can set a
3004         non-blinking caret in their system preferences.
3005
3006         Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
3007
3008         * page/Frame.cpp:
3009         (WebCore::Frame::selectionLayoutChanged):
3010         * platform/Theme.h:
3011         (WebCore::Theme::caretBlinkInterval):
3012         * platform/gtk/RenderThemeGtk.cpp:
3013         (WebCore::RenderThemeGtk::caretBlinkInterval):
3014         * platform/gtk/RenderThemeGtk.h:
3015         * rendering/RenderTheme.h:
3016         (WebCore::RenderTheme::caretBlinkInterval):
3017
3018 2008-12-02  David Levin  <levin@chromium.org>
3019
3020         Reviewed by Eric Seidel.
3021
3022         https://bugs.webkit.org/show_bug.cgi?id=22538
3023         
3024         startsWith uses find which searches through the whole string if no match is found.
3025         Using reverseFind with an index of 0 has the benefit of only searching for the match
3026         at the beginning of the string.  This may only be a small benefit in the overall program,
3027         but it may help in some cases when the string is big.
3028
3029         No observable change in behavior, so no test.
3030  
3031         * platform/text/StringImpl.h:
3032         (WebCore::StringImpl::startsWith):
3033
3034 2008-10-29  Eric Seidel  <eric@webkit.org>
3035
3036         Reviewed by Darin Adler.
3037
3038         Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
3039         https://bugs.webkit.org/show_bug.cgi?id=21951
3040
3041         * svg/SVGElementInstance.cpp:
3042         (WebCore::SVGElementInstance::forgetWrapper):
3043
3044 2008-12-02  Eric Seidel  <eric@webkit.org>
3045
3046         Reviewed by Darin Adler.
3047
3048         Add an ASSERT to try and catch the root cause of:
3049         https://bugs.webkit.org/show_bug.cgi?id=22168
3050         http://code.google.com/p/chromium/issues/detail?id=4122
3051
3052         * editing/TextIterator.cpp:
3053         (WebCore::TextIterator::emitText):
3054
3055 2008-12-02  Brent Fulgham  <bfulgham@gmail.com>
3056
3057         Reviewed by Adam Roben.
3058
3059         Remove some CG-specific code from the Windows Cairo build.
3060         https://bugs.webkit.org/show_bug.cgi?id=22586
3061
3062         No new test cases since this update should create no user-visible
3063         changes, and should be fully covered by the existing regression
3064         tests.
3065
3066         * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
3067         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3068         (WebCore::focusRingColor): Add stub method
3069         * platform/win/TemporaryLinkStubs.cpp:
3070         (WebCore::populateFontDatabase): Add stub method.
3071
3072 2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3073
3074         Reviewed by Tor Arne Vestbø.
3075
3076         MinGW compilation fix for PluginPackageWin.cpp
3077
3078         https://bugs.webkit.org/show_bug.cgi?id=22585
3079
3080         * plugins/win/PluginPackageWin.cpp:
3081         (WebCore::PluginPackage::fetchInfo):
3082
3083 2008-12-02  Adam Roben  <aroben@apple.com>
3084
3085         Build fix for Windows projects with NOMINMAX defined globally
3086
3087         * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
3088         defined.
3089
3090 2008-12-02  Simon Hausmann  <hausmann@webkit.org>
3091
3092         Reviewed by Tor Arne Vestbø.
3093
3094         Build JavaScriptCore into libQtWebKit.so through a direct build
3095         instead of a static library. When linking a static library into
3096         a shared library qmake generates an incorrect .prl file, which
3097         causes all sorts of different build problems when linking against
3098         QtWebKit. Fixing this in qmake requires bigger changes that are
3099         currently not possible, so we need to work around this limitation
3100         for now. The advantages of the separate build did not outweight the
3101         build problems it caused.
3102
3103         * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
3104         and rename the lut generator to domlut to avoid a conflict with
3105         JavaScriptCore.pri's lut generator.
3106
3107 2008-12-02  David Levin  <levin@chromium.org>
3108
3109         Reviewed by Alexey Proskuryakov.
3110
3111         https://bugs.webkit.org/show_bug.cgi?id=22588
3112         Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
3113
3114         No observable change in behavior, so no test.
3115         
3116         * dom/Document.cpp:
3117         (WebCore::Document::open):
3118         (WebCore::Document::domain):
3119         (WebCore::Document::setDomain):
3120         (WebCore::Document::initSecurityContext):
3121         (WebCore::Document::setSecurityOrigin):
3122         * dom/Document.h:
3123         * dom/ScriptExecutionContext.cpp:
3124         (WebCore::ScriptExecutionContext::setSecurityOrigin):
3125         * dom/ScriptExecutionContext.h:
3126         (WebCore::ScriptExecutionContext::securityOrigin):
3127         * dom/WorkerContext.cpp:
3128         (WebCore::WorkerContext::WorkerContext):
3129         * dom/WorkerContext.h:
3130         These changes are for the move of securityOrigin().
3131         
3132         * xml/XMLHttpRequest.cpp:
3133         (WebCore::XMLHttpRequest::createRequest):
3134         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3135         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3136         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3137         (WebCore::XMLHttpRequest::setRequestHeader):
3138         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3139         (WebCore::XMLHttpRequest::getResponseHeader):
3140         (WebCore::XMLHttpRequest::processSyncLoadResults):
3141         (WebCore::XMLHttpRequest::willSendRequest):
3142         (WebCore::XMLHttpRequest::accessControlCheck):
3143         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3144         Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
3145
3146 2008-12-02  André Pönitz  <apoenitz@trolltech.com>
3147
3148         Reviewed by Simon Hausmann.
3149
3150         Disable the creation of debug information for the Qt build when done
3151         inside Qt. With 670 mb it was slowing down gdb start significantly
3152         for third-party applications that usually don't need it.
3153
3154         * WebCore.pro:
3155
3156 2008-12-01  Beth Dakin  <bdakin@apple.com>
3157
3158         Reviewed by Dan Bernstein.
3159
3160         Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION 
3161         (r19811): Using the down arrow in a textarea gets "stuck" at the 
3162         end of a wrapped line
3163         And corresponding: <rdar://problem/5347931>
3164
3165         The basic problem here is that Position::getInlineBoxAndOffset() 
3166         failed to look beyond a single renderer. This patch looks for a 
3167         better match beyond the first renderer when the affinity is 
3168         downstream and we failed to find a "perfect" match. 
3169         * dom/Position.cpp:
3170         (WebCore::isNonTextLeafChild):
3171         (WebCore::searchAheadForBetterMatch):
3172         (WebCore::Position::getInlineBoxAndOffset):
3173
3174         This is a fix I made based on code inspection. It looks like the 
3175         old code here and skipped over the parent as a possible match. 
3176         * rendering/RenderObject.cpp:
3177         (WebCore::RenderObject::nextInPreOrderAfterChildren):
3178
3179 2008-12-01  Brent Fulgham  <bfulgham@gmail.com>
3180
3181         Reviewed by Adam Roben.
3182
3183         Add WML related files to Visual Studio projects.
3184         https://bugs.webkit.org/show_bug.cgi?id=22561
3185
3186         * WebCore.vcproj/WebCore.vcproj:
3187           1. Add files from the wml directory to the set of windows files.
3188           2. Extend include paths with new wml directory. 
3189           3. Add new autogenerated WML files to DerivedSources.
3190           4. Alphabetize preprocesor includes (holdover from earlier debugging).
3191
3192 2008-12-01  Steve Falkenburg  <sfalken@apple.com>
3193
3194         Revise node/selection image fix.
3195         Moved updateLayout call so selection rect is fetched after the layout.
3196         
3197         Reviewed by Adam Roben.
3198
3199         * page/win/FrameCGWin.cpp:
3200         (WebCore::imageFromRect):
3201         (WebCore::imageFromSelection):
3202         (WebCore::Frame::nodeImage):
3203
3204 2008-12-01  Steve Falkenburg  <sfalken@apple.com>
3205
3206         Support needed to implement renderedImage for Windows.
3207         https://bugs.webkit.org/show_bug.cgi?25648
3208
3209         Reviewed by Adam Roben.
3210
3211         * page/Frame.h:
3212         * page/win/FrameCGWin.cpp:
3213         (WebCore::imageFromRect):
3214         (WebCore::imageFromSelection):
3215         (WebCore::Frame::nodeImage):
3216         * page/win/FrameCairoWin.cpp:
3217         (WebCore::imageFromNode):
3218
3219 2008-12-01  Simon Fraser  <simon.fraser@apple.com>
3220
3221         Reviewed by Dan Bernstein
3222
3223         https://bugs.webkit.org/show_bug.cgi?id=22581
3224         
3225         Fix the painting of the caps lock indicator for transformed text inputs,
3226         by replacing a call to absoluteContentBox() with code that computes the
3227         painting rect for the input contents.
3228
3229         * rendering/RenderTextControl.cpp:
3230         (WebCore::RenderTextControl::paint):
3231
3232 2008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3233
3234         Reviewed by George Staikos.
3235
3236         Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
3237
3238         Convert all elements to parse their attribute values using these new helper functions. This simplifies the
3239         actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
3240         an error if there's a variable reference used in the attribute value, or if it's invalid.
3241
3242         Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
3243         in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
3244
3245         * wml/WMLAccessElement.cpp:
3246         (WebCore::WMLAccessElement::parseMappedAttribute):
3247         * wml/WMLDoElement.cpp:
3248         (WebCore::WMLDoElement::defaultEventHandler):
3249         (WebCore::WMLDoElement::parseMappedAttribute):
3250         * wml/WMLElement.cpp:
3251         (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
3252         (WebCore::WMLElement::parseValueForbiddingVariableReferences):
3253         * wml/WMLElement.h:
3254         * wml/WMLErrorHandling.cpp:
3255         (WebCore::reportWMLError):
3256         * wml/WMLErrorHandling.h:
3257         (WebCore::):
3258         * wml/WMLOnEventElement.cpp:
3259         (WebCore::WMLOnEventElement::parseMappedAttribute):
3260         * wml/WMLPrevElement.cpp:
3261         (WebCore::WMLPrevElement::executeTask):
3262         * wml/WMLSetvarElement.cpp:
3263         (WebCore::WMLSetvarElement::parseMappedAttribute):
3264         * wml/WMLTimerElement.cpp:
3265         (WebCore::WMLTimerElement::parseMappedAttribute):
3266
3267 2008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3268
3269         Reviewed by George Staikos.
3270
3271         Fix switching active cards within a document. No way to test, until <go> support is implemented.
3272
3273         * wml/WMLCardElement.cpp:
3274         (WebCore::WMLCardElement::showCard):
3275         (WebCore::WMLCardElement::hideCard):
3276         (WebCore::WMLCardElement::setActiveCardInDocument):
3277         * wml/WMLCardElement.h:
3278
3279 2008-12-01  David Kilzer  <ddkilzer@apple.com>
3280
3281         Fix logic error in LegacyWebArchive::create() from r38884.
3282
3283         * loader/archive/cf/LegacyWebArchive.cpp:
3284         (WebCore::LegacyWebArchive::create): Only continue if the
3285         subresource is actually added.
3286
3287 2008-12-01  David Kilzer  <ddkilzer@apple.com>
3288
3289         Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
3290
3291         <https://bugs.webkit.org/show_bug.cgi?id=22466>
3292         <rdar://problem/6403593>
3293
3294         Reviewed by Brady Eidson.
3295
3296         Test: http/tests/webarchive/test-preload-resources.html
3297
3298         * loader/archive/cf/LegacyWebArchive.cpp:
3299         (WebCore::LegacyWebArchive::create): Check the WebCore cache for
3300         resources if DocumentLoader::subresource() doesn't return them.
3301         Note that the DocumentLoader::subresource() method returned
3302         preloaded resources before r35867, but this caused a regression in
3303         Mail.
3304
3305 2008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
3306
3307         Reviewed by Eric Seidel.
3308
3309         Bug 22564: Make HTML elements' constructors take a QualifiedName
3310         https://bugs.webkit.org/show_bug.cgi?id=22564
3311
3312         - Modified the remaining HTML elements' constructors to take a QualifiedName.
3313
3314         - Added an assertion that the QualifiedName given corresponds to the element constructed.
3315
3316         * bindings/js/JSAudioConstructor.cpp:
3317         (WebCore::constructAudio):
3318         * html/HTMLAudioElement.cpp:
3319         (WebCore::HTMLAudioElement::HTMLAudioElement):
3320         * html/HTMLAudioElement.h:
3321         * html/HTMLBRElement.cpp:
3322         (WebCore::HTMLBRElement::HTMLBRElement):
3323         * html/HTMLBRElement.h:
3324         * html/HTMLElement.cpp:
3325         (WebCore::HTMLElement::setInnerText):
3326         * html/HTMLElementFactory.cpp:
3327         (WebCore::brConstructor):
3328         (WebCore::quoteConstructor):
3329         (WebCore::marqueeConstructor):
3330         (WebCore::audioConstructor):
3331         (WebCore::videoConstructor):
3332         (WebCore::sourceConstructor):
3333         * html/HTMLMarqueeElement.cpp:
3334         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
3335         * html/HTMLMarqueeElement.h:
3336         * html/HTMLQuoteElement.cpp:
3337         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3338         * html/HTMLQuoteElement.h:
3339         * html/HTMLSourceElement.cpp:
3340         (WebCore::HTMLSourceElement::HTMLSourceElement):
3341         * html/HTMLSourceElement.h:
3342         * html/HTMLVideoElement.cpp:
3343         (WebCore::HTMLVideoElement::HTMLVideoElement):
3344         * html/HTMLVideoElement.h:
3345         * rendering/RenderTextControl.cpp:
3346         (WebCore::RenderTextControl::updateFromElement):
3347
3348 2008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
3349
3350         Reviewed by Antti Koivisto.
3351
3352         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3353         https://bugs.webkit.org/show_bug.cgi?id=22441
3354
3355         Add an assertion to the modified HTML elements' constructor
3356         to check that the QualifiedName parameter is the one that
3357         matches the Element's.
3358
3359         * html/HTMLBaseElement.cpp:
3360         (WebCore::HTMLBaseElement::HTMLBaseElement):
3361         * html/HTMLBlockquoteElement.cpp:
3362         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3363         * html/HTMLBodyElement.cpp:
3364         (WebCore::HTMLBodyElement::HTMLBodyElement):
3365         * html/HTMLButtonElement.cpp:
3366         (WebCore::HTMLButtonElement::HTMLButtonElement):
3367         * html/HTMLDListElement.cpp:
3368         (WebCore::HTMLDListElement::HTMLDListElement):
3369         * html/HTMLDirectoryElement.cpp:
3370         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3371         * html/HTMLDivElement.cpp:
3372         (WebCore::HTMLDivElement::HTMLDivElement):
3373         * html/HTMLFieldSetElement.cpp:
3374         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3375         * html/HTMLFormElement.cpp:
3376         (WebCore::HTMLFormElement::HTMLFormElement):
3377         * html/HTMLFrameElement.cpp:
3378         (WebCore::HTMLFrameElement::HTMLFrameElement):
3379         * html/HTMLFrameSetElement.cpp:
3380         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3381         * html/HTMLHeadElement.cpp:
3382         (WebCore::HTMLHeadElement::HTMLHeadElement):
3383         * html/HTMLHtmlElement.cpp:
3384         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
3385         * html/HTMLIFrameElement.cpp:
3386         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3387         * html/HTMLInputElement.cpp:
3388         (WebCore::HTMLInputElement::HTMLInputElement):
3389         * html/HTMLIsIndexElement.cpp:
3390         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3391         * html/HTMLKeygenElement.cpp:
3392         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3393         * html/HTMLLIElement.cpp:
3394         (WebCore::HTMLLIElement::HTMLLIElement):
3395         * html/HTMLLabelElement.cpp:
3396         (WebCore::HTMLLabelElement::HTMLLabelElement):
3397         * html/HTMLLegendElement.cpp:
3398         (WebCore::HTMLLegendElement::HTMLLegendElement):
3399         * html/HTMLLinkElement.cpp:
3400         (WebCore::HTMLLinkElement::HTMLLinkElement):
3401         * html/HTMLMenuElement.cpp:
3402         (WebCore::HTMLMenuElement::HTMLMenuElement):
3403         * html/HTMLMetaElement.cpp:
3404         (WebCore::HTMLMetaElement::HTMLMetaElement):
3405         * html/HTMLOListElement.cpp:
3406         (WebCore::HTMLOListElement::HTMLOListElement):
3407         * html/HTMLOptGroupElement.cpp:
3408         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3409         * html/HTMLOptionElement.cpp:
3410         (WebCore::HTMLOptionElement::HTMLOptionElement):
3411         * html/HTMLSelectElement.cpp:
3412         (WebCore::HTMLSelectElement::HTMLSelectElement):
3413         * html/HTMLStyleElement.cpp:
3414         (WebCore::HTMLStyleElement::HTMLStyleElement):
3415         * html/HTMLTextAreaElement.cpp:
3416         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3417         * html/HTMLTitleElement.cpp:
3418         (WebCore::HTMLTitleElement::HTMLTitleElement):
3419         * html/HTMLUListElement.cpp:
3420         (WebCore::HTMLUListElement::HTMLUListElement):
3421
3422 2008-12-01  Chris Marrin  <cmarrin@apple.com>
3423
3424         Reviewed by Darin Adler.
3425
3426         https://bugs.webkit.org/show_bug.cgi?id=22046
3427
3428         Fixed another case of crashing because the animation object is getting deleted when
3429         it's in the middle of a callback. I actually moved where I am retaining the pointer
3430         up out of the lower level AnimationBase code and into the timer callback that calls
3431         them. So now the pointer is valid throughout the entire sequence of callback code.
3432
3433         The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
3434         crash which this patch fixes. 
3435
3436         * page/animation/AnimationBase.cpp:
3437         (WebCore::AnimationBase::updateStateMachine):
3438         (WebCore::AnimationBase::animationTimerCallbackFired):
3439         * page/animation/CompositeAnimation.cpp:
3440         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
3441         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
3442         (WebCore::CompositeAnimationPrivate::styleAvailable):
3443         * page/animation/ImplicitAnimation.cpp:
3444         (WebCore::ImplicitAnimation::sendTransitionEvent):
3445         * page/animation/KeyframeAnimation.cpp:
3446         (WebCore::KeyframeAnimation::sendAnimationEvent):
3447         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
3448
3449 2008-12-01  Tor Arne Vestbø  <tavestbo@trolltech.com>
3450
3451         Reviewed by Simon Hausmann.
3452
3453         [Qt/Mac] Initialize NPAPI plugins before getting their entry points
3454
3455         The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
3456         copied from Windows, but caused Silverlight on Mac to crash when loaded.
3457
3458         Apparently the call order of NP_Initialize and NP_GetEntryPoints is
3459         reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
3460
3461         Reported-by: Peter Johnson <peter@zattoo.com>
3462
3463         * plugins/mac/PluginPackageMac.cpp:
3464         (WebCore::PluginPackage::load):
3465
3466 2008-11-30  Chris Fleizach  <cfleizach@apple.com>
3467
3468         Reviewed by John Sullivan.
3469
3470         https://bugs.webkit.org/show_bug.cgi?id=22510
3471         Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
3472
3473         A nil pointer needed to be checked
3474
3475         * page/AccessibilityRenderObject.cpp:
3476         (WebCore::AccessibilityRenderObject::activeDescendant):
3477
3478 2008-11-30  Alexey Proskuryakov  <ap@webkit.org>
3479
3480         Reviewed by Dan Bernstein.
3481
3482         https://bugs.webkit.org/show_bug.cgi?id=22530
3483         Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
3484
3485         * dom/WorkerThread.cpp:
3486         (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
3487         function runs to completion before the thread begins execution.
3488         (WebCore::WorkerThread::workerThread): Updated comments.
3489         (WebCore::WorkerThread::stop): Ditto.
3490         * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
3491         protects startup as a whole.
3492
3493         * storage/DatabaseThread.cpp:
3494         * storage/DatabaseThread.h:
3495         * storage/LocalStorageThread.cpp:
3496         * storage/LocalStorageThread.h:
3497         Fixed the same m_threadID problem.
3498
3499 2008-11-29  Brent Fulgham  <bfulgham@gmail.com>
3500
3501         Reviewed by Alexey Proskuryakov.
3502
3503         Remove Visual Studio project dependencies on non-redistributable
3504         components in the Debug_Cairo and Release_Cairo build targets.
3505         See https://bugs.webkit.org/show_bug.cgi?id=22527
3506
3507         * WebCore.vcproj/WebCore.vcproj:
3508
3509 2008-11-29  Sam Weinig  <sam@webkit.org>
3510
3511         Rubber-stamped by Alexey Proskuryakov.
3512
3513         Fix some sorting
3514
3515         * WebCore.xcodeproj/project.pbxproj:
3516
3517 2008-11-28  Sam Weinig  <sam@webkit.org>
3518
3519         Reviewed by Alexey Proskuryakov.
3520
3521         Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
3522         NULL pointer crash in dispatchEvent(null);
3523
3524         Test: fast/events/dispatchEvent-crash.html
3525
3526         * dom/MessagePort.cpp:
3527         (WebCore::MessagePort::dispatchEvent):
3528         * dom/Worker.cpp:
3529         (WebCore::Worker::dispatchEvent):
3530         * dom/WorkerContext.cpp:
3531         (WebCore::WorkerContext::dispatchEvent):
3532         * loader/appcache/DOMApplicationCache.cpp:
3533         (WebCore::DOMApplicationCache::dispatchEvent):
3534         * xml/XMLHttpRequest.cpp:
3535         (WebCore::XMLHttpRequest::dispatchEvent):
3536         * xml/XMLHttpRequestUpload.cpp:
3537         (WebCore::XMLHttpRequestUpload::dispatchEvent):
3538
3539 2008-11-29  Dan Bernstein  <mitz@apple.com>
3540
3541         Reviewed by Alexey Proskuryakov.
3542
3543         - fix https://bugs.webkit.org/show_bug.cgi?id=22454
3544           <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
3545
3546         Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
3547
3548         The crash happened because style recalculation was invoked by
3549         CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
3550         before another CSSSegmentedFontFace using the same CSSFontFace had done
3551         so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
3552         prune their tables before telling the CSSFontSelector to recalc style.
3553
3554         * css/CSSFontFace.cpp:
3555         (WebCore::CSSFontFace::fontLoaded):
3556         * css/CSSFontSelector.cpp:
3557         (WebCore::CSSFontSelector::fontLoaded):
3558         * css/CSSFontSelector.h:
3559         * css/CSSSegmentedFontFace.cpp:
3560         (WebCore::CSSSegmentedFontFace::fontLoaded):
3561
3562 2008-11-29  Alexey Proskuryakov  <ap@webkit.org>
3563
3564         Reviewed by Eric Seidel.
3565
3566         https://bugs.webkit.org/show_bug.cgi?id=14968
3567         document.open() erroneously returns void instead of the new Document
3568
3569         Test: fast/dom/HTMLDocument/document-open-return-value.html
3570
3571         * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
3572         Return the document on which this method was invoked, per HTML5.
3573
3574 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3575
3576         Reviewed by Cameron Zwarich.
3577
3578         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
3579
3580         Add <timer> element support. It provides a way to execute a task with a delay.
3581         The user is notified by firing the task associated with the <card>'s ontimer attribute.
3582         Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
3583
3584         * WebCore.xcodeproj/project.pbxproj:
3585         * wml/WMLCardElement.cpp:
3586         (WebCore::WMLCardElement::WMLCardElement):
3587         (WebCore::WMLCardElement::setIntrinsicEventTimer):
3588         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
3589         * wml/WMLCardElement.h:
3590         * wml/WMLDoElement.cpp:
3591         (WebCore::WMLDoElement::defaultEventHandler):
3592         * wml/WMLErrorHandling.cpp:
3593         (WebCore::reportWMLError):
3594         * wml/WMLPageState.h:
3595         (WebCore::WMLPageState::getVariable):
3596         * wml/WMLPrevElement.cpp:
3597         (WebCore::WMLPrevElement::executeTask):
3598         * wml/WMLRefreshElement.cpp:
3599         (WebCore::WMLRefreshElement::executeTask):
3600         * wml/WMLTagNames.in:
3601         * wml/WMLTimerElement.cpp: Added.
3602         (WebCore::WMLTimerElement::WMLTimerElement):
3603         (WebCore::WMLTimerElement::parseMappedAttribute):
3604         (WebCore::WMLTimerElement::insertedIntoDocument):
3605         (WebCore::WMLTimerElement::timerFired):
3606         (WebCore::WMLTimerElement::start):
3607         (WebCore::WMLTimerElement::stop):
3608         (WebCore::WMLTimerElement::storeIntervalToPageState):
3609         * wml/WMLTimerElement.h: Added.
3610
3611 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3612
3613         Reviewed by Holger Freyther.
3614
3615         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
3616
3617         Add <do> element support. It provides a way to bind a task element to a <template>/<card> element. 
3618         Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
3619
3620         * WebCore.xcodeproj/project.pbxproj:
3621         * rendering/RenderButton.cpp:
3622         (WebCore::RenderButton::updateFromElement):
3623         * wml/WMLCardElement.cpp:
3624         (WebCore::WMLCardElement::registerDoElement):
3625         * wml/WMLCardElement.h:
3626         * wml/WMLDoElement.cpp: Added.
3627         (WebCore::WMLDoElement::WMLDoElement):
3628         (WebCore::WMLDoElement::defaultEventHandler):
3629         (WebCore::WMLDoElement::parseMappedAttribute):
3630         (WebCore::WMLDoElement::insertedIntoDocument):
3631         (WebCore::WMLDoElement::createRenderer):
3632         (WebCore::WMLDoElement::recalcStyle):
3633         * wml/WMLDoElement.h: Added.
3634         (WebCore::WMLDoElement::registerTask):
3635         (WebCore::WMLDoElement::isActive):
3636         (WebCore::WMLDoElement::label):
3637         (WebCore::WMLDoElement::name):
3638         (WebCore::WMLDoElement::setActive):
3639         (WebCore::WMLDoElement::setNoop):
3640         * wml/WMLNoopElement.cpp:
3641         (WebCore::WMLNoopElement::insertedIntoDocument):
3642         * wml/WMLTagNames.in:
3643         * wml/WMLTaskElement.cpp:
3644         (WebCore::WMLTaskElement::insertedIntoDocument):
3645
3646 2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3647
3648         Reviewed by Sam Weinig.
3649
3650         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
3651
3652         Add onenterforward/onenterbackward/ontimer support for <card> elements.
3653
3654         No testing possible at the moment because WMLGoElement is not yet implemented.
3655         After that we can add tests covering the <card> event handling.
3656
3657         * wml/WMLCardElement.cpp:
3658         (WebCore::WMLCardElement::WMLCardElement):
3659         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
3660         (WebCore::WMLCardElement::parseMappedAttribute):
3661         (WebCore::WMLCardElement::setActiveCardInDocument):
3662         * wml/WMLCardElement.h:
3663         (WebCore::WMLCardElement::isNewContext):
3664         (WebCore::WMLCardElement::isOrdered):
3665         * wml/WMLDocument.cpp:
3666         (WebCore::WMLDocument::finishedParsing):
3667         * wml/WMLIntrinsicEvent.cpp:
3668         (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
3669         * wml/WMLIntrinsicEvent.h:
3670         (WebCore::WMLIntrinsicEvent::create):
3671
3672 2008-11-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3673
3674         Reviewed by Tor Arne Vestbø.
3675
3676         Regression seen on QtWebKit - causes a build failure on Win using MinGW
3677
3678         https://bugs.webkit.org/show_bug.cgi?id=22536
3679
3680         * WebCore.pro:
3681
3682 2008-11-28  Simon Hausmann  <hausmann@webkit.org>
3683
3684         Reviewed by Tor Arne Vestbø.
3685
3686         Fix compilation and linking on Windows CE.
3687
3688         Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
3689         from the Windows'ish build.
3690
3691         Link against the newly required mmtimer.
3692
3693         * WebCore.pro:
3694         * plugins/PluginPackage.cpp:
3695
3696 2008-11-28  David Levin  <levin@chromium.org>
3697
3698         Reviewed by Alexey Proskuryakov.
3699
3700         http://bugs.webkit.org/show_bug.cgi?id=22524
3701
3702         Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
3703         of XMLHttpRequest by Workers (on threads).
3704
3705         No observable change in behavior, so no test.
3706
3707         * xml/XMLHttpRequest.cpp:
3708         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
3709         (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
3710         (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
3711         (WebCore::PreflightResultCacheItem::allowsRequest):
3712         (WebCore::createXMLHttpRequestStaticData):
3713         (WebCore::initializeXMLHttpRequestStaticData):
3714         (WebCore::XMLHttpRequest::XMLHttpRequest):
3715         (WebCore::XMLHttpRequest::isSafeRequestHeader):
3716         (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
3717         * xml/XMLHttpRequest.h:
3718
3719 2008-11-27  Cameron Zwarich  <zwarich@apple.com>
3720
3721         Not reviewed.
3722
3723         r38825, was committed without checking whether anything in WebCore
3724         uses JSFunction::m_body. Use the appropriate getters and setters
3725         instead.
3726
3727         * inspector/JavaScriptDebugServer.cpp:
3728         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3729
3730 2008-11-27  Alexey Proskuryakov  <ap@webkit.org>
3731
3732         Reviewed by Dan Bernstein.
3733
3734         https://bugs.webkit.org/show_bug.cgi?id=22529
3735         Crashes seen on buildbots due to trying to stop a worker thread twice
3736
3737         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3738         Don't try to stop the thread if it's already stopping.
3739
3740 2008-11-27  Kent Hansen  <khansen@trolltech.com>
3741
3742         Reviewed by Simon Hausmann.
3743
3744         Make JavaScript bindings for Qt plugin widgets work again
3745         this was a regression; need to handle non-NPAPI plugins as in 4.4.
3746
3747         * bindings/js/ScriptControllerQt.cpp:
3748         (WebCore::ScriptController::createScriptInstanceForWidget):
3749
3750 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3751
3752         Reviewed by George Staikos.
3753
3754         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
3755
3756         Catch WML errors (invalid variable name/reference, multiple access elements, etc)
3757         while parsing the document, and stop parsing immediately and wrap the document
3758         fragment in a XHTML error document, just like it's done from XML parsing errors.
3759
3760         Until now all card elements were hidden by default (no renderer created), and
3761         WMLDocument::finishedParsing() took care of showing the right card (either the first,
3762         or any named card in the document, specified by document URL reference). Change this
3763         behaviour to support displaying partially parsed WML document fragments: Mark the first
3764         WMLCardElement inserted into the document as visible. If the document parsing finishes
3765         without problems, WMLDocument::finishedParsing() will be called, which takes care of
3766         showing the desired card (common case: first card in the document, which is already
3767         visible, so nothing actually has to be done). If an error occours, the document is
3768         correctly rendered until the error happened - wrapped in a XHTML document.
3769
3770         Fixes: fast/wml/err-event-binding-conflict.wml
3771                fast/wml/err-invalid-variable-name.wml
3772                fast/wml/err-multi-access.wml
3773                fast/wml/err-unallowed-task-in-anchor.wml
3774
3775         * WebCore.xcodeproj/project.pbxproj:
3776         * wml/WMLAccessElement.cpp:
3777         (WebCore::WMLAccessElement::parseMappedAttribute):
3778         (WebCore::WMLAccessElement::insertedIntoDocument):
3779         * wml/WMLAccessElement.h:
3780         * wml/WMLCardElement.cpp:
3781         (WebCore::WMLCardElement::insertedIntoDocument):
3782         (WebCore::WMLCardElement::setActiveCardInDocument):
3783         * wml/WMLCardElement.h:
3784         * wml/WMLDocument.cpp:
3785         (WebCore::WMLDocument::finishedParsing):
3786         * wml/WMLErrorHandling.cpp: Added.
3787         (WebCore::reportWMLError):
3788         * wml/WMLErrorHandling.h: Added.
3789         (WebCore::):
3790         * wml/WMLIntrinsicEventHandler.cpp:
3791         (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
3792         * wml/WMLIntrinsicEventHandler.h:
3793         * wml/WMLNoopElement.cpp:
3794         (WebCore::WMLNoopElement::insertedIntoDocument):
3795         * wml/WMLOnEventElement.cpp:
3796         (WebCore::WMLOnEventElement::parseMappedAttribute):
3797         (WebCore::WMLOnEventElement::registerTask):
3798         * wml/WMLPageState.cpp:
3799         (WebCore::WMLPageState::setNeedCheckDeckAccess):
3800         * wml/WMLPageState.h:
3801         * wml/WMLSetvarElement.cpp:
3802         (WebCore::WMLSetvarElement::parseMappedAttribute):
3803
3804 2008-11-26  Glenn Wilson  <gwilson@chromium.org>
3805
3806         Reviewed by Dan Bernstein.
3807
3808         Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
3809
3810         This fixes the crash when the small-caps font variant is used
3811         on a lower-case glyph that does not have a corresponding
3812         upper-case glyph defined in the set of available fonts.
3813
3814         This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
3815         
3816         Test: fast/css/small-caps-crash.html
3817
3818         * platform/graphics/Font.cpp:
3819         (WebCore::Font::glyphDataForCharacter):
3820
3821 2008-11-26  Tony Chang  <tony@chromium.org>
3822
3823         Reviewed by Oliver Hunt.
3824
3825         Add a new platform specific method cleanupAfterSystemDrag
3826         that platforms can ue to clean up drag state after a
3827         system drag.  Use this method on PLAFORM(MAC).
3828         https://bugs.webkit.org/show_bug.cgi?id=21956
3829
3830         * ChangeLog:
3831         * page/DragController.cpp:
3832         (WebCore::DragController::doSystemDrag):
3833         * page/DragController.h:
3834         * page/gtk/DragControllerGtk.cpp:
3835         (WebCore::DragController::cleanupAfterSystemDrag):
3836         * page/mac/DragControllerMac.mm:
3837         (WebCore::DragController::cleanupAfterSystemDrag):
3838         * page/qt/DragControllerQt.cpp:
3839         (WebCore::DragController::cleanupAfterSystemDrag):
3840         * page/win/DragControllerWin.cpp:
3841         (WebCore::DragController::cleanupAfterSystemDrag):
3842         * page/wx/DragControllerWx.cpp:
3843       (WebCore::DragController::cleanupAfterSystemDrag):
3844
3845 2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>
3846
3847         Reviewed by Oliver Hunt.
3848
3849         Fix path to string logic, correctly taking closed (sub-)paths into account.
3850         Code was just broken on cg, observed by Dirk Schulze.
3851
3852         QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
3853         using the elementAt() function. There might be a workaround - Dirk will investigate.
3854
3855         * platform/graphics/cg/PathCG.cpp:
3856         (WebCore::CGPathToCFStringApplierFunction):
3857         * platform/graphics/cairo/PathCairo.cpp:
3858         (WebCore::Path::debugString):
3859
3860 2008-11-26  Darin Fisher  <darin@chromium.org>
3861
3862         Reviewed by Eric Seidel.
3863
3864         https://bugs.webkit.org/show_bug.cgi?id=22519
3865         Remove unnecessary include.
3866
3867         * dom/XMLTokenizer.cpp:
3868
3869 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3870
3871         Reviewed by Oliver Hunt.
3872
3873         Add <noop> element support, completing the task element support.
3874
3875         * WebCore.xcodeproj/project.pbxproj:
3876         * wml/WMLNoopElement.cpp: Added.
3877         (WebCore::WMLNoopElement::WMLNoopElement):
3878         (WebCore::WMLNoopElement::insertedIntoDocument):
3879         * wml/WMLNoopElement.h: Added.
3880         * wml/WMLTagNames.in: Reorganize file a bit.
3881
3882 2008-11-26  Julien Chaffraix  <jchaffraix@webkit.org>
3883
3884         Reviewed by Eric Seidel.
3885
3886         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3887         https://bugs.webkit.org/show_bug.cgi?id=22441
3888
3889         Make more HTML elements' constructors take a QualifiedName.
3890
3891         * editing/DeleteButtonController.cpp:
3892         (WebCore::DeleteButtonController::createDeletionUI):
3893         * html/HTMLBlockquoteElement.cpp:
3894         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3895         * html/HTMLBlockquoteElement.h:
3896         * html/HTMLButtonElement.cpp:
3897         (WebCore::HTMLButtonElement::HTMLButtonElement):
3898         * html/HTMLButtonElement.h:
3899         * html/HTMLDListElement.cpp:
3900         (WebCore::HTMLDListElement::HTMLDListElement):
3901         * html/HTMLDListElement.h:
3902         * html/HTMLDirectoryElement.cpp:
3903         (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3904         * html/HTMLDirectoryElement.h:
3905         * html/HTMLDivElement.cpp:
3906         (WebCore::HTMLDivElement::HTMLDivElement):
3907         * html/HTMLDivElement.h:
3908         * html/HTMLElementFactory.cpp:
3909         (WebCore::styleConstructor):
3910         (WebCore::titleConstructor):
3911         (WebCore::frameConstructor):
3912         (WebCore::framesetConstructor):
3913         (WebCore::iframeConstructor):
3914         (WebCore::formConstructor):
3915         (WebCore::buttonConstructor):
3916         (WebCore::inputConstructor):
3917         (WebCore::isindexConstructor):
3918         (WebCore::fieldsetConstructor):
3919         (WebCore::keygenConstructor):
3920         (WebCore::labelConstructor):
3921         (WebCore::legendConstructor):
3922         (WebCore::optgroupConstructor):
3923         (WebCore::optionConstructor):
3924         (WebCore::selectConstructor):
3925         (WebCore::textareaConstructor):
3926         (WebCore::dlConstructor):
3927         (WebCore::ulConstructor):
3928         (WebCore::olConstructor):
3929         (WebCore::dirConstructor):
3930         (WebCore::menuConstructor):
3931         (WebCore::liConstructor):
3932         (WebCore::blockquoteConstructor):
3933         (WebCore::divConstructor):
3934         (WebCore::headingConstructor):
3935         * html/HTMLFieldSetElement.cpp:
3936         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3937         * html/HTMLFieldSetElement.h:
3938         * html/HTMLFormElement.cpp:
3939         (WebCore::HTMLFormElement::HTMLFormElement):
3940         * html/HTMLFormElement.h:
3941         * html/HTMLFrameElement.cpp:
3942         (WebCore::HTMLFrameElement::HTMLFrameElement):
3943         * html/HTMLFrameElement.h:
3944         * html/HTMLFrameSetElement.cpp:
3945         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3946         * html/HTMLFrameSetElement.h:
3947         * html/HTMLIFrameElement.cpp:
3948         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3949         * html/HTMLIFrameElement.h:
3950         * html/HTMLInputElement.cpp:
3951         * html/HTMLInputElement.h:
3952         * html/HTMLIsIndexElement.cpp:
3953         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3954         * html/HTMLIsIndexElement.h:
3955         * html/HTMLKeygenElement.cpp:
3956         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3957         * html/HTMLKeygenElement.h:
3958         * html/HTMLLIElement.cpp:
3959         (WebCore::HTMLLIElement::HTMLLIElement):
3960         * html/HTMLLIElement.h:
3961         * html/HTMLLabelElement.cpp:
3962         (WebCore::HTMLLabelElement::HTMLLabelElement):
3963         * html/HTMLLabelElement.h:
3964         * html/HTMLLegendElement.cpp:
3965         (WebCore::HTMLLegendElement::HTMLLegendElement):
3966         * html/HTMLLegendElement.h:
3967         * html/HTMLMenuElement.cpp:
3968         (WebCore::HTMLMenuElement::HTMLMenuElement):
3969         * html/HTMLMenuElement.h:
3970         * html/HTMLOListElement.cpp:
3971         (WebCore::HTMLOListElement::HTMLOListElement):
3972         * html/HTMLOListElement.h:
3973         * html/HTMLOptGroupElement.cpp:
3974         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3975         * html/HTMLOptGroupElement.h:
3976         * html/HTMLOptionElement.cpp:
3977         (WebCore::HTMLOptionElement::HTMLOptionElement):
3978         * html/HTMLOptionElement.h:
3979         * html/HTMLParser.cpp:
3980         (WebCore::HTMLParser::formCreateErrorCheck):
3981         (WebCore::HTMLParser::handleIsindex):
3982         * html/HTMLSelectElement.cpp:
3983         * html/HTMLSelectElement.h:
3984         * html/HTMLStyleElement.cpp:
3985         (WebCore::HTMLStyleElement::HTMLStyleElement):
3986         * html/HTMLStyleElement.h:
3987         * html/HTMLTextAreaElement.cpp:
3988         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3989         * html/HTMLTextAreaElement.h:
3990         * html/HTMLTitleElement.cpp:
3991         (WebCore::HTMLTitleElement::HTMLTitleElement):
3992         * html/HTMLTitleElement.h:
3993         * html/HTMLUListElement.cpp:
3994         (WebCore::HTMLUListElement::HTMLUListElement):
3995         * html/HTMLUListElement.h:
3996         * html/HTMLViewSourceDocument.cpp:
3997         (WebCore::HTMLViewSourceDocument::createContainingTable):
3998         * rendering/MediaControlElements.cpp:
3999         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
4000         (WebCore::MediaControlInputElement::MediaControlInputElement):
4001         * rendering/RenderFileUploadControl.cpp:
4002         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
4003         * rendering/RenderMedia.cpp:
4004         (WebCore::RenderMedia::createPanel):
4005         (WebCore::RenderMedia::createTimeDisplay):
4006         * rendering/RenderSlider.cpp:
4007         (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
4008         * rendering/TextControlInnerElements.cpp:
4009         (WebCore::TextControlInnerElement::TextControlInnerElement):
4010
4011 2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4012
4013         Reviewed by Sam Weinig.
4014
4015         Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
4016
4017         * wml/WMLPageState.cpp:
4018         (WebCore::WMLPageState::WMLPageState):
4019
4020 2008-11-26  Matt Perry  <mpcomplete@gmail.com>
4021
4022         Fix Qt bustage.
4023
4024         See https://bugs.webkit.org/show_bug.cgi?id=22051
4025
4026         * platform/qt/RenderThemeQt.cpp:
4027         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
4028
4029 2008-11-26  Matt Perry  <mpcomplete@gmail.com>
4030
4031         Reviewed by Maciej Stachowiak.
4032
4033         Fix https://bugs.webkit.org/show_bug.cgi?id=22051
4034         Renderthemes should be able to supply additional CSS rules to the core
4035         ones.
4036
4037         * DerivedSources.make:
4038         * css/CSSStyleSelector.cpp:
4039         (WebCore::parseUASheet):
4040         (WebCore::loadFullDefaultStyle):
4041         (WebCore::loadSimpleDefaultStyle):
4042         * css/themeWin.css: Added.
4043         * css/themeWinQuirks.css: Added.
4044         * platform/qt/RenderThemeQt.cpp:
4045         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
4046         * platform/qt/RenderThemeQt.h:
4047         * rendering/RenderTheme.cpp:
4048         * rendering/RenderTheme.h:
4049         (WebCore::RenderTheme::extraDefaultStyleSheet):
4050         (WebCore::RenderTheme::extraQuirksStyleSheet):
4051         * rendering/RenderThemeWin.cpp:
4052         (WebCore::RenderThemeWin::extraDefaultStyleSheet):
4053         (WebCore::RenderThemeWin::extraQuirksStyleSheet):
4054         * rendering/RenderThemeWin.h:
4055
4056 2008-11-26  David Kilzer  <ddkilzer@apple.com>
4057
4058         Make CSSStyleSheet::addSubresourceURLStrings() iterative
4059
4060         Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
4061         <https://bugs.webkit.org/show_bug.cgi?id=11850>
4062
4063         Reviewed by Brady Eidson.
4064
4065         * css/CSSStyleSheet.cpp:
4066         (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
4067         from recursive to iterative for gathering the list of all CSS
4068         stylesheets referenced in @import statements.
4069
4070 2008-11-26  Dirk Schulze  <krit@webkit.org>
4071
4072         Reviewed by Simon Hausmann.
4073
4074         Transformations to the context shouldn't transform the currentPath.
4075         Fixed this on Qt.
4076
4077         [QT] GraphicsContext's currenPath can be transformed
4078         https://bugs.webkit.org/show_bug.cgi?id=22163
4079
4080         * platform/graphics/GraphicsContextPrivate.h:
4081         * platform/graphics/qt/GraphicsContextQt.cpp:
4082         (WebCore::GraphicsContext::restorePlatformState):
4083         (WebCore::GraphicsContext::fillPath):
4084         (WebCore::GraphicsContext::strokePath):
4085         (WebCore::GraphicsContext::fillRect):
4086         (WebCore::GraphicsContext::translate):
4087         (WebCore::GraphicsContext::rotate):
4088         (WebCore::GraphicsContext::scale):
4089         (WebCore::GraphicsContext::concatCTM):
4090
4091 2008-11-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
4092
4093         Gtk build script minor fixes. Not reviewed.
4094
4095         * GNUmakefile.am:
4096           - Add ScriptInstance.h (introduced in r38774) to
4097         the build.
4098           - Move WML and GEOLOCATION conditionals before the SVG
4099         conditional to be consistent with the style of the script.
4100           - Move GeolocationGtk sources to webcoregtk_sources.
4101
4102 2008-11-26  Dmitry Titov  <dimich@chromium.org>
4103
4104         Reviewed by Darin Adler and Eric Seidel.
4105
4106         https://bugs.webkit.org/show_bug.cgi?id=22469
4107
4108         Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
4109         preparation to making it work for Workers. For now, just move the code and couple
4110         of global variables.
4111
4112         * GNUmakefile.am:
4113         * WebCore.pro:
4114         * WebCore.vcproj/WebCore.vcproj:
4115         * WebCore.xcodeproj/project.pbxproj:
4116         * WebCoreSources.bkl:
4117         * bindings/js/JSDOMWindowBase.cpp:
4118         (WebCore::JSDOMWindowBase::installTimeout):
4119         (WebCore::JSDOMWindowBase::pauseTimeouts):
4120         (WebCore::JSDOMWindowBase::resumeTimeouts):
4121         (WebCore::JSDOMWindowBase::timerFired):
4122         * bindings/js/JSDOMWindowBase.h:
4123         * bindings/js/DOMTimer.cpp: Added.
4124         (WebCore::DOMTimer::DOMTimer):
4125         (WebCore::DOMTimer::~DOMTimer):
4126         (WebCore::DOMTimer::fired):
4127         * bindings/js/DOMTimer.h: Added.
4128         (WebCore::DOMTimer::timeoutId):
4129         (WebCore::DOMTimer::nestingLevel):
4130         (WebCore::DOMTimer::setNestingLevel):
4131         (WebCore::DOMTimer::action):
4132         (WebCore::DOMTimer::takeAction):
4133
4134 2008-11-25  Darin Fisher  <darin@chromium.org>
4135
4136         Fix bustage.
4137
4138         https://bugs.webkit.org/show_bug.cgi?id=22493
4139         Need to expose bridge/*.h to the WebKit build.
4140
4141         * WebCore.vcproj/WebCore.vcproj:
4142
4143 2008-11-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4144
4145         Not reviewed. Fix build, by removing some wrong last-minute changes.
4146
4147         * wml/WMLIntrinsicEvent.cpp:
4148         (WebCore::createTaskElement):
4149         * wml/WMLOnEventElement.cpp:
4150         (WebCore::WMLOnEventElement::registerTask):
4151
4152 2008-11-25  Darin Fisher  <darin@chromium.org>
4153
4154         Reviewed by Geoffrey Garen.
4155
4156         https://bugs.webkit.org/show_bug.cgi?id=22493
4157         Abstract away JSC:: usage in WebCore/html
4158
4159         * WebCore.xcodeproj/project.pbxproj:
4160         * bindings/js/JSPluginElementFunctions.cpp:
4161         (WebCore::pluginInstance):
4162         * bindings/js/ScriptController.h:
4163         * bindings/js/ScriptControllerMac.mm:
4164         (WebCore::ScriptController::createScriptInstanceForWidget):
4165         * bindings/js/ScriptInstance.h: Added.
4166         * html/HTMLPlugInElement.cpp:
4167         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
4168         (WebCore::HTMLPlugInElement::getInstance):
4169         * html/HTMLPlugInElement.h:
4170
4171 2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4172
4173         Reviewed by Sam Weinig.
4174
4175         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
4176
4177         A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
4178         Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
4179
4180         Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
4181         centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
4182         function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
4183         <template>/<option> or <card> element.
4184
4185         Add complete <onevent> support.
4186
4187         * WebCore.xcodeproj/project.pbxproj:
4188         * wml/WMLCardElement.cpp:
4189         (WebCore::WMLCardElement::WMLCardElement):
4190         (WebCore::WMLCardElement::setActiveCardInDocument):
4191         * wml/WMLCardElement.h:
4192         (WebCore::WMLCardElement::isVisible):
4193         (WebCore::WMLCardElement::setVisible):
4194         * wml/WMLElement.h:
4195         (WebCore::WMLElement::isWMLTaskElement):
4196         * wml/WMLEventHandlingElement.cpp: Added.
4197         (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
4198         (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
4199         * wml/WMLEventHandlingElement.h: Added.
4200         (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
4201         (WebCore::WMLEventHandlingElement::eventHandler):
4202         * wml/WMLOnEventElement.cpp: Added.
4203         (WebCore::WMLOnEventElement::WMLOnEventElement):
4204         (WebCore::WMLOnEventElement::parseMappedAttribute):
4205         (WebCore::WMLOnEventElement::registerTask):
4206         * wml/WMLOnEventElement.h: Added.
4207         * wml/WMLSetvarElement.cpp:
4208         (WebCore::WMLSetvarElement::parseMappedAttribute):
4209         (WebCore::WMLSetvarElement::insertedIntoDocument):
4210         * wml/WMLTagNames.in:
4211         * wml/WMLTaskElement.cpp:
4212         (WebCore::WMLTaskElement::insertedIntoDocument):
4213         * wml/WMLTaskElement.h:
4214         (WebCore::WMLTaskElement::isWMLTaskElement):
4215
4216 2008-11-25  Pierre-Olivier Latour  <pol@apple.com>
4217
4218         Reviewed by Mark Rowe.
4219
4220         createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
4221
4222         https://bugs.webkit.org/show_bug.cgi?id=22503
4223
4224         * platform/graphics/mac/FontCustomPlatformData.cpp:
4225         (WebCore::createFontCustomPlatformData):
4226
4227 2008-11-25  Julien Chaffraix  <jchaffraix@webkit.org>
4228
4229         Reviewed by Eric Seidel.
4230
4231         Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
4232         https://bugs.webkit.org/show_bug.cgi?id=22441
4233
4234         Element's other than HTML ones take a QualifiedName in their constructors.
4235         To make HTMLElementFactory closer to the other ElementFactory, we need
4236         to make them take the same arguments.
4237         This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
4238         will go into the next patch.
4239
4240         * dom/Document.cpp:
4241         (WebCore::Document::implicitClose):
4242         * html/HTMLBaseElement.cpp:
4243         (WebCore::HTMLBaseElement::HTMLBaseElement):
4244         * html/HTMLBaseElement.h:
4245         * html/HTMLBodyElement.cpp:
4246         (WebCore::HTMLBodyElement::HTMLBodyElement):
4247         * html/HTMLBodyElement.h:
4248         * html/HTMLElementFactory.cpp:
4249         (WebCore::htmlConstructor):
4250         (WebCore::headConstructor):
4251         (WebCore::bodyConstructor):
4252         (WebCore::baseConstructor):
4253         (WebCore::linkConstructor):
4254         (WebCore::metaConstructor):