WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2008-04-24  Justin Garcia  <justin.garcia@apple.com>
2
3         Reviewed by Darin Adler.
4
5         <rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)
6         
7         * editing/TextIterator.cpp:
8         (WebCore::TextIterator::advance): We emit an extra newline when leaving a
9         block element that has atypical margin/padding. When we emit the extra newline, 
10         it needs to be positioned after that block's contents, not after the block. 
11         This is how we position the first newline, too, since the range for emitted newlines 
12         should start where the line break begins visually.
13
14 2008-04-24  Anders Carlsson  <andersca@apple.com>
15
16         Reviewed by Adam.
17
18         Only avoid implicit entries when doing the initial caching.
19         
20         * loader/appcache/ApplicationCacheGroup.cpp:
21         (WebCore::ApplicationCacheGroup::didReceiveResponse):
22         (WebCore::ApplicationCacheGroup::startLoadingEntry):
23
24 2008-04-24  Kevin McCullough  <kmccullough@apple.com>
25
26         Reviewed by Adam and Sam.
27
28         -<rdar://problem/5770054> JavaScript profiler (10928)
29         -Only profile the page group that starts profiling to avoid profiling
30         tools that shouldn't be profiled unless explicitly requested to.
31
32         * bindings/js/kjs_proxy.cpp: When a new global object is created set its
33         page group identifier.
34         (WebCore::KJSProxy::clear):
35         (WebCore::KJSProxy::initScript):
36         * page/Console.cpp: When calling console.profile set the identifier of
37         the page group being profiled.
38         (WebCore::Console::profile):
39         * page/PageGroup.cpp: Implement unique identifiers.
40         (WebCore::getUniqueIdentifier):
41         (WebCore::PageGroup::PageGroup):
42         * page/PageGroup.h: Ditto.
43         (WebCore::PageGroup::identifier):
44
45 2008-04-24  John Sullivan  <sullivan@apple.com>
46
47         Mac buid fix
48
49         * page/mac/WebCoreViewFactory.h:
50         add declarations of six new AX methods that were added to LocalizedStrings.h
51         
52         * platform/mac/LocalizedStringsMac.mm:
53         (WebCore::AXButtonActionVerb):
54         implement by calling through to WebCoreViewFactory as we do with the other functions here
55         (WebCore::AXRadioButtonActionVerb):
56         ditto
57         (WebCore::AXTextFieldActionVerb):
58         ditto
59         (WebCore::AXCheckedCheckBoxActionVerb):
60         ditto
61         (WebCore::AXUncheckedCheckBoxActionVerb):
62         ditto
63         (WebCore::AXLinkActionVerb):
64         ditto
65
66 2008-04-24  Simon Hausmann  <hausmann@webkit.org>
67
68         Rubber-stamped by Lars
69
70         Fix text rendering in -reverse mode on Qt/Mac.
71
72         For Font::width() don't use a plain QFontMetrics object but also the properly
73         setup QTextLayout that has the RTL/LTR force flags set.
74
75         * platform/graphics/qt/FontQt.cpp:
76         (WebCore::Font::width):
77
78 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
79
80         Reviewed by Simon.
81
82         Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
83         all drawing primitives in the HTML Canvas element.
84
85         This speeds up drawing of dashed outlines significantly.
86
87         Also preserve the anti-aliasing renderhint for transparency layers and
88         get rid of the mostly unused device pointer.
89
90         * platform/graphics/qt/GraphicsContextQt.cpp:
91         (WebCore::TransparencyLayer::TransparencyLayer):
92         (WebCore::GraphicsContextPlatformPrivate::p):
93         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
94         (WebCore::GraphicsContext::beginTransparencyLayer):
95         (WebCore::GraphicsContext::drawRect):
96         (WebCore::GraphicsContext::drawLine):
97         (WebCore::GraphicsContext::strokeArc):
98
99 2008-04-24  Paul Olav Tvete <paul@trolltech.com>
100
101         Reviewed by Simon.
102
103         Fix various compiler warnings related to QString(const char *)
104         construction by using QLatin1String.
105
106         * bridge/qt/qt_instance.cpp:
107         (KJS::Bindings::QtField::valueFromInstance):
108         (KJS::Bindings::QtField::setValueToInstance):
109         * dom/XMLTokenizer.cpp:
110         (WebCore::):
111         * platform/graphics/qt/PathQt.cpp:
112         (WebCore::Path::debugString):
113
114 2008-04-24  Morten Johan Sørvig  <msorvig@trolltech.com>
115
116         Reviewed by Simon.
117
118         Work around QMacStyle bug in repainting the vertical scrollbar.
119
120         We draw the scrollbar using HITheme but somehow the translation and the
121         clipping we previously set using ClipCGContextToRegion is ignored. Drawing
122         without the translation fixes the clip.
123
124         * platform/qt/PlatformScrollBarQt.cpp:
125         (WebCore::PlatformScrollbar::paint):
126
127 2008-04-24  Holger Hans Peter Freyther  <zecke@selfish.org>
128
129         Reviewed by Simon.
130
131         * Set an expiration date for local files as we do not know what will happen
132         to these files (in contrast to a http server with max-age and other headers)
133         * Remember the time when we started the job and use that for the expiration date
134         * QNetworkManager does not handle expiration at all, we might want to set the
135         expiration for all downloads but this will be a performance nightmare.
136
137         * platform/network/qt/QNetworkReplyHandler.cpp:
138         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
139         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
140         (WebCore::QNetworkReplyHandler::start):
141         * platform/network/qt/QNetworkReplyHandler.h:
142
143 2008-04-24  Simon Hausmann  <hausmann@webkit.org>
144
145         Fix the Gtk and Qt builds.
146
147         Added missing localization stubs for accessibility.
148
149         * platform/gtk/LocalizedStringsGtk.cpp:
150         (WebCore::AXButtonActionVerb):
151         (WebCore::AXRadioButtonActionVerb):
152         (WebCore::AXTextFieldActionVerb):
153         (WebCore::AXCheckedCheckBoxActionVerb):
154         (WebCore::AXUncheckedCheckBoxActionVerb):
155         (WebCore::AXLinkActionVerb):
156         * platform/qt/Localizations.cpp:
157         (WebCore::AXButtonActionVerb):
158         (WebCore::AXRadioButtonActionVerb):
159         (WebCore::AXTextFieldActionVerb):
160         (WebCore::AXCheckedCheckBoxActionVerb):
161         (WebCore::AXUncheckedCheckBoxActionVerb):
162         (WebCore::AXLinkActionVerb):
163
164 2008-04-24  Olivier Goffart  <ogoffart@trolltech.com>
165
166         Reviewed by Simon
167
168         Fix various compiler warnings in the Qt port.
169
170         * platform/graphics/qt/ImageQt.cpp:
171         (loadResourcePixmap):
172         * platform/qt/CookieJarQt.cpp:
173         (WebCore::cookies):
174         * platform/qt/ScrollViewQt.cpp:
175         (WebCore::ScrollView::wheelEvent):
176         * plugins/qt/PluginDataQt.cpp:
177         (WebCore::PluginData::initPlugins):
178
179 2008-04-24  Andre Poenitz  <andre.poenitz@trolltech.com>
180
181         Reviewed by Simon.
182
183         Removed spurious QHideEvent forward declaration.
184
185         * platform/qt/QWebPopup.h:
186
187 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
188
189         Reviewed by Simon.
190
191         Render text areas using Qt (ensures proper style).
192
193         * platform/qt/RenderThemeQt.cpp:
194         (WebCore::RenderThemeQt::paintTextField):
195         (WebCore::RenderThemeQt::adjustTextFieldStyle):
196         (WebCore::RenderThemeQt::paintTextArea):
197         (WebCore::RenderThemeQt::supportsFocus):
198         * platform/qt/RenderThemeQt.h:
199
200 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
201
202         Reviewed by Simon.
203
204         Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
205         horizontal and vertical wheel events will scroll the view in the orientation
206         of the scrollbar underneath the cursor.
207
208         * platform/qt/ScrollViewQt.cpp:
209         (WebCore::ScrollView::paint):
210         (WebCore::ScrollView::wheelEvent):
211
212 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
213
214         Reviewed by Brady.
215
216         * page/AccessibilityObject.cpp:
217         (WebCore::AccessibilityObject::press): Return false if this object
218         doesn't have an action element associated with it.
219         * page/AccessibilityObject.h: Added a performDefaultAction() method,
220         which just calls press(). Marked press() const and changed its return
221         type to bool.
222
223 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
224
225         Reviewed by Adam.
226
227         Don't allow a hit test to return an AccessibilityObject that should be
228         ignored.
229
230         * page/AccessibilityObject.cpp:
231         (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result
232         object's accessibility is ignored, return the parent unignored object.
233
234 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
235
236         Reviewed by Adam.
237
238         Fix a crash when performing a hit test on an AccessibilityObject with
239         no layer (e.g., an AccessibilityObject for a RenderText object).
240
241         * page/AccessibilityObject.cpp:
242         (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null
243         check for layer. Removed a null check for m_renderer, which shouldn't
244         occur.
245
246 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
247
248         * page/AccessibilityObject.cpp:
249         (WebCore::AccessibilityObject::boundingBoxRect): Added FIXME about this
250         method not working correctly for objects with CSS transforms applied.
251
252 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
253
254         Reviewed by Adam.
255
256         Implement contentsToScreen() and screenToContents() on Windows.
257
258         * platform/ScrollView.h: Make these declarations conditional on
259         HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
260         * platform/win/ScrollViewWin.cpp:
261         (WebCore::ScrollView::contentsToScreen): Translate from coordinates
262         relative to the ScrollView to coordinates relative to the screen. Do
263         this by getting the offset of the ScrollView in screen coordinates and
264         moving the rect by this amount.
265         (WebCore::ScrollView::screenToContents): Translate from coordinates
266         relative to the screen to coordinates relative to the ScrollView.
267
268 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
269
270         Reviewed by Oliver.
271
272         Add a method to get a localized, human-readable string stating this
273         object's default action, e.g., a button's default action is "press."
274
275         * page/AccessibilityObject.cpp:
276         (WebCore::AccessibilityObject::actionVerb): Added.
277         * page/AccessibilityObject.h: Added declaration for actionVerb().
278         * platform/LocalizedStrings.h: Added declarations for:
279             AXButtonActionVerb()
280             AXRadioButtonActionVerb()
281             AXTextFieldActionVerb()
282             AXCheckedCheckBoxActionVerb()
283             AXUncheckedCheckBoxActionVerb()
284             AXLinkActionVerb()
285
286 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
287
288         Reviewed by Simon.
289
290         Cleaned up copyright headers in the Qt port (removed misplaced class
291         descriptions and fixed inconsistent whitespace and indentation).
292
293         * platform/graphics/qt/FontQt.cpp:
294         * platform/qt/WheelEventQt.cpp:
295
296 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
297
298         Reviewed by Simon.
299
300         Disable vanlilla focus rings since Qt provides this as part of the style.
301
302         * platform/qt/RenderThemeQt.cpp:
303
304 2008-04-24  George Staikos  <george@staikos.net>
305
306         Reviewed by Simon.
307
308         This optimization in BitmapImage::drawPattern for the identity
309         transform is bogus and causes incorrect results on sites like youtube.
310
311         * platform/graphics/qt/ImageQt.cpp:
312         (WebCore::BitmapImage::drawPattern):
313
314 2008-04-23  Brady Eidson  <beidson@apple.com>
315
316         Reviewed by Jon Honeycutt
317
318         Preparing for making LocalStorageAreas persistent.
319
320         Since LocalStorageAreas will need to do a lot of additional work for each of the basic
321         operations a Storage object supports, this patch makes the API entry points virtual so
322         LocalStorageArea can override them.  The behavior for both Local and Session StorageAreas
323         is unchanged with this patch, but LocalStorageArea will override them in the future.
324
325         * storage/StorageArea.cpp: Rename the implementations to internalFoo
326         (WebCore::StorageArea::internalLength):
327         (WebCore::StorageArea::internalKey):
328         (WebCore::StorageArea::internalGetItem):
329         (WebCore::StorageArea::internalSetItem):
330         (WebCore::StorageArea::internalRemoveItem):
331         (WebCore::StorageArea::internalContains):
332
333         * storage/StorageArea.h: Call internalFoo variants
334         (WebCore::StorageArea::length):
335         (WebCore::StorageArea::key):
336         (WebCore::StorageArea::getItem):
337         (WebCore::StorageArea::setItem):
338         (WebCore::StorageArea::removeItem):
339         (WebCore::StorageArea::contains):
340
341 2008-04-23  David Hyatt  <hyatt@apple.com>
342
343         Implement getComputedStyle for border-image.
344
345         Reviewed by Dan Bernstein
346
347         Added fast/css/getComputedStyle-border-image.html
348
349         * css/CSSComputedStyleDeclaration.cpp:
350         (WebCore::):
351         (WebCore::valueForRepeatRule):
352         (WebCore::valueForNinePieceImage):
353         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
354
355 2008-04-22  Darin Adler  <darin@apple.com>
356
357         Reviewed by Anders.
358
359         - simplify use of HashTraits to prepare for some upcoming hash table changes
360
361         * page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different
362         from the default hash traits for unsigned.
363         * page/mac/AXObjectCacheMac.mm:
364         (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done
365         by HashTable that the value is not the deleted value.
366
367         * platform/graphics/StringTruncator.cpp: Removed unneeded include.
368         * svg/SVGFontFaceElement.cpp: Removed unneeded include.
369
370 2008-04-23  Kevin Ollivier  <kevino@theolliviers.com>
371
372         wx build fixes. Changing BackgroundLayer -> FillLayer and adding
373         Frame::disconnectPlatformScriptObjects().
374
375         * platform/wx/RenderThemeWx.cpp:
376         (WebCore::RenderThemeWx::isControlStyled):
377         * platform/wx/TemporaryLinkStubs.cpp:
378         (Frame::disconnectPlatformScriptObjects):
379
380 2008-04-23  David Hyatt  <hyatt@apple.com>
381
382         Add support for mask-box-image (similar to border-image).  This property enables a single image
383         to overlay the entire mask area (with nine-piece slicing rules similar to border image).
384
385         Reviewed by Dan Bernstein
386
387         Added inline-mask-overlay.html, block-mask-overlay.html
388
389         * css/CSSComputedStyleDeclaration.cpp:
390         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
391         * css/CSSParser.cpp:
392         (WebCore::CSSParser::parseValue):
393         (WebCore::CSSParser::parseBorderImage):
394         * css/CSSPropertyNames.in:
395         * css/CSSStyleSelector.cpp:
396         (WebCore::CSSStyleSelector::applyProperty):
397         * rendering/InlineFlowBox.cpp:
398         (WebCore::InlineFlowBox::paintMask):
399         * rendering/RenderBox.cpp:
400         (WebCore::RenderBox::paintMask):
401         * rendering/RenderFlow.cpp:
402         (WebCore::RenderFlow::paintLines):
403         * rendering/RenderObject.cpp:
404         (WebCore::RenderObject::paintNinePieceImage):
405         (WebCore::RenderObject::paintBorder):
406         * rendering/RenderObject.h:
407         * rendering/RenderStyle.cpp:
408         (WebCore::NinePieceImage::operator==):
409         * rendering/RenderStyle.h:
410         (WebCore::):
411         (WebCore::NinePieceImage::m_verticalRule):
412         (WebCore::NinePieceImage::horizontalRule):
413         (WebCore::NinePieceImage::verticalRule):
414         (WebCore::RenderStyle::borderImage):
415         (WebCore::RenderStyle::maskOverlayImage):
416         (WebCore::RenderStyle::hasMask):
417         (WebCore::RenderStyle::resetBorderImage):
418         (WebCore::RenderStyle::setBorderImage):
419         (WebCore::RenderStyle::setMaskOverlayImage):
420         (WebCore::RenderStyle::initialNinePieceImage):
421         * rendering/RenderTable.cpp:
422         (WebCore::RenderTable::paintMask):
423         * rendering/RenderTableCell.cpp:
424         (WebCore::RenderTableCell::paintMask):
425
426 2008-04-23  Justin Garcia  <justin.garcia@apple.com>
427
428         Reviewed by Darin Adler.
429
430         <rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div
431
432         * editing/htmlediting.cpp:
433         (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if
434         this function moves out of highestRoot.  Re-wrote so as to not duplicate code inside
435         and outside of the while loop.
436         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
437
438 2008-04-23  Daniel Zucker  <zucker@wake3.com>
439
440         Reviewed by Adam Roben.
441
442         Fix build errors needed to compile Curl in Cairo build.  Add stubs for
443         didReceiveAuthenticationChallenge, receivedCredential,
444         receivedRequestToContinueWithoutCredential, and receivedCancellation.
445         <https://bugs.webkit.org/show_bug.cgi?id=18468>
446
447         * platform/network/ResourceHandle.h:  
448         * platform/network/curl/ResourceHandleCurl.cpp:
449         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
450         (WebCore::ResourceHandle::receivedCredential):
451         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
452         (WebCore::ResourceHandle::receivedCancellation):
453
454 2008-04-23  Dan Bernstein  <mitz@apple.com>
455
456         Reviewed by Darin Adler.
457
458         - fix a bug where moving forward in bidirectional text skips over the
459           position after the end of the line
460
461         Test: editing/selection/move-past-trailing-space.html
462
463         * dom/Position.cpp:
464         (WebCore::Position::upstream): Changed the logic for identifying when a
465         position is after the last character of a text box of a text node that
466         continues on the next line, to make it work correctly when boxes are not
467         laid out in logical order.
468         (WebCore::Position::downstream): Ditto.
469
470 2008-04-23  Brad Hughes  <bhughes@trolltech.com>
471
472         Reviewed by Simon.
473
474         Fix release build with the intel compiler
475
476         Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0
477
478         * WebCore.pro:
479
480 2008-04-22  Dan Bernstein  <mitz@apple.com>
481
482         Reviewed by Anders Carlsson.
483
484         - remove unused calls to Position::upstream()
485
486         * editing/InsertLineBreakCommand.cpp:
487         (WebCore::InsertLineBreakCommand::insertNodeAfterPosition):
488         (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
489
490 2008-04-22  Jon Honeycutt  <jhoneycutt@apple.com>
491
492         Reviewed by Sam.
493
494         Add a method to query which modifier keys the platform uses for access
495         key actions.
496
497         * page/EventHandler.cpp:
498         (WebCore::EventHandler::handleAccessKey): Bitwise and the event's
499         modifier keys with the platform's access key modifier mask to determine
500         whether this event can perform an access key action.
501         * page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined
502         mask of modifier keys used for access key actions, and a getter.
503         * page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for
504         access key actions.
505         * page/qt/EventHandlerQt.cpp: Same.
506         * page/gtk/EventHandlerGtk.cpp: Use AltKey.
507         * page/win/EventHandlerWin.cpp: Same.
508         * page/wx/EventHandlerWx.cpp: Same.
509         * platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey.
510         (WebCore::PlatformKeyboardEvent::):
511         (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys
512         were active, a combination of ModifierKey values.
513
514 2008-04-22  Sam Weinig  <sam@webkit.org>
515
516         Reviewed by Maciej Stachowiak.
517
518         Make the KJSProxy and FrameLoader member variables instead of pointers
519         in FramePrivate in a bid to do a little clean up before the last of the
520         split window patches.  Also, make the KJSProxy not lazily created, as the
521         real benefit comes from lazily creating the JSDOMWindowWrapper, which we
522         still do.
523
524         * page/Frame.cpp:
525         (WebCore::Frame::~Frame):
526         (WebCore::Frame::init):
527         (WebCore::Frame::loader):
528         (WebCore::Frame::scriptProxy):
529         (WebCore::Frame::document):
530         (WebCore::Frame::setDocument):
531         (WebCore::Frame::clearScriptProxy):
532         (WebCore::Frame::pageDestroyed):
533         (WebCore::FramePrivate::FramePrivate):
534         (WebCore::FramePrivate::~FramePrivate):
535         * page/FramePrivate.h:
536
537 2008-04-22  Anatoli Papirovski  <apapirovski@mac.com>
538
539         Reviewed by Dan Bernstein.
540
541         - fix https://bugs.webkit.org/show_bug.cgi?id=18584
542         border-color, outline-color, column-color, -webkit-text-stroke-color,
543         and -webkit-text-fill-color inheritance to correctly use parent's color
544         if the parent's corresponding (border, outline, etc.)-color property
545         wasn't set.
546
547         Test: fast/borders/border-color-inherit.html
548
549         * css/CSSStyleSelector.cpp:
550         (WebCore::CSSStyleSelector::applyProperty):
551
552 2008-04-22  Alp Toker  <alp@nuanti.com>
553
554         Rubber-stamped by Dave Hyatt.
555
556         Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
557         GraphicsContextCairo.
558
559         * platform/graphics/GraphicsContext.cpp:
560         * platform/graphics/cairo/GraphicsContextCairo.cpp:
561         (WebCore::GraphicsContext::clipToImageBuffer):
562
563 2008-04-22  David Hyatt  <hyatt@apple.com>
564
565         Add support for mask-composite to match background-composite.
566
567         Reviewed by Sam Weinig
568
569         Added fast/backgrounds/mask-composite.html
570
571         * css/CSSComputedStyleDeclaration.cpp:
572         (WebCore::):
573         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
574         * css/CSSParser.cpp:
575         (WebCore::CSSParser::parseValue):
576         (WebCore::CSSParser::parseFillProperty):
577         * css/CSSPropertyNames.in:
578         * css/CSSStyleSelector.cpp:
579         (WebCore::CSSStyleSelector::applyProperty):
580         * rendering/InlineFlowBox.cpp:
581         (WebCore::InlineFlowBox::paintMask):
582
583 2008-04-22  David Hyatt  <hyatt@apple.com>
584
585         Fix for bug 18688, background-color stopped painting on inlines.  Fix a virtual function
586         misnaming that led to the derived class not getting called properly.
587
588         Reviewed by Mark Rowe
589
590         * ChangeLog:
591         * rendering/InlineFlowBox.cpp:
592         (WebCore::InlineFlowBox::paintFillLayer):
593         * rendering/RenderObject.h:
594         (WebCore::RenderObject::paintFillLayerExtended):
595
596 2008-04-22  Brady Eidson  <beidson@apple.com>
597
598         Reviewed by Sam Weinig
599
600         <rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
601         Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.
602
603         * dom/Document.cpp:
604         (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is
605           finished parsing.
606
607         * loader/FrameLoader.cpp:
608         (WebCore::FrameLoader::endIfNotLoadingMainResource):  Don't start the icon load here, when the
609           document is finished parsing.  This was often too early, as document parsing may be blocked
610           on an external script and therefore the correct iconURL is not set yet.
611           The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing,
612           and is now irrelevant.
613         * loader/FrameLoader.h:  Make startIconLoader() public
614
615 2008-04-22  Antti Koivisto  <antti@apple.com>
616
617         Reviewed by Oliver.
618
619         Support keyPoints attribute of <animateMotion>.
620         
621         Tested by SVG test suite test
622         animate-elem-33-t.svg
623
624         * svg/SVGAnimateMotionElement.cpp:
625         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
626         * svg/SVGAnimationElement.cpp:
627         (WebCore::parseKeyTimes):
628         (WebCore::SVGAnimationElement::parseMappedAttribute):
629         (WebCore::SVGAnimationElement::calculatePercentForSpline):
630         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
631         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
632         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
633         (WebCore::SVGAnimationElement::startedActiveInterval):
634         (WebCore::SVGAnimationElement::updateAnimation):
635         * svg/SVGAnimationElement.h:
636
637 2008-04-22  Holger Hans Peter Freyther  <zecke@selfish.org>
638
639         Unreviewed build fix.
640
641         Update WebKit.qrc to catch up with the addition and removal of images
642         from page/inspector/Images in recent commits.
643
644         * page/inspector/WebKit.qrc:
645
646 2008-04-22  David Hyatt  <hyatt@apple.com>
647
648         Fix for <rdar://5589634>.
649
650         Implement CSS alpha masks.  The syntax is very similar to that used for backgrounds.  Multiple mask images
651         can be specified, and each one can be tiled, positioned, etc.  The following new properties have been
652         added (all of which are analogous to their background-* counterparts).
653
654         mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position
655
656         The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
657         alpha of 0 = don't show).
658
659         SVG images and CSS gradients can also be used as masks.
660
661         Reviewed by Dan
662
663         Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html
664
665         * css/CSSMutableStyleDeclaration.cpp:
666         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
667         (WebCore::initShorthandMap):
668         * css/CSSParser.cpp:
669         (WebCore::CSSParser::parseFillProperty):
670         (WebCore::CSSParser::parseTransformOrigin):
671         * css/CSSStyleSelector.cpp:
672         (WebCore::CSSStyleSelector::adjustRenderStyle):
673         (WebCore::CSSStyleSelector::applyProperty):
674         * rendering/InlineFlowBox.cpp:
675         (WebCore::InlineFlowBox::paint):
676         (WebCore::InlineFlowBox::paintFillLayers):
677         (WebCore::InlineFlowBox::paintFillLayer):
678         (WebCore::InlineFlowBox::paintBoxDecorations):
679         (WebCore::InlineFlowBox::paintMask):
680         * rendering/InlineFlowBox.h:
681         * rendering/RenderBlock.cpp:
682         (WebCore::RenderBlock::paint):
683         (WebCore::RenderBlock::paintObject):
684         * rendering/RenderBox.cpp:
685         (WebCore::RenderBox::paintRootBoxDecorations):
686         (WebCore::RenderBox::paintBoxDecorations):
687         (WebCore::RenderBox::paintMask):
688         (WebCore::RenderBox::paintFillLayers):
689         (WebCore::RenderBox::paintFillLayer):
690         (WebCore::RenderBox::paintFillLayerExtended):
691         * rendering/RenderBox.h:
692         * rendering/RenderFieldset.cpp:
693         (WebCore::RenderFieldset::paintBoxDecorations):
694         (WebCore::RenderFieldset::paintMask):
695         * rendering/RenderFieldset.h:
696         * rendering/RenderInline.cpp:
697         (WebCore::RenderInline::requiresLayer):
698         * rendering/RenderLayer.cpp:
699         (WebCore::RenderLayer::isTransparent):
700         (WebCore::RenderLayer::paintLayer):
701         * rendering/RenderObject.cpp:
702         (WebCore::RenderObject::requiresLayer):
703         (WebCore::mustRepaintFillLayers):
704         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
705         (WebCore::RenderObject::setStyle):
706         (WebCore::RenderObject::updateFillImages):
707         * rendering/RenderObject.h:
708         (WebCore::):
709         (WebCore::RenderObject::hasMask):
710         (WebCore::RenderObject::paintMask):
711         (WebCore::RenderObject::paintFillExtended):
712         * rendering/RenderReplaced.cpp:
713         (WebCore::RenderReplaced::paint):
714         * rendering/RenderStyle.cpp:
715         (WebCore::FillLayer::FillLayer):
716         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
717         * rendering/RenderStyle.h:
718         (WebCore::FillLayer::initialFillComposite):
719         (WebCore::FillLayer::initialFillSize):
720         (WebCore::FillLayer::FillLayer):
721         (WebCore::RenderStyle::hasMask):
722         * rendering/RenderTable.cpp:
723         (WebCore::RenderTable::paint):
724         (WebCore::RenderTable::paintBoxDecorations):
725         (WebCore::RenderTable::paintMask):
726         * rendering/RenderTable.h:
727         * rendering/RenderTableCell.cpp:
728         (WebCore::RenderTableCell::requiresLayer):
729         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
730         (WebCore::RenderTableCell::paintMask):
731         * rendering/RenderTableCell.h:
732         * rendering/RenderWidget.cpp:
733         (WebCore::RenderWidget::paint):
734         * svg/graphics/SVGImage.cpp:
735         (WebCore::SVGImage::draw):
736         (WebCore::SVGImage::dataChanged):
737
738 2008-04-22  Sam Weinig  <sam@webkit.org>
739
740         Reviewed by Geoffrey Garen.
741
742         Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
743         the DOMWindow.
744
745         To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
746         after a navigation once the split window is completed, the DOMAbstractView must
747         wrap the Frame instead of a DOMWindow since the DOMWindow will change.
748
749         * WebCore.xcodeproj/project.pbxproj:
750         * bindings/objc/DOMAbstractView.mm: Added.
751         (-[DOMAbstractView dealloc]):
752         (-[DOMAbstractView finalize]):
753         (-[DOMAbstractView document]):
754         (-[DOMAbstractView _disconnectFrame]):
755         (-[DOMAbstractView WebCore::]):
756         (-[DOMAbstractView _initWithFrame:WebCore::]):
757         (+[DOMAbstractView _wrapAbstractView:WebCore::]):
758         Add custom implementation to implement weak reference semantics.
759
760         * bindings/objc/DOMAbstractViewFrame.h: Added.
761         Declare the [DOMAbstractView _disconectFrame] selector.
762         * bindings/objc/DOMInternal.h:
763         Remove DOMRGBColor Internal category since it is now generated.
764
765         * bindings/objc/DOMUtility.mm:
766         (KJS::createDOMWrapper):
767         Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
768
769         * bindings/scripts/CodeGeneratorObjC.pm:
770         Generate internal header for IDLs that want custom implementations.
771
772         * css/RGBColor.idl:
773         Make this a PODType as it really is in the implementation.
774
775         * page/AbstractView.idl:
776         This now needs a custom objective-c binding implementation.
777
778         * page/Frame.cpp:
779         (WebCore::Frame::~Frame):
780         disconnect the weak frame reference in the WindowScriptObject.
781
782         * page/Frame.h:
783         * page/gtk/FrameGtk.cpp:
784         (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
785         * page/mac/FrameMac.mm:
786         (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView.
787         (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
788         * page/qt/FrameQt.cpp:
789         (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
790         * page/win/FrameWin.cpp:
791         (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
792
793 2008-04-22  Dan Bernstein  <mitz@apple.com>
794
795         Reviewed by Sam Weinig.
796
797         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
798           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
799
800         * rendering/bidi.cpp:
801         (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
802         trailing white space a bidi level consistent with its position.
803
804 2008-04-22  Timothy Hatcher  <timothy@apple.com>
805
806         Remove many unused Web Inspector images.
807
808         Rubber-stamped by Adam Roben and Sam Weinig.
809
810         * page/inspector/Images/attachedShadow.png: Removed.
811         * page/inspector/Images/backNormal.png: Removed.
812         * page/inspector/Images/bottomShadow.png: Removed.
813         * page/inspector/Images/breadcrumbBackground.png: Removed.
814         * page/inspector/Images/console.png: Removed.
815         * page/inspector/Images/databaseBrowserViewNormal.png: Removed.
816         * page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
817         * page/inspector/Images/databaseBrowserViewSmall.png: Removed.
818         * page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
819         * page/inspector/Images/databaseQueryViewNormal.png: Removed.
820         * page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
821         * page/inspector/Images/databaseQueryViewSmall.png: Removed.
822         * page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
823         * page/inspector/Images/disclosureDownPressed.png: Removed.
824         * page/inspector/Images/disclosureRightDown.png: Removed.
825         * page/inspector/Images/disclosureRightPressed.png: Removed.
826         * page/inspector/Images/document.png: Removed.
827         * page/inspector/Images/domViewNormal.png: Removed.
828         * page/inspector/Images/domViewNormalSelected.png: Removed.
829         * page/inspector/Images/domViewSmall.png: Removed.
830         * page/inspector/Images/domViewSmallSelected.png: Removed.
831         * page/inspector/Images/downTriangle.png: Removed.
832         * page/inspector/Images/folder.png: Removed.
833         * page/inspector/Images/forwardNormal.png: Removed.
834         * page/inspector/Images/gradient.png: Removed.
835         * page/inspector/Images/gradientHighlight.png: Removed.
836         * page/inspector/Images/gradientHighlightBottom.png: Removed.
837         * page/inspector/Images/hideStatusWidget.png: Removed.
838         * page/inspector/Images/hideStatusWidgetPressed.png: Removed.
839         * page/inspector/Images/network.png: Removed.
840         * page/inspector/Images/plainDocument.png: Removed.
841         * page/inspector/Images/popupArrows.png: Removed.
842         * page/inspector/Images/popupArrowsBlack.png: Removed.
843         * page/inspector/Images/reload.png: Removed.
844         * page/inspector/Images/rightTriangle.png: Removed.
845         * page/inspector/Images/showStatusWidget.png: Removed.
846         * page/inspector/Images/showStatusWidgetPressed.png: Removed.
847         * page/inspector/Images/sidbarItemBackground.png: Removed.
848         * page/inspector/Images/sidebarActionWidget.png: Removed.
849         * page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
850         * page/inspector/Images/sidebarAttachWidget.png: Removed.
851         * page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
852         * page/inspector/Images/sidebarDetachWidget.png: Removed.
853         * page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
854         * page/inspector/Images/sidebarResizeWidget.png: Removed.
855         * page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
856         * page/inspector/Images/sourceViewNormal.png: Removed.
857         * page/inspector/Images/sourceViewNormalSelected.png: Removed.
858         * page/inspector/Images/sourceViewSmall.png: Removed.
859         * page/inspector/Images/sourceViewSmallSelected.png: Removed.
860         * page/inspector/Images/tab.png: Removed.
861         * page/inspector/Images/tabSelected.png: Removed.
862         * page/inspector/Images/toggleDown.png: Removed.
863         * page/inspector/Images/toggleUp.png: Removed.
864         * page/inspector/Images/toolbarButtonNormal.png: Removed.
865         * page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
866         * page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
867         * page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
868         * page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
869         * page/inspector/Images/toolbarButtonSmall.png: Removed.
870         * page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
871         * page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
872         * page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
873         * page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
874         * page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
875         * page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
876         * page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
877         * page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
878         * page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
879         * page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
880         * page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
881         * page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
882         * page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
883         * page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
884         * page/inspector/Images/treeLeftTriangleBlack.png: Removed.
885
886 2008-04-22  Anders Carlsson  <andersca@apple.com>
887
888         Reviewed by Darin.
889
890         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
891
892         * bridge/npapi.h:
893         * bridge/npruntime.h:
894         * plugins/npfunctions.h:
895
896 2008-04-22  Alice Liu  <alice.liu@apple.com>
897
898         Reviewed by John Sullivan and Adam Roben.
899
900         Test: fast/events/tabindex-focus-chain.html
901
902         * dom/Document.cpp:
903         (WebCore::Document::nextFocusableNode):
904         (WebCore::Document::previousFocusableNode):
905         If the focused node has been removed from the normal tabbing order,
906         advancing focus from this node should advance to the next focusable
907         node in tree order, and not start over at the beginning of the focus
908         chain. 
909
910 2008-04-22  Timothy Hatcher  <timothy@apple.com>
911
912         Adds a debugger toggle button to the scripts status bar that will start
913         and stop debugging of the inspected page.
914
915         Reviewed by Adam Roben.
916
917         * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
918         * page/InspectorController.cpp:
919         (WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
920         (WebCore::InspectorController::InspectorController): Initialize
921         m_debuggerAttached to false.
922         (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
923         property to the InspectorController class.
924         (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
925         Set m_debuggerAttached to true.
926         (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.
927         * page/InspectorController.h:
928         * page/inspector/Images/debuggingButtons.png: Added.
929         * page/inspector/ScriptsPanel.js:
930         (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
931         button and setup the id, className and event listener. Call reset.
932         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
933         (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
934         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
935         the debugging button to match what will happen when clicked. Change the style class,
936         and toggle the disabled state of the pause button.
937         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
938         depending on InspectorController.debuggerAttached().
939         * page/inspector/inspector.css: Added style rules for the debugger button.
940
941 2008-04-21  Adam Roben  <aroben@apple.com>
942
943         Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM
944
945         Reviewed by Dan Bernstein.
946
947         * platform/win/WheelEventWin.cpp:
948         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
949         GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel
950         delta (it is equivalent to what we were previously doing, however).
951
952 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
953
954         Qt build fix.
955
956         Adjust the Qt resource file to removed image files.
957
958         * page/inspector/WebKit.qrc:
959
960 2008-04-21  Timothy Hatcher  <timothy@apple.com>
961
962         Use CSS gradients to replace many image files in the Web Inspector.
963
964         Rubber-stamped by Adam Roben.
965
966         * page/inspector/Images/alternateTableRows.png: Removed.
967         * page/inspector/Images/darkShadow.png: Removed.
968         * page/inspector/Images/paneHeader.png: Removed.
969         * page/inspector/Images/paneHeaderActive.png: Removed.
970         * page/inspector/Images/sidebarSelection.png: Removed.
971         * page/inspector/Images/sidebarSelectionBackground.png: Removed.
972         * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
973         * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
974         * page/inspector/Images/sidebarSelectionBlurred.png: Removed.
975         * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
976         * page/inspector/Images/sidebarSelectionGray.png: Removed.
977         * page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
978         * page/inspector/Images/sidebarSelectionTall.png: Removed.
979         * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
980         * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
981         * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
982         * page/inspector/Images/toolbarBackground.png: Removed.
983         * page/inspector/Images/toolbarBackgroundInactive.png: Removed.
984         * page/inspector/inspector.css:
985
986 2008-04-22  Andre Poenitz  <andre.poenitz@trolltech.com>
987
988         Reviewed by Simon.
989
990         Remove compiler warnings on string literals used to construct QStrings
991         in webkit.
992
993         * bridge/qt/qt_instance.cpp:
994         (KJS::Bindings::QtField::valueFromInstance):
995         (KJS::Bindings::QtField::setValueToInstance):
996         * bridge/qt/qt_runtime.cpp:
997         (KJS::Bindings::convertValueToQVariant):
998         (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
999
1000 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
1001
1002         Reviewed by Simon.
1003
1004         Fall back to last path component for suggested filename if the HTTP content disposition is not set.
1005
1006         * platform/network/qt/QNetworkReplyHandler.cpp:
1007         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1008
1009 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
1010
1011         Reviewed by Simon.
1012
1013         Implemented the generation of the title string for images.
1014
1015         * platform/qt/Localizations.cpp:
1016
1017 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
1018
1019         Qt build fix.
1020
1021         * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to
1022         the signature in the base class.
1023         * platform/qt/RenderThemeQt.h: Ditto.
1024
1025 2008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
1026
1027         Reviewed by Darin.
1028
1029         Add a method to get the AccessibilityObject's access key,
1030
1031         * page/AccessibilityObject.cpp:
1032         (WebCore::AccessibilityObject::accessKey): Added; returns the object's
1033         access key attribute.
1034         * page/AccessibilityObject.h: Added declaration for accessKey().
1035
1036 2008-04-21  Sam Weinig  <sam@webkit.org>
1037
1038         Reviewed by Anders Carlsson.
1039
1040         Fix numerous crashing tests.
1041
1042         * html/HTMLHtmlElement.cpp:
1043         (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
1044
1045 2008-04-21  Dan Bernstein  <mitz@apple.com>
1046
1047         Reviewed by Darin Adler.
1048
1049         Tests: fast/media/implicit-media-all.html
1050                fast/media/monochrome.html
1051
1052         - allow implicit "all" media in media queries
1053         - use a value of 0 for the monochrome media feature on color displays
1054
1055         * css/CSSGrammar.y:
1056         * css/CSSParser.cpp:
1057         (WebCore::CSSParser::createFloatingMediaQuery):
1058         * css/CSSParser.h:
1059         * css/MediaQueryEvaluator.cpp:
1060         (WebCore::monochromeMediaFeatureEval):
1061
1062 2008-04-21  Brady Eidson  <beidson@apple.com>
1063
1064         Rockingly reviewed by Adele
1065
1066         Small StorageArea cleanups
1067
1068         * storage/SessionStorageArea.cpp:
1069         (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this
1070         (WebCore::SessionStorageArea::SessionStorageArea):
1071         * storage/SessionStorageArea.h:
1072
1073         * storage/StorageArea.cpp:  Changed to not expose the StorageMap at all - it's dangerous to expose
1074           it since we rely explicitly on its ref-count
1075         (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the 
1076           StorageMap from that.
1077         (WebCore::StorageArea::setItem):  The previous comment/code here was bogus.  All JS objects passed in
1078           to this API are stringified, so there's no such thing as "null" for setItem()
1079         * storage/StorageArea.h:
1080
1081 2008-04-21  Justin Garcia  <justin.garcia@apple.com>
1082
1083         Reviewed by John Sullivan.
1084
1085         <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
1086         
1087         If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
1088         Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
1089         when it is false, that does not necessarily mean that a default paragraph element
1090         will not be used.  Callers that passed false for this argument are OK with this.
1091
1092         * editing/InsertParagraphSeparatorCommand.cpp:
1093         (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): 
1094         (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement):
1095         (WebCore::InsertParagraphSeparatorCommand::doApply):
1096         * editing/InsertParagraphSeparatorCommand.h:
1097
1098 2008-04-21  Anders Carlsson  <andersca@apple.com>
1099
1100         Reviewed by Adam.
1101
1102         Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.
1103         
1104         * html/HTMLAttributeNames.in:
1105         Add manifest attribute.
1106         
1107         * html/HTMLHtmlElement.cpp:
1108         (WebCore::HTMLHtmlElement::insertedIntoDocument):
1109         * html/HTMLHtmlElement.h:
1110         Perform cache selection.
1111         
1112         * loader/MainResourceLoader.cpp:
1113         (WebCore::MainResourceLoader::load):
1114         * loader/appcache/ApplicationCacheGroup.cpp:
1115         (WebCore::cacheHostSet):
1116         (WebCore::urlHostHash):
1117         (WebCore::ApplicationCacheGroup::cacheForRequest):
1118         (WebCore::ApplicationCacheGroup::selectCache):
1119         * loader/appcache/ApplicationCacheGroup.h:
1120         * platform/KURL.h:
1121         (WebCore::KURL::hostStart):
1122         (WebCore::KURL::hostEnd):
1123
1124 2008-04-21  Mike Belshe  <mike@belshe.com>
1125
1126         Reviewed by eseidel and darin.  Landed by eseidel.
1127
1128         Fix broken optimization in createStrippingNullCharacters.
1129
1130         * platform/text/StringImpl.cpp:
1131         (WebCore::StringImpl::createStrippingNullCharacters):
1132
1133 2008-04-21  David Hyatt  <hyatt@apple.com>
1134
1135         Make the back end parsing of background properties generic.  Rename all the parsing functions from
1136         background -> fill.
1137
1138         Add a new set of properties for doing masks.  The code is now refactored so that the mask properties
1139         and the background properties share parsing routines.
1140
1141         Reviewed by Dan
1142
1143         * css/CSSComputedStyleDeclaration.cpp:
1144         (WebCore::):
1145         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1146         * css/CSSParser.cpp:
1147         (WebCore::CSSParser::parseValue):
1148         (WebCore::CSSParser::addFillValue):
1149         (WebCore::CSSParser::parseFillShorthand):
1150         (WebCore::CSSParser::parseFillImage):
1151         (WebCore::CSSParser::parseFillPositionXY):
1152         (WebCore::CSSParser::parseFillPosition):
1153         (WebCore::CSSParser::parseFillSize):
1154         (WebCore::CSSParser::parseFillProperty):
1155         (WebCore::CSSParser::parseTransformOrigin):
1156         * css/CSSParser.h:
1157         * css/CSSPropertyNames.in:
1158         * css/CSSStyleSelector.cpp:
1159         (WebCore::CSSStyleSelector::CSSStyleSelector):
1160         (WebCore::CSSStyleSelector::mapFillAttachment):
1161         (WebCore::CSSStyleSelector::mapFillClip):
1162         (WebCore::CSSStyleSelector::mapFillComposite):
1163         (WebCore::CSSStyleSelector::mapFillOrigin):
1164         (WebCore::CSSStyleSelector::mapFillImage):
1165         (WebCore::CSSStyleSelector::mapFillRepeat):
1166         (WebCore::CSSStyleSelector::mapFillSize):
1167         (WebCore::CSSStyleSelector::mapFillXPosition):
1168         (WebCore::CSSStyleSelector::mapFillYPosition):
1169         * rendering/RenderStyle.cpp:
1170         (WebCore::FillLayer::FillLayer):
1171         (WebCore::FillLayer::operator=):
1172         (WebCore::FillLayer::operator==):
1173         (WebCore::StyleBackgroundData::StyleBackgroundData):
1174         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1175         (WebCore::StyleRareNonInheritedData::operator==):
1176         (WebCore::RenderStyle::diff):
1177         * rendering/RenderStyle.h:
1178         (WebCore::LengthSize::LengthSize):
1179         (WebCore::):
1180         (WebCore::FillLayer::type):
1181         (WebCore::FillLayer::initialFillAttachment):
1182         (WebCore::FillLayer::initialFillClip):
1183         (WebCore::FillLayer::initialFillOrigin):
1184         (WebCore::FillLayer::initialFillRepeat):
1185         (WebCore::FillLayer::initialFillComposite):
1186         (WebCore::FillLayer::initialFillSize):
1187         (WebCore::FillLayer::initialFillXPosition):
1188         (WebCore::FillLayer::initialFillYPosition):
1189         (WebCore::FillLayer::initialFillImage):
1190         (WebCore::RenderStyle::maskImage):
1191         (WebCore::RenderStyle::maskRepeat):
1192         (WebCore::RenderStyle::maskComposite):
1193         (WebCore::RenderStyle::maskAttachment):
1194         (WebCore::RenderStyle::maskClip):
1195         (WebCore::RenderStyle::maskOrigin):
1196         (WebCore::RenderStyle::maskXPosition):
1197         (WebCore::RenderStyle::maskYPosition):
1198         (WebCore::RenderStyle::maskSize):
1199         (WebCore::RenderStyle::accessMaskLayers):
1200         (WebCore::RenderStyle::maskLayers):
1201         (WebCore::RenderStyle::clearBackgroundLayers):
1202         (WebCore::RenderStyle::clearMaskLayers):
1203         (WebCore::RenderStyle::inheritMaskLayers):
1204
1205 2008-04-21  Timothy Hatcher  <timothy@apple.com>
1206
1207         Fixes the issue were a Database view could still be visible after navigating to a new page.
1208
1209         Reviewed by Darin Adler.
1210
1211         * page/inspector/DatabasesPanel.js:
1212         (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
1213         from all databases. Remove all the children from databaseViews.
1214
1215 2008-04-21  Timothy Hatcher  <timothy@apple.com>
1216
1217         Adds the ability to enter multi-line commands in the console by holding the
1218         alt/option key when pressing enter/return.
1219
1220         https://bugs.webkit.org/show_bug.cgi?id=18454
1221
1222         Reviewed by Darin Adler.
1223
1224         * page/inspector/Console.js:
1225         (WebInspector.Console.prototype._enterKeyPressed): Return early if the
1226         alt/option key is held when enter is pressed.
1227         * page/inspector/inspector.css:
1228         (.console-message-text): Added. Set white-space: pre-wrap.
1229
1230 2008-04-21  Timothy Hatcher  <timothy@apple.com>
1231
1232         Fixes the bug where the Database table names do not update when
1233         running the CREATE TABLE or DROP TABLE queries. Also makes the
1234         table names update every time the database is collapsed and expanded.
1235
1236         https://bugs.webkit.org/show_bug.cgi?id=18453
1237
1238         Reviewed by Darin Adler.
1239
1240         * page/inspector/DatabasesPanel.js:
1241         (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
1242         Set shouldRefreshChildren to true on the Database's tree element.
1243         The refreshChildren property was renamed to shouldRefreshChildren.
1244         (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
1245         Request a refresh after every collapse so the next expand will
1246         have an updated table list.
1247
1248 2008-04-21  Timothy Hatcher  <timothy@apple.com>
1249
1250         Adds INDEX to the list of completion words for the Databases query view.
1251
1252         https://bugs.webkit.org/show_bug.cgi?id=18452
1253
1254         Reviewed by Darin Adler.
1255
1256         * page/inspector/DatabaseQueryView.js:
1257         (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
1258         and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".
1259
1260 2008-04-21  Timothy Hatcher  <timothy@apple.com>
1261
1262         Adds the UI portions of the Scripts panel to the Web Inspector.
1263         The Scripts panel has not been added to the toolbar yet.
1264
1265         https://bugs.webkit.org/show_bug.cgi?id=18601
1266
1267         Reviewed by Adam Roben.
1268
1269         * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"
1270         to "Show inherited". Adds new strings for the Scripts' panel tooltips.
1271         * page/inspector/BreakpointsSidebarPane.js: Added.
1272         * page/inspector/CallStackSidebarPane.js: Added.
1273         * page/inspector/Images/back.png: Added.
1274         * page/inspector/Images/debuggerContinue.png: Added.
1275         * page/inspector/Images/debuggerPause.png: Added.
1276         * page/inspector/Images/debuggerStepInto.png: Added.
1277         * page/inspector/Images/debuggerStepOut.png: Added.
1278         * page/inspector/Images/debuggerStepOver.png: Added.
1279         * page/inspector/Images/forward.png: Added.
1280         * page/inspector/Images/statusbarResizerHorizontal.png: Added.
1281         * page/inspector/PropertiesSection.js:
1282         (WebInspector.PropertiesSection): Flip the order the subtile is appended
1283         so it can float right in the CSS.
1284         * page/inspector/ScriptsPanel.js: Added.
1285         * page/inspector/StylesSidebarPane.js:
1286         (WebInspector.StylePropertiesSection): Changed "Show inherited properties"
1287         to "Show inherited".
1288         * page/inspector/inspector.css: Added new CSS rules for the Scripts panel. 
1289         Also changes the look of the section to match the mockup, this affects
1290         Styles and Properties in Elements.
1291         * page/inspector/inspector.html: Import new files.
1292         * page/inspector/inspector.js:
1293         (Preferences.minScriptsSidebarWidth): Added.
1294
1295 2008-04-21  Kevin McCullough  <kmccullough@apple.com>
1296
1297         Reviewed by Adam.
1298
1299         <rdar://problem/5770054> JavaScript profiler (10928)
1300         Took out debugging printing since we really want to hook into the
1301         inspector and not to print to the terminal.
1302
1303         * page/Console.cpp:
1304         (WebCore::Console::profileEnd):
1305
1306 2008-04-21  Sam Weinig  <sam@webkit.org>
1307
1308         Reviewed by Alexey Proskuryakov.
1309
1310         Fix up XMLHttpRequestProgressEvent.
1311
1312         * bindings/js/JSEventCustom.cpp:
1313         (WebCore::toJS):
1314         * xml/XMLHttpRequestProgressEvent.cpp:
1315         * xml/XMLHttpRequestProgressEvent.h:
1316
1317 2008-04-21  Adam Roben  <aroben@apple.com>
1318
1319         Fix Bug 18615: Crash in PluginPackage::hash
1320
1321         <https://bugs.webkit.org/show_bug.cgi?id=18615>
1322
1323         Reviewed by Anders Carlsson.
1324
1325         * plugins/PluginDatabase.cpp:
1326         (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage*
1327         to add().
1328
1329 2008-04-21  Anders Carlsson  <andersca@apple.com>
1330
1331         Reviewed by Adam.
1332
1333         Add cache group implementation.
1334
1335         * loader/DocumentLoader.cpp:
1336         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
1337         * loader/appcache/ApplicationCache.cpp:
1338         (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
1339         (WebCore::ApplicationCache::resourceForRequest):
1340         * loader/appcache/ApplicationCache.h:
1341         * loader/appcache/ApplicationCacheGroup.cpp:
1342         (WebCore::cacheGroupMap):
1343         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1344         (WebCore::ApplicationCacheGroup::selectCache):
1345         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
1346         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1347         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
1348         (WebCore::ApplicationCacheGroup::cacheDestroyed):
1349         (WebCore::ApplicationCacheGroup::update):
1350         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1351         (WebCore::ApplicationCacheGroup::didReceiveData):
1352         (WebCore::ApplicationCacheGroup::didFinishLoading):
1353         (WebCore::ApplicationCacheGroup::didFail):
1354         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
1355         (WebCore::ApplicationCacheGroup::didReceiveManifestData):
1356         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1357         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
1358         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
1359         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1360         (WebCore::ApplicationCacheGroup::startLoadingEntry):
1361         (WebCore::ApplicationCacheGroup::addEntry):
1362         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
1363         (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments):
1364         (WebCore::ApplicationCacheGroup::callListeners):
1365         * loader/appcache/ApplicationCacheGroup.h:
1366         (WebCore::ApplicationCacheGroup::status):
1367         (WebCore::ApplicationCacheGroup::newestCache):
1368         * platform/KURL.h:
1369         (WebCore::KURL::hostStart):
1370         (WebCore::KURL::hostEnd):
1371
1372 2008-04-21  David Hyatt  <hyatt@apple.com>
1373
1374         Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.
1375
1376         Reviewed by Dan
1377
1378         * css/CSSComputedStyleDeclaration.cpp:
1379         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1380         * css/CSSPrimitiveValueMappings.h:
1381         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1382         (WebCore::CSSPrimitiveValue::operator EFillBox):
1383         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
1384         * css/CSSStyleSelector.cpp:
1385         (WebCore::CSSStyleSelector::applyProperty):
1386         (WebCore::CSSStyleSelector::mapFillAttachment):
1387         (WebCore::CSSStyleSelector::mapFillClip):
1388         (WebCore::CSSStyleSelector::mapFillComposite):
1389         (WebCore::CSSStyleSelector::mapFillOrigin):
1390         (WebCore::CSSStyleSelector::mapFillImage):
1391         (WebCore::CSSStyleSelector::mapFillRepeat):
1392         (WebCore::CSSStyleSelector::mapFillSize):
1393         (WebCore::CSSStyleSelector::mapFillXPosition):
1394         (WebCore::CSSStyleSelector::mapFillYPosition):
1395         (WebCore::CSSStyleSelector::mapTransitionDuration):
1396         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
1397         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
1398         (WebCore::CSSStyleSelector::mapTransitionProperty):
1399         * css/CSSStyleSelector.h:
1400         * page/AnimationController.cpp:
1401         (WebCore::ImplicitAnimation::ImplicitAnimation):
1402         (WebCore::CompositeImplicitAnimation::animate):
1403         * rendering/InlineFlowBox.cpp:
1404         (WebCore::InlineFlowBox::paintBackgrounds):
1405         (WebCore::InlineFlowBox::paintBackground):
1406         * rendering/InlineFlowBox.h:
1407         * rendering/RenderBox.cpp:
1408         (WebCore::RenderBox::paintRootBoxDecorations):
1409         (WebCore::RenderBox::paintBackgrounds):
1410         (WebCore::RenderBox::paintBackground):
1411         (WebCore::RenderBox::calculateBackgroundSize):
1412         (WebCore::RenderBox::imageChanged):
1413         (WebCore::RenderBox::calculateBackgroundImageGeometry):
1414         (WebCore::RenderBox::paintBackgroundExtended):
1415         * rendering/RenderBox.h:
1416         * rendering/RenderObject.cpp:
1417         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
1418         (WebCore::RenderObject::updateBackgroundImages):
1419         (WebCore::RenderObject::arenaDelete):
1420         * rendering/RenderObject.h:
1421         (WebCore::RenderObject::paintBackgroundExtended):
1422         * rendering/RenderStyle.cpp:
1423         (WebCore::FillLayer::FillLayer):
1424         (WebCore::FillLayer::~FillLayer):
1425         (WebCore::FillLayer::operator=):
1426         (WebCore::FillLayer::operator==):
1427         (WebCore::FillLayer::fillUnsetProperties):
1428         (WebCore::FillLayer::cullEmptyLayers):
1429         (WebCore::Transition::fillUnsetProperties):
1430         * rendering/RenderStyle.h:
1431         (WebCore::):
1432         (WebCore::FillLayer::image):
1433         (WebCore::FillLayer::xPosition):
1434         (WebCore::FillLayer::yPosition):
1435         (WebCore::FillLayer::attachment):
1436         (WebCore::FillLayer::clip):
1437         (WebCore::FillLayer::origin):
1438         (WebCore::FillLayer::repeat):
1439         (WebCore::FillLayer::composite):
1440         (WebCore::FillLayer::size):
1441         (WebCore::FillLayer::next):
1442         (WebCore::FillLayer::isImageSet):
1443         (WebCore::FillLayer::isXPositionSet):
1444         (WebCore::FillLayer::isYPositionSet):
1445         (WebCore::FillLayer::isAttachmentSet):
1446         (WebCore::FillLayer::isClipSet):
1447         (WebCore::FillLayer::isOriginSet):
1448         (WebCore::FillLayer::isRepeatSet):
1449         (WebCore::FillLayer::isCompositeSet):
1450         (WebCore::FillLayer::isSizeSet):
1451         (WebCore::FillLayer::setImage):
1452         (WebCore::FillLayer::setXPosition):
1453         (WebCore::FillLayer::setYPosition):
1454         (WebCore::FillLayer::setAttachment):
1455         (WebCore::FillLayer::setClip):
1456         (WebCore::FillLayer::setOrigin):
1457         (WebCore::FillLayer::setRepeat):
1458         (WebCore::FillLayer::setComposite):
1459         (WebCore::FillLayer::setSize):
1460         (WebCore::FillLayer::clearImage):
1461         (WebCore::FillLayer::clearXPosition):
1462         (WebCore::FillLayer::clearYPosition):
1463         (WebCore::FillLayer::clearAttachment):
1464         (WebCore::FillLayer::clearClip):
1465         (WebCore::FillLayer::clearOrigin):
1466         (WebCore::FillLayer::clearRepeat):
1467         (WebCore::FillLayer::clearComposite):
1468         (WebCore::FillLayer::clearSize):
1469         (WebCore::FillLayer::setNext):
1470         (WebCore::FillLayer::operator!=):
1471         (WebCore::FillLayer::hasFixedImage):
1472         (WebCore::Transition::isDurationSet):
1473         (WebCore::Transition::isRepeatCountSet):
1474         (WebCore::Transition::isTimingFunctionSet):
1475         (WebCore::Transition::isPropertySet):
1476         (WebCore::Transition::clearDuration):
1477         (WebCore::Transition::clearRepeatCount):
1478         (WebCore::Transition::clearTimingFunction):
1479         (WebCore::Transition::clearProperty):
1480         (WebCore::Transition::duration):
1481         (WebCore::Transition::repeatCount):
1482         (WebCore::Transition::timingFunction):
1483         (WebCore::Transition::property):
1484         (WebCore::Transition::setDuration):
1485         (WebCore::Transition::setRepeatCount):
1486         (WebCore::Transition::setTimingFunction):
1487         (WebCore::Transition::setProperty):
1488         (WebCore::RenderStyle::NonInheritedFlags::operator==):
1489         (WebCore::RenderStyle::setBitDefaults):
1490         (WebCore::RenderStyle::backgroundRepeat):
1491         (WebCore::RenderStyle::backgroundComposite):
1492         (WebCore::RenderStyle::backgroundAttachment):
1493         (WebCore::RenderStyle::backgroundClip):
1494         (WebCore::RenderStyle::backgroundOrigin):
1495         (WebCore::RenderStyle::backgroundSize):
1496         (WebCore::RenderStyle::accessBackgroundLayers):
1497         (WebCore::RenderStyle::backgroundLayers):
1498         (WebCore::RenderStyle::clearBackgroundLayers):
1499         (WebCore::RenderStyle::inheritBackgroundLayers):
1500         (WebCore::RenderStyle::initialFillAttachment):
1501         (WebCore::RenderStyle::initialFillClip):
1502         (WebCore::RenderStyle::initialFillOrigin):
1503         (WebCore::RenderStyle::initialFillRepeat):
1504         (WebCore::RenderStyle::initialFillComposite):
1505         (WebCore::RenderStyle::initialFillSize):
1506         (WebCore::RenderStyle::initialFillXPosition):
1507         (WebCore::RenderStyle::initialFillYPosition):
1508         (WebCore::RenderStyle::initialFillImage):
1509         (WebCore::RenderStyle::initialWhiteSpace):
1510         (WebCore::RenderStyle::initialColor):
1511         * rendering/RenderTableCell.cpp:
1512         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1513         * rendering/RenderTheme.cpp:
1514         (WebCore::RenderTheme::adjustStyle):
1515         (WebCore::RenderTheme::isControlStyled):
1516         * rendering/RenderTheme.h:
1517         * rendering/RenderThemeMac.h:
1518         * rendering/RenderThemeMac.mm:
1519         (WebCore::RenderThemeMac::isControlStyled):
1520
1521 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
1522
1523         Rubber-stamped by Ap.
1524
1525         Add 2 explicit casts.
1526         Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).
1527
1528         * xml/XMLHttpRequest.cpp:
1529         (WebCore::XMLHttpRequest::dispatchProgressEvent):
1530
1531 2008-04-21  Anders Carlsson  <andersca@apple.com>
1532
1533         Reviewed by Adam.
1534
1535         Make it possible to load resources from the cache. 
1536         (Currently no documents are ever associated with a cache though.)
1537         
1538         * loader/DocumentLoader.cpp:
1539         (WebCore::DocumentLoader::setPrimaryLoadComplete):
1540         (WebCore::DocumentLoader::mainResourceApplicationCache):
1541         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
1542         * loader/DocumentLoader.h:
1543         * loader/MainResourceLoader.cpp:
1544         (WebCore::MainResourceLoader::didFinishLoading):
1545         (WebCore::MainResourceLoader::load):
1546         * loader/MainResourceLoader.h:
1547         (WebCore::MainResourceLoader::applicationCache):
1548         * loader/ResourceLoader.cpp:
1549         (WebCore::ResourceLoader::ResourceLoader):
1550         (WebCore::ResourceLoader::load):
1551         * loader/ResourceLoader.h:
1552         * loader/appcache/ApplicationCacheGroup.h:
1553         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1554
1555 2008-04-21  MorganL  <morganl.webkit@yahoo.com>
1556
1557         Reviewed by eseidel.  Landed by eseidel.
1558
1559         Add FrameLoader::policyDocumentLoader, and change
1560         provisionalDocumentLoader to have a const signature to be
1561         consistent with documentLoader and activeDocumentLoader.
1562
1563         * WebCore.base.exp:
1564         * WebCore.order:
1565         * loader/FrameLoader.cpp:
1566         (WebCore::FrameLoader::policyDocumentLoader):
1567         (WebCore::FrameLoader::provisionalDocumentLoader):
1568         * loader/FrameLoader.h:
1569
1570 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
1571
1572         Not reviewed, add missing files in my previous commit.
1573
1574         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
1575
1576         * xml/XMLHttpRequestProgressEvent.cpp: Added.
1577         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
1578         (WebCore::XMLHttpRequestProgressEvent::position):
1579         (WebCore::XMLHttpRequestProgressEvent::totalSize):
1580         * xml/XMLHttpRequestProgressEvent.h: Added.
1581         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
1582         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
1583         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
1584         (WebCore::XMLHttpRequestProgressEvent::loaded):
1585         (WebCore::XMLHttpRequestProgressEvent::total):
1586         * xml/XMLHttpRequestProgressEvent.idl: Added.
1587
1588 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
1589
1590         Reviewed by Ap.
1591
1592         Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
1593         progressive download content length information.
1594
1595         - Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
1596
1597         - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent
1598          (as specified by the XHR2 specification) but also implement LSProgressEvent interface
1599          (to be compliant with Firefox event).
1600
1601         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
1602
1603         * DerivedSources.make:
1604         * GNUmakefile.am:
1605         * WebCore.pro:
1606         * WebCore.vcproj/WebCore.vcproj:
1607         * WebCore.xcodeproj/project.pbxproj:
1608         * WebCoreSources.bkl:
1609         * bindings/js/JSEventCustom.cpp:
1610         (WebCore::toJS):
1611         * bindings/js/JSXMLHttpRequestCustom.cpp:
1612         (WebCore::JSXMLHttpRequest::mark):
1613         (WebCore::JSXMLHttpRequest::onprogress):
1614         (WebCore::JSXMLHttpRequest::setOnprogress):
1615         * dom/Event.cpp:
1616         (WebCore::Event::isXMLHttpRequestProgressEvent):
1617         * dom/Event.h:
1618         * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation.
1619         * xml/XMLHttpRequest.cpp:
1620         (WebCore::XMLHttpRequest::onProgressListener): onprogress getter.
1621         (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter.
1622         (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength.
1623         (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort.
1624         (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call.
1625         (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
1626         (WebCore::XMLHttpRequest::dispatchProgressEvent):
1627         * xml/XMLHttpRequest.h:
1628         * xml/XMLHttpRequest.idl: Add onprogress event handler.
1629         * xml/XMLHttpRequestProgressEvent.cpp: Added.
1630         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
1631         (WebCore::XMLHttpRequestProgressEvent::position):
1632         (WebCore::XMLHttpRequestProgressEvent::totalSize):
1633         The two previous methods are used for Firefox compatibility and map to the
1634         same value as the ProgressEvent methods (but they are deprecated and display
1635
1636         * xml/XMLHttpRequestProgressEvent.h: Added.
1637         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
1638         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
1639         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
1640         (WebCore::XMLHttpRequestProgressEvent::loaded):
1641         (WebCore::XMLHttpRequestProgressEvent::total):
1642         * xml/XMLHttpRequestProgressEvent.idl: Added.
1643
1644 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
1645
1646         Reviewed by Simon.
1647
1648         Better handle Qt binding object lifetime in JS.
1649         Add explicit marking of JS objects created for Qt
1650         bindings, and remove the gcProtect calls.
1651
1652         * bridge/qt/qt_class.cpp:
1653         (KJS::Bindings::QtClass::fallbackObject):
1654         * bridge/qt/qt_instance.cpp:
1655         (KJS::Bindings::QtRuntimeObjectImp::mark):
1656         (KJS::Bindings::QtInstance::~QtInstance):
1657         (KJS::Bindings::QtInstance::mark):
1658         (KJS::Bindings::QtInstance::invokeDefaultMethod):
1659         (KJS::Bindings::QtField::valueFromInstance):
1660         * bridge/qt/qt_instance.h:
1661
1662 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
1663
1664         Reviewed by Simon.
1665
1666         Add better support for RuntimeArray type conversions.
1667         It seems that RuntimeArray claims to inherit ArrayInstance
1668         (in the JS sense), but the C++ class doesn't, so properly
1669         access RuntimeArrays.  Also, properly support turning
1670         a JS object into a QVariantMap, since we support the
1671         reverse.
1672
1673         * bridge/qt/qt_runtime.cpp:
1674         (KJS::Bindings::):
1675         (KJS::Bindings::operator<<):
1676         (KJS::Bindings::valueRealType):
1677         (KJS::Bindings::convertValueToQVariant):
1678         (KJS::Bindings::convertQVariantToValue):
1679
1680 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
1681
1682         Reviewed by Holger.
1683
1684         Fix painting of text fields in the CleanLooks style.
1685
1686         The CleanLooks style calls painter->drawRect() and expects a painter
1687         that has no brush set. This is a fairly common assumption and therefore
1688         we now always set the brush to NoBrush before calling a style. This
1689         is done by centralizing the painter setup code into StylePainter
1690         and restore the old brush in the StylePainter destructor.
1691
1692         In addition for textfields it is not necessary anymore to draw
1693         PE_FrameLineEdit as we set the lineWidth in the style option correctly
1694         and it's the style responsibility (QCommonStyle usually) to draw
1695         PE_FrameLineEdit.
1696
1697         * platform/qt/RenderThemeQt.cpp:
1698         (WebCore::RenderThemeQt::paintButton):
1699         (WebCore::RenderThemeQt::paintTextField):
1700         (WebCore::RenderThemeQt::paintMenuList):
1701         (WebCore::StylePainter::StylePainter):
1702         (WebCore::StylePainter::~StylePainter):
1703         * platform/qt/RenderThemeQt.h:
1704         (WebCore::StylePainter::isValid):
1705         (WebCore::StylePainter::drawPrimitive):
1706         (WebCore::StylePainter::drawControl):
1707         (WebCore::StylePainter::drawComplexControl):
1708
1709 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
1710
1711         Reviewed by Simon.
1712
1713         Fixes copy and paste of international characters.
1714
1715         When exporting HTML to the clipboard we need meta tags for now that confirm the
1716         conversion to utf-8 done inside QClipboard.
1717
1718         * platform/qt/PasteboardQt.cpp:
1719         (WebCore::Pasteboard::writeSelection):
1720
1721 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
1722
1723         Reviewed by Simon.
1724
1725         Fixes: Copying on X11 doesn't always work in webkit
1726
1727         Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.
1728
1729         * platform/qt/PasteboardQt.cpp:
1730
1731 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1732
1733         Reviewed by Simon.
1734
1735         * Assume that our lineedit has a frame. This is needed for the motif style
1736
1737         * platform/qt/RenderThemeQt.cpp:
1738         (WebCore::RenderThemeQt::paintTextField):
1739
1740 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1741
1742         Reviewed by Simon.
1743
1744         * Follow the windows render theme when determining whether to style
1745         listboxes or not.
1746
1747         * platform/qt/RenderThemeQt.cpp:
1748         (WebCore::RenderThemeQt::isControlStyled):
1749
1750 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1751
1752         Reviewed by Simon.
1753
1754         * Try to bring the notImplemented implementations closer together. This will
1755         print each unimplemted method name only once.
1756
1757         * We might want to change wtf/Assertions.cpp to use qDebug
1758
1759         * platform/NotImplemented.h:
1760
1761 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1762
1763         Reviewed by Simon.
1764
1765         * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned
1766         0 as width and after intialising drawing would fail. BitmapImage relies on a proper
1767         ImageSource.
1768         * Instead of adding more special cases to BitmapImage create a new class called StillImage
1769         which is getting one QPixmap and is implementing Image::draw and Image::size. This is
1770         working well for the images created using Image::loadPlatformResource.
1771
1772         * platform/graphics/BitmapImage.h:
1773         * platform/graphics/qt/ImageQt.cpp:
1774         (WebCore::BitmapImage::initPlatformData):
1775         (WebCore::BitmapImage::getPixmap):
1776         (WebCore::StillImage::StillImage):
1777         (WebCore::StillImage::size):
1778         (WebCore::StillImage::getPixmap):
1779         (WebCore::StillImage::draw):
1780
1781 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1782
1783         Reviewed by Simon.
1784
1785         * Package the Resources into a qrc
1786
1787         * Resources/WebKitResources.qrc: Added.
1788         * WebCore.pro:
1789
1790 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
1791
1792         Reviewed by Simon.
1793
1794         * Make sure every resource is available als png as well.
1795
1796         * Resources/deleteButton.png: Added.
1797         * Resources/deleteButtonPressed.png: Added.
1798         * Resources/missingImage.png: Added.
1799         * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png.
1800         * Resources/textAreaResizeCorner.png: Added.
1801         * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png.
1802
1803 2008-04-20  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
1804
1805         Reviewed by Alp Toker.
1806
1807         Implement FileSystemGtk's getFileModificationTime() with GLib.
1808
1809         * platform/gtk/FileSystemGtk.cpp:
1810         (WebCore::getFileModificationTime):
1811
1812 2008-04-20  Christian Persch  <chpe@gnome.org>
1813
1814         Reviewed by Alp Toker.
1815
1816         Bundle GTK+ Xt compatibility code from Mozilla. These files are used
1817         by all currently proposed GTK+ plugin patches and will make the
1818         proposed patches smaller and easier to review.
1819
1820         These files should be kept as close to the upstream versions as
1821         possible so fixes can be shared between projects and to ensure
1822         compatibility with the reference implementation.
1823
1824         * plugins/gtk/gtk2xtbin.c: Added.
1825         (xt_event_prepare):
1826         (xt_event_check):
1827         (xt_event_dispatch):
1828         (xt_event_polling_timer_callback):
1829         (gtk_xtbin_get_type):
1830         (gtk_xtbin_class_init):
1831         (gtk_xtbin_init):
1832         (gtk_xtbin_realize):
1833         (gtk_xtbin_new):
1834         (gtk_xtbin_set_position):
1835         (gtk_xtbin_resize):
1836         (gtk_xtbin_unrealize):
1837         (gtk_xtbin_destroy):
1838         (xt_client_init):
1839         (xt_client_create):
1840         (xt_client_unrealize):
1841         (xt_client_destroy):
1842         (xt_client_set_info):
1843         (xt_client_handle_xembed_message):
1844         (xt_client_event_handler):
1845         (send_xembed_message):
1846         (error_handler):
1847         (trap_errors):
1848         (untrap_error):
1849         (xt_client_focus_listener):
1850         (xt_add_focus_listener):
1851         (xt_remove_focus_listener):
1852         (xt_add_focus_listener_tree):
1853         * plugins/gtk/gtk2xtbin.h: Added.
1854
1855 2008-04-20  Dirk Schulze  <vbs85@gmx.de>
1856
1857         Reviewed by Alp Toker.
1858
1859         http://bugs.webkit.org/show_bug.cgi?id=15449
1860         [CAIRO] SVG gradients do not work properly
1861
1862         Fixed SVG-gradients in Cairo.
1863
1864         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
1865         (WebCore::SVGPaintServerGradient::setup):
1866
1867 2008-04-20  Simon Hausmann  <hausmann@webkit.org>
1868
1869         Reviewed by Alp Toker.
1870
1871         http://bugs.webkit.org/show_bug.cgi?id=18578
1872         Share the printing code between the Gtk and the Qt port
1873
1874         Share the printing code between the Gtk and the Qt port
1875         and added printing to the Qt WebKit API.
1876
1877         * GNUmakefile.am:
1878         * WebCore.pro:
1879         * page/PrintContext.cpp: Added.
1880         (WebCore::PrintContext::PrintContext):
1881         (WebCore::PrintContext::~PrintContext):
1882         (WebCore::PrintContext::pageCount):
1883         (WebCore::PrintContext::computePageRects):
1884         (WebCore::PrintContext::begin):
1885         (WebCore::PrintContext::spoolPage):
1886         * page/PrintContext.h: Added.
1887
1888 2008-04-19  Alp Toker  <alp@nuanti.com>
1889
1890         Reviewed by Mark Rowe.
1891
1892         Complete the Cairo (CSS) gradient implementation.
1893
1894         * platform/graphics/Gradient.h:
1895         * platform/graphics/cairo/GradientCairo.cpp:
1896         (WebCore::Gradient::platformDestroy):
1897         (WebCore::Gradient::fill):
1898
1899 2008-04-19  Alp Toker  <alp@nuanti.com>
1900
1901         Reviewed by Dave Hyatt.
1902
1903         Restore Cairo canvas support following the recent changes in
1904         BitmapImage and ImageBuffer integrating canvas with CSS. Some
1905         drawing regressions remain unfixed.
1906
1907         * platform/graphics/BitmapImage.h:
1908         * platform/graphics/ImageBuffer.h:
1909         * platform/graphics/cairo/ImageBufferCairo.cpp:
1910         (WebCore::ImageBuffer::image):
1911         * platform/graphics/cairo/ImageCairo.cpp:
1912         (WebCore::BitmapImage::BitmapImage):
1913         (WebCore::BitmapImage::draw):
1914         * platform/graphics/cairo/ImageSourceCairo.cpp:
1915         (WebCore::ImageSource::createFrameAtIndex):
1916
1917 2008-04-19  Dan Bernstein  <mitz@apple.com>
1918
1919         Reviewed by Dave Hyatt.
1920
1921         - fix additional cases of https://bugs.webkit.org/show_bug.cgi?id=17921
1922           namely cases where the trailing white space is already in a separate
1923           run but still needs to be re-ordered.
1924
1925         Test: fast/text/trailing-white-space-2.html
1926
1927         * platform/text/BidiResolver.h:
1928         (WebCore::::moveRunToEnd):
1929         (WebCore::::moveRunToBeginning):
1930         * rendering/bidi.cpp:
1931         (WebCore::RenderBlock::layoutInlineChildren):
1932
1933 2008-04-19  Alp Toker  <alp@nuanti.com>
1934
1935         Reviewed by Nikolas.
1936
1937         Add text shadow support for simple text in FontCairo.
1938
1939         * platform/graphics/cairo/FontCairo.cpp:
1940         (WebCore::Font::drawGlyphs):
1941
1942 2008-04-19  David Hyatt  <hyatt@apple.com>
1943
1944         Fix a minor typo in CSSGradientValue's cssText() method.
1945
1946         Reviewed by olliej
1947
1948         * css/CSSGradientValue.cpp:
1949         (WebCore::CSSGradientValue::cssText):
1950
1951 2008-04-19  Brady Eidson  <beidson@apple.com>
1952
1953         Reviewed by Tim Hatcher
1954
1955         Add LocalStorageDatabasePath to the settings for the location of persistent local storage.
1956
1957         * WebCore.base.exp:
1958
1959         * page/Settings.cpp:
1960         (WebCore::Settings::setLocalStorageDatabasePath):
1961         * page/Settings.h:
1962         (WebCore::Settings::localStorageDatabasePath):
1963
1964 2008-04-18 Jan  Michael Alonzo  <jmalonzo@unpluggable.com>
1965
1966         Reviewed by Alp Toker.
1967
1968         http://bugs.webkit.org/show_bug.cgi?id=16620
1969         [GTK] Autotools make dist and make check support
1970
1971         Cleanups.
1972
1973         * GNUmakefile.am:
1974
1975 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
1976
1977         Reviewed by Ollie.
1978
1979         Change when AccessibilityObject children are added.
1980
1981         Children are now added when children() is called if the children vector
1982         is not up to date. This removes the need for addChildren() and
1983         hasChildren() to be called from outside of AccessibilityObject.
1984
1985         * page/AccessibilityObject.cpp:
1986         (WebCore::AccessibilityObject::AccessibilityObject): Initialize
1987         m_haveChildren to false.
1988         (WebCore::AccessibilityObject::clearChildren): Set m_haveChildren to
1989         false.
1990         (WebCore::AccessibilityObject::children): If m_haveChildren is false,
1991         call addChildren().
1992         (WebCore::AccessibilityObject::addChildren): Set m_haveChildren to true.
1993         * page/AccessibilityObject.h: Removed hasChildren(). Made addChildren()
1994         private and const. Added m_haveChildren. Made m_children mutable so
1995         children() could modify it.
1996         * page/mac/AccessibilityObjectWrapper.mm:
1997         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Don't
1998         call hasChildren() or addChildren().
1999
2000 2008-04-18  Marco Barisione  <marco.barisione@collabora.co.uk>
2001
2002         Reviewed by Alexey.
2003
2004         http://bugs.webkit.org/show_bug.cgi?id=18357
2005         [GTK] Enter on buttons doesn't work
2006
2007         * platform/gtk/KeyEventGtk.cpp:
2008         (WebCore::singleCharacterString): Set the text of a keyboard event for
2009         GDK_ISO_Enter, GDK_KP_Enter, GDK_Return to "\r" instead of an empty
2010         string.
2011
2012 2008-04-18  Marco Barisione  <marco@barisione.org>
2013
2014         Reviewed by Alp Toker.
2015
2016         https://bugs.webkit.org/show_bug.cgi?id=18576
2017         [GTK] windowsKeyCodeForKeyEvent doesn't handle GDK_ISO_Enter and
2018         GDK_KP_Enter
2019
2020         * platform/gtk/KeyEventGtk.cpp:
2021         (WebCore::windowsKeyCodeForKeyEvent): handle GDK_ISO_Enter and
2022         GDK_KP_Enter in windowsKeyCodeForKeyEvent.
2023
2024 2008-04-18  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
2025
2026         Reviewed by Mark Rowe.
2027
2028         Gtk build fix.  Profiler.h does not live inside the kjs directory of JavaScriptCore
2029         so it doesn't make sense to include it as kjs/Profiler.h from WebCore.
2030
2031         * ForwardingHeaders/profiler/Profiler.h: Renamed from WebCore/ForwardingHeaders/kjs/Profiler.h.
2032         * page/Console.cpp:
2033
2034 2008-04-18  Antti Koivisto  <antti@apple.com>
2035
2036         Reviewed by Oliver.
2037
2038         Implement path animation for <animateMotion>.
2039         
2040         SVG test suite tests
2041         animate-elem-07-t.svg
2042         animate-elem-08-t.svg
2043         animate-elem-24-t.svg
2044         animate-elem-30-t.svg
2045
2046         * svg/SVGAnimateMotionElement.cpp:
2047         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
2048         (WebCore::SVGAnimateMotionElement::hasValidTarget):
2049         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
2050         (WebCore::SVGAnimateMotionElement::rotateMode):
2051         (WebCore::SVGAnimateMotionElement::animationPath):
2052         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2053         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2054         * svg/SVGAnimateMotionElement.h:
2055         (WebCore::SVGAnimateMotionElement::):
2056         * svg/SVGAnimationElement.cpp:
2057         (WebCore::SVGAnimationElement::animationMode):
2058         (WebCore::SVGAnimationElement::startedActiveInterval):
2059         * svg/SVGAnimationElement.h:
2060         (WebCore::SVGAnimationElement::):
2061         (WebCore::SVGAnimationElement::calculateDistance):
2062         (WebCore::SVGAnimationElement::animationPath):
2063
2064 2008-04-11  Mark Rowe  <mrowe@apple.com>
2065
2066         Rubber-stamped by Antti Koivisto.
2067
2068         Silence GCC 4.3 warnings by removing extraneous consts.
2069
2070         * platform/graphics/Font.h:
2071         * platform/network/ResourceRequestBase.cpp:
2072         * platform/network/ResourceRequestBase.h:
2073
2074 2008-04-18  Brady Eidson  <beidson@apple.com>
2075
2076         Rubberstamped by Mark Rowe
2077
2078         Roll out http://trac.webkit.org/projects/webkit/changeset/32204 as it was an incorrect build fix.
2079         The feature in question was NOT database support.
2080
2081         The proper build fix was later applied by Mark in http://trac.webkit.org/projects/webkit/changeset/32225
2082
2083         * page/PageGroup.cpp:
2084         (WebCore::PageGroup::localStorage):
2085
2086 2008-04-18  Brady Eidson  <beidson@apple.com>
2087
2088         Reviewed by Darin and Sam
2089
2090         Don't forget PageGroups when their last Page goes away, as this hurts visited links and anything
2091         else that will be per-PageGroup in the future (such as LocalStorage).
2092
2093         This also fixes a leak, since PageGroups are ref-counted and therefore clearing the raw pointer out
2094         of the PageGroups map without manual deletion leaked it!
2095
2096         * page/Page.cpp:
2097         (WebCore::Page::setGroupName):
2098
2099 2008-04-18  Dan Bernstein  <mitz@apple.com>
2100
2101         Reviewed by Brady Eidson.
2102
2103         - fix <rdar://problem/5872671> REGRESSION (3.1.1-TOT): Repro crash going to Ortega Park home page
2104
2105         Test: fast/dynamic/5872671.html
2106
2107         * rendering/bidi.cpp:
2108         (WebCore::RenderBlock::layoutInlineChildren): Added a missing null
2109         check.
2110
2111 2008-04-18  Sam Weinig  <sam@webkit.org>
2112
2113         Rubber-stamped by Mark Rowe.
2114
2115         responseText and responseXML don't throw exceptions so they don't need an ExceptionCode parameter.
2116
2117         * bindings/js/JSXMLHttpRequestCustom.cpp:
2118         * xml/XMLHttpRequest.cpp:
2119         (WebCore::XMLHttpRequest::responseText):
2120         (WebCore::XMLHttpRequest::responseXML):
2121         * xml/XMLHttpRequest.h:
2122         * xml/XMLHttpRequest.idl:
2123
2124 2008-04-18  Kevin McCullough  <kmccullough@apple.com>
2125
2126         Reviewed by Sam.
2127
2128         - Build fix.
2129
2130         * page/Console.cpp:
2131         (WebCore::Console::profile):
2132         * page/Console.h:
2133         * page/Console.idl:
2134
2135 2008-04-18  Eric Seidel  <eric@webkit.org>
2136
2137         Reviewed by darin.
2138
2139         Fix probable crasher caused by invalid static_cast
2140         https://bugs.webkit.org/show_bug.cgi?id=18585
2141
2142         * page/Frame.cpp:
2143         (WebCore::Frame::contentRenderer):
2144         (WebCore::Frame::ownerRenderer):
2145         * rendering/RenderObject.h: sort the "is*" functions
2146         (WebCore::RenderObject::isApplet):
2147         (WebCore::RenderObject::isBR):
2148         (WebCore::RenderObject::isBlockFlow):
2149         (WebCore::RenderObject::isCounter):
2150         (WebCore::RenderObject::isFrame):
2151         (WebCore::RenderObject::isFrameSet):
2152         (WebCore::RenderObject::isImage):
2153         (WebCore::RenderObject::isInlineBlockOrInlineTable):
2154         (WebCore::RenderObject::isInlineFlow):
2155         (WebCore::RenderObject::isListBox):
2156         (WebCore::RenderObject::isListItem):
2157         (WebCore::RenderObject::isListMarker):
2158         (WebCore::RenderObject::isMedia):
2159         (WebCore::RenderObject::isMenuList):
2160         (WebCore::RenderObject::isRenderBlock):
2161         (WebCore::RenderObject::isRenderImage):
2162         (WebCore::RenderObject::isRenderInline):
2163         (WebCore::RenderObject::isRenderPart):
2164         (WebCore::RenderObject::isRenderView):
2165         (WebCore::RenderObject::isSlider):
2166         (WebCore::RenderObject::isTable):
2167         (WebCore::RenderObject::isTableCell):
2168         (WebCore::RenderObject::isTableCol):
2169         (WebCore::RenderObject::isTableRow):
2170         (WebCore::RenderObject::isTableSection):
2171         (WebCore::RenderObject::isTextArea):
2172         * rendering/RenderPart.h:
2173
2174 2008-04-17  Eric Seidel  <eric@webkit.org>
2175
2176         Reviewed by beth.
2177
2178         Rename Frame::renderer() to contentRenderer() and fix uses.
2179
2180         * WebCore.base.exp:
2181         * editing/Editor.cpp:
2182         (WebCore::Editor::respondToChangedContents):
2183         * loader/FrameLoader.cpp:
2184         (WebCore::FrameLoader::gotoAnchor):
2185         * page/DragController.cpp:
2186         (WebCore::DragController::canProcessDrag):
2187         (WebCore::DragController::mayStartDragAtEventLocation):
2188         (WebCore::DragController::startDrag):
2189         * page/EventHandler.cpp:
2190         (WebCore::EventHandler::eventMayStartDrag):
2191         (WebCore::EventHandler::updateSelectionForMouseDrag):
2192         (WebCore::EventHandler::hitTestResultAtPoint):
2193         (WebCore::EventHandler::hoverTimerFired):
2194         (WebCore::EventHandler::handleDrag):
2195         * page/Frame.cpp:
2196         (WebCore::Frame::selectionLayoutChanged):
2197         (WebCore::Frame::contentRenderer):
2198         (WebCore::Frame::paint):
2199         (WebCore::Frame::markAllMatchesForText):
2200         (WebCore::Frame::documentAtPoint):
2201         * page/Frame.h:
2202         * page/FrameView.cpp:
2203         (WebCore::FrameView::~FrameView):
2204         (WebCore::FrameView::adjustViewSize):
2205         (WebCore::FrameView::layout):
2206         (WebCore::FrameView::scheduleRelayoutOfSubtree):
2207         (WebCore::FrameView::needsLayout):
2208         (WebCore::FrameView::setNeedsLayout):
2209         (WebCore::FrameView::updateControlTints):
2210         * rendering/RenderTreeAsText.cpp:
2211         (WebCore::write):
2212         * svg/graphics/SVGImage.cpp:
2213         (WebCore::SVGImage::nativeImageForCurrentFrame):
2214
2215 2008-04-18  Antti Koivisto  <antti@apple.com>
2216
2217         Reviewed by Oliver.
2218
2219         https://bugs.webkit.org/show_bug.cgi?id=18551
2220         REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests
2221         
2222         Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still
2223         crashing under guard malloc after the previous fix.
2224         
2225         If the event base element was a parent of the current element, dereffing it during 
2226         removedFromDocument() would cause problems. Avoid this by not holding ref pointer
2227         to the event base but instead checking from the ref count of the event listener whether
2228         it is still alive and in need for unregistering.
2229         
2230         This shold not be a problem for syncbase pointers since those are always animation elements
2231         and leaf nodes.
2232
2233         * svg/animation/SVGSMILElement.cpp:
2234         (WebCore::ConditionEventListener::ConditionEventListener):
2235         (WebCore::ConditionEventListener::unregister):
2236         (WebCore::ConditionEventListener::handleEvent):
2237         (WebCore::SVGSMILElement::connectConditions):
2238         (WebCore::SVGSMILElement::disconnectConditions):
2239         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
2240         * svg/animation/SVGSMILElement.h:
2241
2242 2008-04-18  Kevin McCullough  <kmccullough@apple.com>
2243
2244         Reviewed by Sam and Adam.
2245
2246         -<rdar://problem/5770054> JavaScript profiler (10928)
2247         - Added support for console.profile() and console.profileEnd().
2248
2249         * ForwardingHeaders/kjs/FunctionCallProfile.h: Added.
2250         * ForwardingHeaders/kjs/Profiler.h: Added.
2251         * page/Console.cpp:
2252         (WebCore::Console::profile):
2253         (WebCore::Console::profileEnd):
2254         * page/Console.h:
2255         * page/Console.idl:
2256
2257 2008-04-18  Kevin Ollivier  <kevino@theolliviers.com>
2258
2259         wx build fix. Add the new loader/appcache files.
2260
2261         * WebCoreSources.bkl:
2262
2263 2008-04-18  Dan Bernstein  <mitz@apple.com>
2264
2265         Reviewed by Darin Adler.
2266
2267         - fix https://bugs.webkit.org/show_bug.cgi?id=17921
2268           Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
2269
2270         Test: fast/text/trailing-white-space.html
2271
2272         Made trailing white space on the line always behave like it has the base
2273         bidi level of the block, meaning it will always go on the right (left)
2274         of the line in a left-to-right (right-to-left) block. Made the trailing
2275         white space vanish when it is next to a margin that the text should
2276         be touching, and made its width not count when computing the center
2277         point for center alignment.
2278
2279         * platform/text/BidiResolver.h:
2280         (WebCore::::prependRun): Added.
2281         * rendering/RenderBlock.h:
2282         * rendering/bidi.cpp:
2283         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the
2284         logicallyLastRun parameter to an optional trailingSpaceRun and changed
2285         the alignment logic to implement the above rules.
2286         (WebCore::RenderBlock::layoutInlineChildren): Added code to identify
2287         when there is trailing white space that needs to be split into its own
2288         run and optionally re-ordered.
2289         (WebCore::RenderBlock::findNextLineBreak): Removed code that split some
2290         trailing space into a separate run in one special case.
2291
2292 2008-04-10  Mark Rowe  <mrowe@apple.com>
2293
2294         Rubber-stamped by Brady Eidson.
2295
2296         Fix builds that do not have DOM storage enabled.
2297
2298         * page/DOMWindow.cpp:
2299         * page/Page.cpp:
2300         * page/PageGroup.cpp:
2301         * page/PageGroup.h:
2302
2303 2008-04-18  Timothy Hatcher  <timothy@apple.com>
2304
2305         Fixes the regression where style rules in the Inspector always show "inline stylesheet"
2306         for the source of the rule and not the URL or other sources.
2307
2308         https://bugs.webkit.org/show_bug.cgi?id=18592
2309
2310         Reviewed by Dan Bernstein.
2311
2312         * page/inspector/StylesSidebarPane.js:
2313         (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct
2314         that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle.
2315
2316 2008-04-18  Dean Jackson <dino@apple.com>
2317
2318         Fixed marquee suspension on wrong document. Passes current
2319         document into Frame::clearTimers.
2320
2321         Reviewed by hyatt.
2322
2323         * history/CachedPage.cpp:
2324         (WebCore::CachedPage::clear):
2325         * page/Frame.cpp:
2326         (WebCore::Frame::clearTimers):
2327         * page/Frame.h:
2328
2329 2008-04-18  Dean Jackson <dino@apple.com>
2330
2331         Add 'ease' timing function to transitions and
2332         make it the default. See latest specification proposal at:
2333         http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html
2334
2335         Reviewed by hyatt.
2336
2337         NOTE: still working on a way to test animating/transitioning content
2338
2339         * css/CSSParser.cpp:
2340         (WebCore::CSSParser::parseTransitionTimingFunction):
2341         * css/CSSStyleSelector.cpp:
2342         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
2343         * css/CSSValueKeywords.in:
2344
2345 2008-04-18  Adam Roben  <aroben@apple.com>
2346
2347         Change JavaScriptDebugListener to use KJS::UString instead of
2348         WebCore::String
2349
2350         This should reduce the number of string allocations performed while
2351         debugging.
2352
2353         Reviewed by Tim Hatcher.
2354
2355         * page/InspectorController.cpp: Updated JavaScriptDebugListener
2356         functions.
2357         * page/InspectorController.h: Ditto.
2358         * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead
2359         of WebCore::String.
2360         * page/JavaScriptDebugServer.cpp: Ditto.
2361         * platform/win/BString.cpp:
2362         (WebCore::BString::BString): Added a constructor that takes a
2363         KJS::UString.
2364         * platform/win/BString.h:
2365
2366 2008-04-18  Adam Roben  <aroben@apple.com>
2367
2368         Mac build fix
2369
2370         * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h
2371         private.
2372
2373 2008-04-18  Adam Roben  <aroben@apple.com>
2374
2375         Make InspectorController a JavaScriptDebugListener
2376
2377         I added two new functions to the InspectorController JS object:
2378         reloadInspectedPageAndStartDebugging and stopDebugging. These control
2379         when the InspectorController adds/removes itself to/from the
2380         JavaScriptDebugServer.
2381
2382         Reviewed by Tim Hatcher.
2383
2384         * page/InspectorController.cpp:
2385         (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls
2386         through to InspectorController.
2387         (WebCore::stopDebugging): Ditto.
2388         (WebCore::InspectorController::~InspectorController): Make sure we
2389         stop debugging before we are destroyed so the JavaScriptDebugServer
2390         won't be left with a stale pointer.
2391         (WebCore::InspectorController::windowScriptObjectAvailable): Added two
2392         new functions to our JS object.
2393         (WebCore::InspectorController::closeWindow): Stop debugging when the
2394         window closes.
2395         (WebCore::InspectorController::reloadInspectedPageAndStartDebugging):
2396         Added.
2397         (WebCore::InspectorController::stopDebugging): Added.
2398
2399         (WebCore::InspectorController::didParseSource):
2400         (WebCore::InspectorController::failedToParseSource):
2401         (WebCore::InspectorController::didEnterCallFrame):
2402         (WebCore::InspectorController::willExecuteStatement):
2403         (WebCore::InspectorController::willLeaveCallFrame):
2404         Added empty implementations of the JavaScriptDebugListener functions.
2405
2406         * page/InspectorController.h:
2407
2408 2008-04-17  Adam Roben  <aroben@apple.com>
2409
2410         Rename ExecState* instances from state to exec
2411
2412         Requested by Darin Adler and Sam Weinig.
2413
2414         * bindings/js/JSConsoleCustom.cpp:
2415
2416 2008-04-17  Adam Roben  <aroben@apple.com>
2417
2418         Clean up InspectorController's use of JSStringRef
2419
2420         All JSStringRef creation now happens through a helper function,
2421         jsStringRef, which takes either a const char* or a const String& and
2422         returns a JSRetainPtr<JSStringRef>.
2423
2424         Reviewed by Mitz Pettel.
2425
2426         * page/InspectorController.cpp:
2427         Added jsStringRef and converted all callers to
2428         JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use
2429         it.
2430
2431 2008-04-17  Adam Roben  <aroben@apple.com>
2432
2433         Add wrappers around InspectorClient::{show,close}Window
2434
2435         This will let us perform actions when the window is actually
2436         showing/closing (InspectorController::show doesn't always directly
2437         show the window).
2438
2439         Reviewed by Tim Hatcher.
2440
2441         * page/InspectorController.cpp:
2442         (WebCore::InspectorController::scriptObjectReady): Call showWindow()
2443         instead of m_client->showWindow().
2444         (WebCore::InspectorController::show): Ditto.
2445         (WebCore::InspectorController::close): Ditto for closeWindow().
2446         (WebCore::InspectorController::showWindow):
2447         (WebCore::InspectorController::closeWindow):
2448         * page/InspectorController.h:
2449
2450 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2451
2452         Reviewed by Holger.
2453
2454         Adapt to the API changes in WebKit/qt/
2455
2456         * platform/graphics/qt/ImageQt.cpp:
2457         (loadResourcePixmap):
2458
2459 2008-04-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2460
2461         Reviewed by Adam Roben.
2462
2463         https://bugs.webkit.org/show_bug.cgi?id=18477
2464
2465         No resize indication is shown when moving/hovering over the frame
2466         border/splitter.
2467
2468         * page/EventHandler.cpp:
2469         (WebCore::EventHandler::selectCursor):
2470
2471 2008-04-18  Adam Roben  <aroben@apple.com>
2472
2473         Windows build fix
2474
2475         Same as before, but for fabs/fabsf.
2476
2477         * svg/SVGAnimateTransformElement.cpp:
2478         (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to
2479         use fabsf and removed narrowPrecisionToFloat.
2480
2481 2008-04-18  Adam Roben  <aroben@apple.com>
2482
2483         Windows build fix
2484
2485         In MSVC, sqrt() has three overloads: float, double, and long
2486         double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have
2487         sqrtf() to operate explicitly on floats.
2488
2489         * svg/SVGAnimateMotionElement.cpp:
2490         (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use
2491         sqrtf and removed narrowPrecisionToFloat.
2492         * svg/SVGAnimateTransformElement.cpp:
2493         (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto.
2494
2495 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2496
2497         Fix the build without Database support (fixes the Qt/win build).
2498
2499         * page/PageGroup.cpp:
2500         (WebCore::PageGroup::localStorage):
2501
2502 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2503
2504         Fix the Gtk build on the build bot.
2505
2506         * GNUmakefile.am: Back out the previous LocalStorage, etc. additions
2507         as they're already listed in another sources group that wasn't used
2508         due to a local configure error.
2509
2510 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2511
2512         Prospective wx build fix.
2513
2514         * webcore-base.bkl: Add loader/appcache to include paths.
2515
2516 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2517
2518         Build fix. Back out previous #include fix for PageGroup.h as it broke
2519         the Mac build due to forwarding headers.
2520
2521         * page/PageGroup.h:
2522
2523 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2524
2525         Build fix for Qt and gcc 4.3.
2526
2527         * WebCore.pro: Added missing files and include paths, re-ordered
2528         the storage/ include path to avoid conflict of storage/LocalStorage.h
2529         with kjs/LocalStorage.h
2530         * page/PageGroup.h: Include LocalStorage.h instead of forward
2531         declaration to fix compilation with gcc 4.3.
2532
2533 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
2534
2535         Build fix for Gtk and gcc 4.3.
2536
2537         * GNUmakefile.am: Added missing files and include paths.
2538         * storage/LocalStorage.h: Include LocalStorageArea.h instead of
2539         forward declaring it due to the HashMap use where gcc 4.3 needs to
2540         see the class.
2541
2542 2008-04-17  Antti Koivisto  <antti@apple.com>
2543
2544         Reviewed by Oliver.
2545         
2546         https://bugs.webkit.org/show_bug.cgi?id=18573
2547
2548         Implement supplemental transforms and use them for <animateMotion> instead of the transform list.
2549         This will allow <animateTransform> and <animateMotion> combine properly.
2550
2551         * svg/SVGAnimateMotionElement.cpp:
2552         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
2553         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2554         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2555         * svg/SVGElement.h:
2556         (WebCore::SVGElement::supplementalTransform):
2557         * svg/SVGStyledTransformableElement.cpp:
2558         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
2559         * svg/SVGStyledTransformableElement.h:
2560         (WebCore::SVGStyledTransformableElement::supplementalTransform):
2561         * svg/SVGTextElement.cpp:
2562         (WebCore::SVGTextElement::animatedLocalTransform):
2563         * svg/SVGTextElement.h:
2564         (WebCore::SVGTextElement::supplementalTransform):
2565
2566 2008-04-17  Antti Koivisto  <antti@apple.com>
2567
2568         Reviewed by Oliver.
2569
2570         Implement calcMode=paced.
2571         
2572         Tested by SVG testsuite tests
2573         animate-elem-11-t.svg
2574         animate-elem-15-t.svg
2575         animate-elem-82-t.svg
2576
2577         * svg/SVGAnimateElement.cpp:
2578         (WebCore::SVGAnimateElement::calculateDistance):
2579         * svg/SVGAnimateElement.h:
2580         * svg/SVGAnimateMotionElement.cpp:
2581         (WebCore::SVGAnimateMotionElement::calculateDistance):
2582         * svg/SVGAnimateMotionElement.h:
2583         * svg/SVGAnimateTransformElement.cpp:
2584         (WebCore::SVGAnimateTransformElement::calculateDistance):
2585         * svg/SVGAnimateTransformElement.h:
2586         * svg/SVGAnimationElement.cpp:
2587         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
2588         (WebCore::SVGAnimationElement::startedActiveInterval):
2589         * svg/SVGAnimationElement.h:
2590         (WebCore::SVGAnimationElement::calculateDistance):
2591
2592 2008-04-17  David Hyatt  <hyatt@apple.com>
2593
2594         Fix a leak in ImageBuffer's clearImage method.
2595
2596         Reviewed by olliej
2597
2598         * platform/graphics/ImageBuffer.h:
2599         (WebCore::ImageBuffer::clearImage):
2600
2601 2008-04-17  Antti Koivisto  <antti@apple.com>
2602
2603         Reviewed by Eric.
2604         
2605         https://bugs.webkit.org/show_bug.cgi?id=12438
2606
2607         More SVG animation:
2608         
2609         - Make multiple additive animations work
2610         - Support animating <use> instance trees
2611
2612         * svg/SVGAnimateColorElement.cpp:
2613         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
2614         * svg/SVGAnimateColorElement.h:
2615         
2616         Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
2617         
2618         * svg/SVGAnimateElement.cpp:
2619         (WebCore::SVGAnimateElement::determinePropertyType):
2620         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2621         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2622         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2623         (WebCore::SVGAnimateElement::resetToBaseValue):
2624         (WebCore::SVGAnimateElement::applyResultsToTarget):
2625         * svg/SVGAnimateElement.h:
2626         * svg/SVGAnimateMotionElement.cpp:
2627         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
2628         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2629         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2630         * svg/SVGAnimateMotionElement.h:
2631         * svg/SVGAnimateTransformElement.cpp:
2632         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2633         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2634         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
2635         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2636         * svg/SVGAnimateTransformElement.h:
2637         
2638         Switch to new model where
2639         - resetToBaseValue() resets the animated value back to the base value
2640         - calculateAnimatedValue() computes the value and adds it to the element used for accumulation
2641         - applyResultsToTarget() sets the computed value the target element
2642         
2643         * svg/SVGAnimationElement.cpp:
2644         (WebCore::SVGAnimationElement::fromValue):
2645         (WebCore::SVGAnimationElement::attributeIsCSS):
2646         (WebCore::SVGAnimationElement::targetAttributeIsCSS):
2647         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2648         
2649         Update instances too.
2650         
2651         (WebCore::SVGAnimationElement::startedActiveInterval):
2652         (WebCore::SVGAnimationElement::updateAnimation):
2653         (WebCore::SVGAnimationElement::endedActiveInterval):
2654         * svg/SVGAnimationElement.h:
2655         * svg/SVGSVGElement.cpp:
2656         (WebCore::SVGSVGElement::SVGSVGElement):
2657         * svg/SVGSetElement.cpp:
2658         (WebCore::SVGSetElement::SVGSetElement):
2659         * svg/SVGSetElement.h:
2660         
2661         Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
2662         
2663         * svg/animation/SMILTimeContainer.cpp:
2664         (WebCore::SMILTimeContainer::SMILTimeContainer):
2665         (WebCore::SMILTimeContainer::unschedule):
2666         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
2667         (WebCore::PriorityCompare::PriorityCompare):
2668         (WebCore::PriorityCompare::operator()):
2669         (WebCore::SMILTimeContainer::sortByPriority):
2670         (WebCore::applyOrderSortFunction):
2671         (WebCore::sortByApplyOrder):
2672         (WebCore::SMILTimeContainer::baseValueFor):
2673         (WebCore::SMILTimeContainer::updateAnimations):
2674         * svg/animation/SMILTimeContainer.h:
2675         (WebCore::SMILTimeContainer::create):
2676         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
2677         
2678         Do additive animation with the following steps
2679         - sort active animations based on their priority (begin time, document order).
2680         - if not yet saved for each (element, attribute) pair save the base value.
2681         - lowest priority animation for each (element, attribute) acts as the result element.
2682         - animation results are resolved in priority order and results are accumulated to the result element.
2683         - after all active animations have been processed the values in result elements are applied to the target elements.
2684         
2685         * svg/animation/SVGSMILElement.cpp:
2686         (WebCore::SVGSMILElement::SVGSMILElement):
2687         (WebCore::SVGSMILElement::insertedIntoDocument):
2688         
2689         Invalidate document order index.
2690         
2691         (WebCore::SVGSMILElement::attributeName):
2692         (WebCore::SVGSMILElement::isInactive):
2693         (WebCore::SVGSMILElement::isFrozen):
2694         (WebCore::SVGSMILElement::beginListChanged):
2695         (WebCore::SVGSMILElement::determineActiveState):
2696         (WebCore::SVGSMILElement::isContributing):
2697         (WebCore::SVGSMILElement::progress):
2698         
2699         Take care that animations in frozen state still contribute to the total. Since we now build the result starting
2700         from the base value, fill="replace" works magically simply by not contributing anything.
2701         
2702         * svg/animation/SVGSMILElement.h:
2703         (WebCore::SVGSMILElement::previousIntervalBegin):
2704         (WebCore::SVGSMILElement::documentOrderIndex):
2705         (WebCore::SVGSMILElement::setDocumentOrderIndex):
2706
2707 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
2708
2709         Reviewed by Darin, Alice.
2710
2711         Implement AXObjectCache::detachWrapper() on Windows.
2712
2713         * page/win/AXObjectCacheWin.cpp:
2714         (WebCore::AXObjectCache::detachWrapper): If this object has a wrapper,
2715         call its detach() method.
2716
2717 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
2718
2719         Reviewed by mrowe.
2720
2721         Define HAVE_ACCESSIBILITY in a way that WebKit and WebCore can see it.
2722
2723         * config.h: Remove HAVE_ACCESSIBILITY.
2724         * page/AccessibilityObject.h: Include wtf/Platform.h to pick up
2725         HAVE_ACCESSIBILITY.
2726
2727 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
2728
2729         Reviewed by aliu.
2730
2731         * page/AccessibilityObject.cpp:
2732         (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before
2733         casting to RenderView.
2734
2735 2008-04-17  Antti Koivisto  <antti@apple.com>
2736
2737         Reviewed by Oliver.
2738         
2739         Fix https://bugs.webkit.org/show_bug.cgi?id=18551
2740         Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc
2741         
2742         Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea.
2743
2744         Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway.
2745
2746         * svg/animation/SVGSMILElement.cpp:
2747         (WebCore::SVGSMILElement::removedFromDocument):
2748         (WebCore::SVGSMILElement::attributeChanged):
2749         (WebCore::SVGSMILElement::targetElement):
2750         * svg/animation/SVGSMILElement.h:
2751
2752 2008-04-17  Sam Weinig  <sam@webkit.org>
2753
2754         Reviewed by Anders Carlsson.
2755
2756         Autogenerate the XMLHttpRequest javascript binding.
2757
2758         * GNUmakefile.am:
2759         * WebCore.pro:
2760         * WebCore.vcproj/WebCore.vcproj:
2761         * WebCoreSources.bkl:
2762         * DerivedSources.make:
2763         * WebCore.xcodeproj/project.pbxproj:
2764         * bindings/js/JSDOMWindowBase.cpp:
2765         * bindings/js/JSXMLHttpRequest.cpp: Removed.
2766         * bindings/js/JSXMLHttpRequest.h: Removed.
2767         * bindings/js/JSXMLHttpRequestConstructor.cpp: Added.
2768         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2769         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
2770         (WebCore::JSXMLHttpRequestConstructor::construct):
2771         * bindings/js/JSXMLHttpRequestConstructor.h: Added.
2772         (WebCore::JSXMLHttpRequestConstructor::classInfo):
2773         * bindings/js/JSXMLHttpRequestCustom.cpp: Added.
2774         (WebCore::JSXMLHttpRequest::mark):
2775         (WebCore::JSXMLHttpRequest::onreadystatechange):
2776         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
2777         (WebCore::JSXMLHttpRequest::onload):
2778         (WebCore::JSXMLHttpRequest::setOnload):
2779         (WebCore::JSXMLHttpRequest::responseXML):
2780         (WebCore::JSXMLHttpRequest::open):
2781         (WebCore::JSXMLHttpRequest::setRequestHeader):
2782         (WebCore::JSXMLHttpRequest::send):
2783         (WebCore::JSXMLHttpRequest::getResponseHeader):
2784         (WebCore::JSXMLHttpRequest::overrideMimeType):
2785         (WebCore::JSXMLHttpRequest::addEventListener):
2786         (WebCore::JSXMLHttpRequest::removeEventListener):
2787         (WebCore::JSXMLHttpRequest::dispatchEvent):
2788         * xml/XMLHttpRequest.cpp:
2789         (WebCore::XMLHttpRequest::readyState):
2790         (WebCore::XMLHttpRequest::responseText):
2791         * xml/XMLHttpRequest.h:
2792         * xml/XMLHttpRequest.idl: Added.
2793
2794 2008-04-17  Brady Eidson  <beidson@apple.com>
2795
2796         Reviewed by Anders
2797
2798         The SessionStorage for a Page has to be copied every time a new Page is created.
2799
2800         I thought I had the right choke point for creating new Pages at FrameLoader::createWindow(),
2801         but it just so happens there was another - in the ContextMenuController.
2802
2803         The *real* choke point for this, then, is in the Chrome itself.
2804
2805         * loader/FrameLoader.cpp:
2806         (WebCore::FrameLoader::createWindow): Don't do the SessionStorage copy here...
2807
2808         * page/Chrome.cpp:
2809         (WebCore::Chrome::createWindow): Do it here, instead!
2810
2811 2008-04-17  Alice Liu  <alice.liu@apple.com>
2812
2813         Reviewed by Jon Honeycutt.
2814
2815         Added some asserts to catch undesirable usage of setWrapper and addChildren.
2816         * page/AccessibilityObject.cpp:
2817         (WebCore::AccessibilityObject::addChildren):
2818         * page/AccessibilityObject.h:
2819         (WebCore::AccessibilityObject::setWrapper):
2820
2821 2008-04-17  Brady Eidson  <beidson@apple.com>
2822
2823         Reviewed by the Mitzpettel
2824
2825         Before things get much more intertwined, move away from a global LocalStorage model
2826         to a per-PageGroup LocalStorage model.
2827
2828         * page/DOMWindow.cpp:
2829         (WebCore::DOMWindow::localStorage): Get it from the current PageGroup, not the global
2830           LocalStorage (which doesn't exist anymore).
2831
2832         * page/Page.cpp:
2833         * page/PageGroup.cpp:
2834         (WebCore::PageGroup::localStorage): Create a LocalStorage object on demand.
2835         * page/PageGroup.h:
2836
2837         * storage/LocalStorage.cpp:
2838         (WebCore::LocalStorage::LocalStorage): Hold a back pointer to the owning PageGroup.
2839         (WebCore::LocalStorage::storageArea):
2840         * storage/LocalStorage.h:
2841         (WebCore::LocalStorage::create):
2842
2843         * storage/LocalStorageArea.cpp:
2844         (WebCore::LocalStorageArea::LocalStorageArea): Hold a back pointer to the owning LocalStorage.
2845         * storage/LocalStorageArea.h:
2846         (WebCore::LocalStorageArea::create):
2847
2848 2008-04-17  Anders Carlsson  <andersca@apple.com>
2849
2850         Fix indentation.
2851         
2852         * loader/DocumentLoader.cpp:
2853         (WebCore::DocumentLoader::scheduleArchiveLoad):
2854
2855 2008-04-17  Anders Carlsson  <andersca@apple.com>
2856
2857         Reviewed by Brady.
2858
2859         When in the web archive debug mode, don't call didFail immediately. Instead,
2860         add the loader to the substitute resource map, but with a null resource, which
2861         indicates to substituteResourceDeliveryTimerFired that the load should fail.
2862         
2863         * loader/DocumentLoader.cpp:
2864         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
2865         (WebCore::DocumentLoader::scheduleArchiveLoad):
2866         * loader/ResourceLoader.cpp:
2867         (WebCore::ResourceLoader::load):
2868
2869 2008-04-17  Anders Carlsson  <andersca@apple.com>
2870
2871         Reviewed by Sam.
2872
2873         Add JS bindings for the DOMApplicationCache object.
2874         
2875         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2876         (WebCore::JSDOMApplicationCache::add):
2877         (WebCore::JSDOMApplicationCache::remove):
2878         (WebCore::JSDOMApplicationCache::addEventListener):
2879         (WebCore::JSDOMApplicationCache::removeEventListener):
2880         (WebCore::JSDOMApplicationCache::dispatchEvent):
2881         (WebCore::JSDOMApplicationCache::setOnchecking):
2882         (WebCore::JSDOMApplicationCache::onchecking):
2883         (WebCore::JSDOMApplicationCache::setOnerror):
2884         (WebCore::JSDOMApplicationCache::onerror):
2885         (WebCore::JSDOMApplicationCache::setOnnoupdate):
2886         (WebCore::JSDOMApplicationCache::onnoupdate):
2887         (WebCore::JSDOMApplicationCache::setOndownloading):
2888         (WebCore::JSDOMApplicationCache::ondownloading):
2889         (WebCore::JSDOMApplicationCache::setOnprogress):
2890         (WebCore::JSDOMApplicationCache::onprogress):
2891         (WebCore::JSDOMApplicationCache::setOnupdateready):
2892         (WebCore::JSDOMApplicationCache::onupdateready):
2893         (WebCore::JSDOMApplicationCache::setOncached):
2894         (WebCore::JSDOMApplicationCache::oncached):
2895         (WebCore::JSDOMApplicationCache::mark):
2896         * bindings/js/JSDOMWindowCustom.cpp:
2897         (WebCore::JSDOMWindow::mark):
2898         * bindings/js/JSEventTargetBase.cpp:
2899         (WebCore::toJS):
2900         * loader/appcache/DOMApplicationCache.idl:
2901         * page/DOMWindow.idl:
2902
2903 2008-04-17 Eric Carlson  <eric.carlson@apple.com> 
2904
2905         Reviewed by Adele. 
2906
2907         Fix for <rdar://problem/5861642> QTMovieWin returns uninitialized values
2908
2909         * platform/graphics/win/QTMovieWin.cpp:
2910         (QTMovieWin::rate):
2911         (QTMovieWin::setRate):
2912         (QTMovieWin::setVolume):
2913         (QTMovieWin::getNaturalSize):
2914
2915 2008-04-17  Marco Barisione  <marco.barisione@collabora.co.uk>
2916
2917         Reviewed by Alp Toker.
2918
2919         http://bugs.webkit.org/show_bug.cgi?id=18335
2920         Pango font backend unable to display japanese properly
2921
2922         Different fonts can have different glyph indices, so we need to pass
2923         the right font when retrieving a glyph index.
2924
2925         * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
2926         (WebCore::pango_font_get_glyph): Temporarily override the font in the
2927         PangoAnalysis passed to pango_shape.
2928
2929 2008-04-17  Anders Carlsson  <andersca@apple.com>
2930
2931         According to Sam and David, it's "topLevel", not "toplevel".
2932         
2933         * loader/DocumentLoader.cpp:
2934         (WebCore::DocumentLoader::topLevelApplicationCache):
2935         * loader/DocumentLoader.h:
2936         * loader/appcache/DOMApplicationCache.cpp:
2937         (WebCore::DOMApplicationCache::associatedCache):
2938
2939 2008-04-17  Anders Carlsson  <andersca@apple.com>
2940
2941         Reviewed by Sam.
2942
2943         Add DOMApplicationCache implementation.
2944         
2945         * dom/EventNames.h:
2946         Add new event names.
2947         
2948         * dom/EventTarget.cpp:
2949         (WebCore::EventTarget::toDOMApplicationCache):
2950         * dom/EventTarget.h:
2951         Add EventTarget conversion method.
2952         
2953         * loader/appcache/ApplicationCacheGroup.h:
2954         (WebCore::ApplicationCacheGroup::):
2955         (WebCore::ApplicationCacheGroup::status):
2956         (WebCore::ApplicationCacheGroup::update):
2957         (WebCore::ApplicationCacheGroup::newestCache):
2958         Add more stubs.
2959         
2960         * loader/appcache/DOMApplicationCache.cpp:
2961         * loader/appcache/DOMApplicationCache.h:
2962
2963         * page/DOMWindow.cpp:
2964         (WebCore::DOMWindow::clear):
2965         (WebCore::DOMWindow::applicationCache):
2966         * page/DOMWindow.h:
2967         (WebCore::DOMWindow::optionalApplicationCache):
2968         Add ApplicationCache member.
2969         
2970 2008-04-17  Anders Carlsson  <andersca@apple.com>
2971
2972         Build fix.
2973
2974         * WebCore.vcproj/WebCore.vcproj:
2975
2976 2008-04-17  Dean Jackson  <dino@apple.com>
2977
2978         Reviewed by Hyatt.
2979
2980         Fix for <rdar://problem/5849968> translate method should have Y=0 when only X is present
2981
2982         Test: fast/css/transform-default-parameter.html
2983
2984         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
2985         translate function with only X parameter now leaves the Y parameter as zero.
2986
2987 2008-04-17  Anders Carlsson  <andersca@apple.com>
2988
2989         Reviewed by Sam.
2990         
2991         Add plumbing for associating document loaders with application caches.
2992         
2993         * loader/DocumentLoader.cpp:
2994         (WebCore::DocumentLoader::DocumentLoader):
2995         (WebCore::DocumentLoader::~DocumentLoader):
2996         (WebCore::DocumentLoader::originalURL):
2997         (WebCore::DocumentLoader::requestURL):
2998         (WebCore::DocumentLoader::responseURL):
2999         (WebCore::DocumentLoader::responseMIMEType):
3000         (WebCore::DocumentLoader::setCandidateApplicationCacheGroup):
3001         (WebCore::DocumentLoader::setApplicationCache):
3002         (WebCore::DocumentLoader::toplevelApplicationCache):
3003         * loader/DocumentLoader.h:
3004         (WebCore::DocumentLoader::candidateApplicationCacheGroup):
3005         (WebCore::DocumentLoader::applicationCache):
3006         * loader/appcache/ApplicationCacheGroup.h:
3007         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
3008
3009 2008-04-17  Adam Roben  <aroben@apple.com>
3010
3011         Fix Bug 18544: REGRESSION (r31951): Two fast/xsl tests crash
3012
3013         <https://bugs.webkit.org/show_bug.cgi?id=18544>
3014
3015         r31951 changed XSLTProcessor::parseErrorFunc to expect a Console* as
3016         the context parameter. The caller in XSLTProcessor was changed, but
3017         the one in XSLStyleSheet was missed.
3018
3019         Reviewed by Alexey Proskuryakov.
3020
3021         * xml/XSLStyleSheet.cpp:
3022         (WebCore::XSLStyleSheet::parseString): Pass the Console as the context
3023         to parseErrorFunc.
3024
3025 2008-04-17  Adam Roben  <aroben@apple.com>
3026
3027         Windows build fix after r31981
3028
3029         * dom/Document.idl: Omit getCSSCanvasContext from the COM bindings.
3030
3031 2008-04-17  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3032
3033         Reviewed by Simon.
3034
3035         Implemented getFileModificationTime and pathGetFileName for the Qt port.
3036
3037         * platform/qt/FileSystemQt.cpp:
3038         (WebCore::getFileModificationTime):
3039
3040 2008-04-17  Mark Rowe  <mrowe@apple.com>
3041
3042         Fix the non-Mac builds that I broke with my Mac build fix.
3043
3044         * css/CSSMutableStyleDeclaration.cpp:
3045         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Explicitly use the size_t version of max
3046         to avoid making assumptions about sizeof(size_t).
3047
3048 2008-04-17  Mark Rowe  <mrowe@apple.com>
3049
3050         Rubber-stamped by Dan Bernstein.
3051
3052         Fix the Mac build.
3053
3054         * css/CSSMutableStyleDeclaration.cpp:
3055         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Update to use size_t in place of unsigned.
3056         * dom/NamedNodeMap.h: Ditto.
3057         * page/AccessibilityObject.h: Forward-declare AccessibilityObjectWrapper in the non-Objective-C case too.
3058
3059 2008-04-16  Jon Honeycutt  <jhoneycutt@apple.com>
3060
3061         Reviewed by Darin.
3062
3063         Use size_t instead of unsigned where appropriate.
3064
3065         * css/CSSValueList.h:
3066         * dom/NamedAttrMap.h:
3067         * rendering/RenderStyle.h:
3068
3069 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
3070
3071         Reviewed by Darin.
3072
3073         Add some methods to check AccessibilityObject state.
3074
3075         * page/AccessibilityObject.cpp:
3076         (WebCore::AccessibilityObject::AccessibilityObject): Assert that the
3077         passed renderer is not null.
3078         (WebCore::AccessibilityObject::isPasswordField): Refactored to use early
3079         return.
3080         (WebCore::AccessibilityObject::isPressed): Return true if this is a
3081         button in the pressed state.
3082         (WebCore::AccessibilityObject::isIndeterminate): Return true if this is
3083         a tri-state checkbox in the indeterminate state.
3084         (WebCore::AccessibilityObject::isChecked): True if this is a radio
3085         button or checkbox in the checked state.
3086         (WebCore::AccessibilityObject::isHovered): True if object is currently
3087         under the mouse cursor.
3088         (WebCore::AccessibilityObject::isMultiSelect): True if this is a select
3089         element capable of multi-select.
3090         (WebCore::AccessibilityObject::isReadOnly): False if this object has
3091         editable content.
3092         (WebCore::AccessibilityObject::isOffScreen): True if this object is not
3093         in the visible portion of the view.
3094         * page/AccessibilityObject.h: Grouped methods into is-state and is-kind.
3095
3096 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
3097
3098         Reviewed by Darin.
3099
3100         Add AccessibilityObjectWrapper to Windows.
3101
3102         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityObjectWrapperWin.h
3103         * page/AccessibilityObject.h: Include COMPtr.h,
3104         AccessibilityObjectWrapperWin.h on Windows. Define wrapper() and
3105         setWrapper() if accessibility is present. Add an m_wrapper on Windows.
3106         * page/AccessibilityObject.cpp:
3107         (WebCore::AccessibilityObject::detach): Clear m_wrapper if
3108         accessibility is present.
3109         * page/win/AccessibilityObjectWrapperWin.h: Added; defines a wrapper for
3110         AccessibilityObjects on Windows.
3111         (WebCore::AccessibilityObjectWrapper::attached): Return true if attached
3112         to an object.
3113         (WebCore::AccessibilityObjectWrapper::accessibilityObject): Return the
3114         wrapped object.
3115         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
3116
3117 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
3118
3119         Reviewed by Darin.
3120
3121         Add AXObjectCache to Windows.
3122
3123         * WebCore.vcproj/WebCore.vcproj: Add AXObjectCacheWin.cpp.
3124         * page/AXObjectCache.h: Add handleFocusedUIElementChanged definition to
3125         non-Mac platforms, and added stub for it. Replace PLATFORM(MAC)
3126         conditional with HAVE(ACCESSIBILITY) for stubs.
3127         (WebCore::AXObjectCache::enableAccessibility):
3128         (WebCore::AXObjectCache::accessibilityEnabled):
3129         * page/win/AXObjectCacheWin.cpp: Added; contains stubs for the methods
3130         below.
3131         (WebCore::AXObjectCache::detachWrapper):
3132         (WebCore::AXObjectCache::attachWrapper):
3133         (WebCore::AXObjectCache::postNotification):
3134         (WebCore::AXObjectCache::postNotificationToElement):
3135         * config.h: Define HAVE_ACCESSIBILITY on Mac and Windows.
3136
3137 2008-04-15  Jon Honeycutt  <jhoneycutt@apple.com>
3138
3139         Reviewed by Darin.
3140
3141         * WebCore.vcproj/WebCore.vcproj: Fix path to AXObjectCache.h.
3142
3143 2008-04-16  Brady Eidson  <beidson@apple.com>
3144
3145         Reviewed by Darin Adler
3146
3147         Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods.
3148         Add "LocalStorageArea" and "SessionStorageArea" implementations, and have SessionStorage
3149         and LocalStorage instantiate the appropriate type of StorageArea object.
3150
3151         This purpose of this change is because while adding the persistent store to LocalStorage,
3152         it became obvious that the client approach wasn't scaling well.  Additionally, a StorageArea
3153         backing a local storage area required vastly different data members compared to one backing
3154         a session storage area.
3155
3156         This will be much cleaner going forward.
3157
3158         * GNUmakefile.am:
3159         * WebCore.pro:
3160         * WebCore.vcproj/WebCore.vcproj:
3161         * WebCore.xcodeproj/project.pbxproj:
3162         * WebCoreSources.bkl:
3163
3164         * storage/LocalStorage.cpp:
3165         (WebCore::LocalStorage::storageArea):
3166         * storage/LocalStorage.h:
3167
3168         * storage/LocalStorageArea.cpp: Added.
3169         (WebCore::LocalStorageArea::LocalStorageArea):
3170         (WebCore::LocalStorageArea::itemChanged):
3171         (WebCore::LocalStorageArea::itemRemoved):
3172         (WebCore::LocalStorageArea::dispatchStorageEvent):
3173         * storage/LocalStorageArea.h: Added.
3174         (WebCore::LocalStorageArea::create):
3175
3176         * storage/SessionStorage.cpp:
3177         (WebCore::SessionStorage::copy):
3178         (WebCore::SessionStorage::storageArea):
3179         * storage/SessionStorage.h:
3180
3181         * storage/SessionStorageArea.cpp: Added.
3182         (WebCore::SessionStorageArea::copy):
3183         (WebCore::SessionStorageArea::SessionStorageArea):
3184         (WebCore::SessionStorageArea::itemChanged):
3185         (WebCore::SessionStorageArea::itemRemoved):
3186         (WebCore::SessionStorageArea::dispatchStorageEvent):
3187         * storage/SessionStorageArea.h: Added.
3188         (WebCore::SessionStorageArea::create):
3189         (WebCore::SessionStorageArea::page):
3190
3191         * storage/StorageArea.cpp:
3192         (WebCore::StorageArea::StorageArea):
3193         (WebCore::StorageArea::setItem):
3194         (WebCore::StorageArea::removeItem):
3195         (WebCore::StorageArea::storageMap):
3196         * storage/StorageArea.h:
3197
3198         * storage/StorageAreaClient.h: Removed.
3199
3200 2008-04-16  David Hyatt  <hyatt@apple.com>
3201
3202         Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D.
3203
3204         Reviewed by olliej
3205
3206         Added fast/canvas/canvas-bg.html
3207
3208         * GNUmakefile.am:
3209         * WebCore.pro:
3210         * WebCore.vcproj/WebCore.vcproj:
3211         * WebCore.xcodeproj/project.pbxproj:
3212         * WebCoreSources.bkl:
3213         * css/CSSCanvasValue.cpp: Added.
3214         (WebCore::CSSCanvasValue::~CSSCanvasValue):
3215         (WebCore::CSSCanvasValue::cssText):
3216         (WebCore::CSSCanvasValue::canvasChanged):
3217         (WebCore::CSSCanvasValue::canvasResized):
3218         (WebCore::CSSCanvasValue::fixedSize):
3219         (WebCore::CSSCanvasValue::element):
3220         (WebCore::CSSCanvasValue::image):
3221         * css/CSSCanvasValue.h: Added.
3222         (WebCore::CSSCanvasValue::CSSCanvasValue):
3223         (WebCore::CSSCanvasValue::isFixedSize):
3224         (WebCore::CSSCanvasValue::setName):
3225         * css/CSSGradientValue.cpp:
3226         * css/CSSGradientValue.h:
3227         * css/CSSImageGeneratorValue.cpp:
3228         (WebCore::CSSImageGeneratorValue::generatedImage):
3229         * css/CSSImageGeneratorValue.h:
3230         (WebCore::CSSImageGeneratorValue::isFixedSize):
3231         (WebCore::CSSImageGeneratorValue::fixedSize):
3232         * css/CSSParser.cpp:
3233         (WebCore::CSSParser::parseContent):
3234         (WebCore::CSSParser::parseBackgroundImage):
3235         (WebCore::CSSParser::parseBorderImage):
3236         (WebCore::CSSParser::parseCanvas):
3237         * css/CSSParser.h:
3238         * dom/Document.cpp:
3239         (WebCore::Document::getCSSCanvasContext):
3240         (WebCore::Document::getCSSCanvasElement):
3241         * dom/Document.h:
3242         * dom/Document.idl:
3243         * html/HTMLCanvasElement.cpp:
3244         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3245         (WebCore::HTMLCanvasElement::reset):
3246         * html/HTMLCanvasElement.h:
3247         (WebCore::HTMLCanvasElement::setSize):
3248         * rendering/RenderBox.cpp:
3249         (WebCore::RenderBox::calculateBackgroundSize):
3250         (WebCore::RenderBox::imageChanged):
3251         * rendering/RenderBox.h:
3252         * rendering/RenderImage.cpp:
3253         (WebCore::RenderImage::imageChanged):
3254         * rendering/RenderImage.h:
3255         (WebCore::RenderImage::imagePtr):
3256         (WebCore::RenderImage::intrinsicSizeChanged):
3257         * rendering/RenderImageGeneratedContent.h:
3258         (WebCore::RenderImageGeneratedContent::imageSize):
3259         (WebCore::RenderImageGeneratedContent::imagePtr):
3260         * rendering/RenderListMarker.cpp:
3261         (WebCore::RenderListMarker::layout):
3262         (WebCore::RenderListMarker::imageChanged):
3263         (WebCore::RenderListMarker::calcPrefWidths):
3264         (WebCore::RenderListMarker::getRelativeMarkerRect):
3265         * rendering/RenderListMarker.h:
3266         * rendering/RenderObject.cpp:
3267         (WebCore::RenderObject::paintBorderImage):
3268         (WebCore::RenderObject::imageChanged):
3269         * rendering/RenderObject.h:
3270         (WebCore::RenderObject::imageChanged):
3271         * rendering/RenderSVGImage.cpp:
3272         (WebCore::RenderSVGImage::imageChanged):
3273         * rendering/RenderSVGImage.h:
3274         * rendering/RenderStyle.cpp:
3275         (WebCore::StyleCachedImage::imageSize):
3276         (WebCore::StyleGeneratedImage::imageSize):
3277         * rendering/RenderStyle.h:
3278         (WebCore::StyleCachedImage::data):
3279         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
3280         (WebCore::StyleGeneratedImage::data):
3281         (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
3282         (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
3283         (WebCore::StyleGeneratedImage::usesImageContainerSize):
3284         * rendering/RenderTableCol.cpp:
3285         (WebCore::RenderTableCol::imageChanged):
3286         * rendering/RenderTableCol.h:
3287         * rendering/RenderTableRow.cpp:
3288         (WebCore::RenderTableRow::imageChanged):
3289         * rendering/RenderTableRow.h:
3290         * rendering/RenderTableSection.cpp:
3291         (WebCore::RenderTableSection::imageChanged):
3292         * rendering/RenderTableSection.h:
3293
3294 2008-04-16  Anders Carlsson  <andersca@apple.com>
3295
3296         Reviewed by Darin.
3297
3298         Add manifest parser.
3299
3300         * loader/appcache/ManifestParser.cpp:
3301         (WebCore::):
3302         (WebCore::parseManifest):
3303         * loader/appcache/ManifestParser.h:
3304         * platform/text/CharacterNames.h:
3305
3306 2008-04-16  Darin Adler  <darin@apple.com>
3307
3308         Reviewed by Mitz.
3309
3310         - fix <rdar://problem/5858617> REGRESSION (r21452-Safari 3.1):
3311           Safari does not find words containing ß (German letter sharp-s)
3312
3313         Test: fast/text/find-case-folding.html
3314
3315         * platform/text/StringImpl.cpp:
3316         (WebCore::StringImpl::foldCase):
3317         Pass the folded length to foldCase rather than the original string length.
3318         Without this, we get an error code every time.
3319
3320 2008-04-16  Anders Carlsson  <andersca@apple.com>
3321
3322         Fix build.
3323         
3324         * loader/appcache/ApplicationCache.cpp:
3325         (WebCore::ApplicationCache::ApplicationCache):
3326         (WebCore::ApplicationCache::setManifestResource):
3327         (WebCore::ApplicationCache::addResource):
3328
3329 2008-04-16  Anders Carlsson  <andersca@apple.com>
3330
3331         Reviewed by Darin.
3332
3333         Add new protocolHostAndPortAreEqual function.
3334         
3335         * platform/KURL.cpp:
3336         (WebCore::KURL::host):
3337         (WebCore::KURL::setHost):
3338         (WebCore::KURL::setHostAndPort):
3339         (WebCore::protocolHostAndPortAreEqual):
3340         * platform/KURL.h:
3341         (WebCore::KURL::hostStart):
3342
3343 2008-04-16  Anders Carlsson  <andersca@apple.com>
3344
3345         Reviewed by Sam.
3346         
3347         Fix some style nits.
3348         
3349         * loader/appcache/ApplicationCache.cpp:
3350         (WebCore::ApplicationCache::ApplicationCache):
3351         (WebCore::ApplicationCache::setManifestResource):
3352         (WebCore::ApplicationCache::addResource):
3353         (WebCore::ApplicationCache::removeResource):
3354         (WebCore::ApplicationCache::dump):
3355         * loader/appcache/ApplicationCacheGroup.h:
3356
3357 2008-04-16  Anders Carlsson  <andersca@apple.com>
3358
3359         Reviewed by Brady and Sam.
3360
3361         Add ApplicationCache implementation. Stub out ApplicationCacheGroup methods
3362         needed by ApplicationCache.
3363         
3364         * loader/appcache/ApplicationCache.cpp:
3365         (WebCore::ApplicationCache::ApplicationCache):
3366         (WebCore::ApplicationCache::~ApplicationCache):
3367         (WebCore::ApplicationCache::setManifestResource):
3368         (WebCore::ApplicationCache::addResource):
3369         (WebCore::ApplicationCache::removeResource):
3370         (WebCore::ApplicationCache::resourceForURL):
3371         (WebCore::ApplicationCache::resourceForRequest):
3372         (WebCore::ApplicationCache::numDynamicEntries):
3373         (WebCore::ApplicationCache::dynamicEntry):
3374         (WebCore::ApplicationCache::addDynamicEntry):
3375         (WebCore::ApplicationCache::removeDynamicEntry):
3376         (WebCore::ApplicationCache::setOnlineWhitelist):
3377         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
3378         (WebCore::ApplicationCache::dump):
3379         * loader/appcache/ApplicationCache.h:
3380         (WebCore::ApplicationCache::create):
3381         (WebCore::ApplicationCache::manifestResource):
3382         (WebCore::ApplicationCache::group):
3383         (WebCore::ApplicationCache::begin):
3384         (WebCore::ApplicationCache::end):
3385         * loader/appcache/ApplicationCacheGroup.h:
3386         (WebCore::ApplicationCacheGroup::manifestURL):
3387         (WebCore::ApplicationCacheGroup::cacheDestroyed):
3388
3389 2008-04-16  Adam Roben  <aroben@apple.com>
3390
3391         Fix Bug 18505: REGRESSION: Search is disabled and not functional
3392
3393         <https://bugs.webkit.org/show_bug.cgi?id=18505>
3394
3395         Reviewed by Tim Hatcher.
3396
3397         * page/inspector/ResourcesPanel.js:
3398         (WebInspector.ResourcesPanel.sourceFrameForResource): Added.
3399         * page/inspector/inspector.css: Added back rules for the search field
3400         that were removed in r31736.
3401         * page/inspector/inspector.html:
3402           - Removed the disabled attribute from the search field
3403           - Added back the #searchResults and #searchResultsResizer divs which
3404             were removed in r31736
3405         * page/inspector/inspector.js:
3406         (WebInspector.set showingSearchResults): Updated for class rename
3407         panels -> main-panels.
3408         (WebInspector.loaded): Added back the mousedown event listener for the
3409         search results resizer that was removed in r31736.
3410         (WebInspector.searchResultsResizerDrag): Updated for class rename
3411         panels -> main-panels.
3412         (WebInspector.performSearch):
3413           - Changed to use sourceFrameForResource
3414           - Changed to use showResource
3415           - Changed to save/restore the focused element around the setting of
3416             the current panel
3417           - Changed to get the source document from the match range instead of
3418             by crawling back up to the source view
3419           - Changed to bind the onselect handlers to this so that we can
3420             access the Elements/Resources panels
3421
3422 2008-04-16  Brady Eidson  <beidson@apple.com>
3423
3424         Reviewed by Sam Weinig
3425
3426         Changing ThreadSafeShared to start with a ref count of 1, so updating all users to
3427         adoptRef() that initial reference.
3428
3429         * bindings/js/JSCustomSQLStatementCallback.h:
3430         (WebCore::JSCustomSQLStatementCallback::create):
3431         * bindings/js/JSCustomSQLStatementErrorCallback.h:
3432         (WebCore::JSCustomSQLStatementErrorCallback::create):
3433         * bindings/js/JSCustomSQLTransactionCallback.h:
3434         (WebCore::JSCustomSQLTransactionCallback::create):
3435         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
3436         (WebCore::JSCustomSQLTransactionErrorCallback::create):
3437
3438         * bindings/js/JSDatabaseCustom.cpp:
3439         (WebCore::JSDatabase::changeVersion):
3440         (WebCore::JSDatabase::transaction):
3441
3442         * bindings/js/JSSQLTransactionCustom.cpp:
3443         (WebCore::JSSQLTransaction::executeSql):
3444
3445         * dom/Document.cpp:
3446         (WebCore::Document::databaseThread):
3447
3448         * platform/SecurityOrigin.cpp:
3449         (WebCore::SecurityOrigin::create):
3450
3451         * platform/sql/SQLiteAuthorizer.h:
3452         (WebCore::SQLiteAuthorizer::create):
3453         (WebCore::SQLiteAuthorizer::SQLiteAuthorizer):
3454
3455         * storage/ChangeVersionWrapper.cpp:
3456         (WebCore::ChangeVersionWrapper::performPreflight):
3457         (WebCore::ChangeVersionWrapper::performPostflight):
3458         * storage/ChangeVersionWrapper.h:
3459         (WebCore::ChangeVersionWrapper::create):
3460
3461         * storage/Database.cpp:
3462         (WebCore::Database::openAndVerifyVersion):
3463         (WebCore::Database::markAsDeletedAndClose):
3464         (WebCore::Database::changeVersion):
3465         (WebCore::Database::transaction):
3466         (WebCore::Database::scheduleTransaction):
3467         (WebCore::Database::scheduleTransactionStep):
3468         (WebCore::Database::tableNames):
3469
3470         * storage/DatabaseAuthorizer.h:
3471         (WebCore::DatabaseAuthorizer::create):
3472
3473         * storage/DatabaseTask.h:
3474         (WebCore::DatabaseOpenTask::create):
3475         (WebCore::DatabaseCloseTask::create):
3476         (WebCore::DatabaseTransactionTask::create):
3477         (WebCore::DatabaseTableNamesTask::create):
3478
3479         * storage/DatabaseThread.cpp:
3480         (WebCore::DatabaseThread::scheduleTask): Change to take a PassRefPtr instead of raw
3481         (WebCore::DatabaseThread::scheduleImmediateTask): Ditto
3482         * storage/DatabaseThread.h:
3483         (WebCore::DatabaseThread::create):
3484
3485         * storage/SQLError.h:
3486         (WebCore::SQLError::create):
3487         (WebCore::SQLError::SQLError):
3488
3489         * storage/SQLResultSet.h:
3490         (WebCore::SQLResultSet::create):
3491
3492         * storage/SQLStatement.cpp:
3493         (WebCore::SQLStatement::create):
3494         (WebCore::SQLStatement::execute):
3495         (WebCore::SQLStatement::setDatabaseDeletedError):
3496         (WebCore::SQLStatement::setVersionMismatchedError):
3497         (WebCore::SQLStatement::setFailureDueToQuota):
3498         * storage/SQLStatement.h:
3499
3500         * storage/SQLTransaction.cpp:
3501         (WebCore::SQLTransaction::create):
3502         (WebCore::SQLTransaction::executeSQL):
3503         (WebCore::SQLTransaction::openTransactionAndPreflight):
3504         (WebCore::SQLTransaction::deliverTransactionCallback):
3505         (WebCore::SQLTransaction::handleCurrentStatementError):
3506         (WebCore::SQLTransaction::deliverStatementCallback):
3507         (WebCore::SQLTransaction::postflightAndCommit):
3508         * storage/SQLTransaction.h:
3509
3510 2008-04-16  Anders Carlsson  <andersca@apple.com>
3511
3512         Reviewed by Adam and Brady.
3513         
3514         Add implementation of ApplicationCacheResource.
3515         
3516         * loader/appcache/ApplicationCacheResource.cpp:
3517         (WebCore::ApplicationCacheResource::ApplicationCacheResource):
3518         (WebCore::ApplicationCacheResource::dumpType):
3519         * loader/appcache/ApplicationCacheResource.h:
3520         (WebCore::ApplicationCacheResource::):
3521         (WebCore::ApplicationCacheResource::create):
3522         (WebCore::ApplicationCacheResource::type):
3523         (WebCore::ApplicationCacheResource::addType):
3524
3525 2008-04-16  Timothy Hatcher  <timothy@apple.com>
3526
3527         Fixes an issue where the source for a resource that had errors would
3528         not be shown because the view was created before the resource load
3529         finished. The right view is now created, even if the resource isn't 
3530         finished. The SourceView just makes sure to not load the source until
3531         the resource is finished. Only if the category changes, does the view
3532         need to be recreated.
3533
3534         Reviewed by Adam Roben.
3535
3536         * page/inspector/Resource.js:
3537         (WebInspector.Resource.prototype.set category): Call recreateViewForResourceIfNeeded.
3538         * page/inspector/ResourcesPanel.js:
3539         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3540         Added. Tries to make a new view, if the view is the same prototype of the
3541         previous view, return early. If they differ, close and detach the old view
3542         and associate the resource with the new view. Calling updateErrorsAndWarnings
3543         is needed, because the errors and warnings that might have been added to the
3544         previous view will be lost, so make the tree element match.
3545         (WebInspector.Resource.prototype._createResourceView): Always create a view
3546         that matches the resource category. Ignore the loading and failed status.
3547         * page/inspector/SourceView.js:
3548         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't setup the
3549         frame if the resource hasn't finished or if the load failed.
3550
3551 2008-04-16  Timothy Hatcher  <timothy@apple.com>
3552
3553         Adds a console formatter for Error objects. So typing a expression in the
3554         console that ends in an exception will print meaningful info. Also calling
3555         console.{log,error,warn,info} with an error object will output nicely.
3556
3557         Reviewed by Adam Roben.
3558
3559         * page/inspector/Console.js:
3560         (WebInspector.Console.prototype._formaterror): Added. Formats an error
3561         object by showing it like other exceptions, with a clickable file URL.
3562
3563 2008-04-16  Timothy Hatcher  <timothy@apple.com>
3564
3565         Refactors code that updates the errors and warnings count in the
3566         resources sidebar so other functions can easily trigger updates.
3567
3568         Reviewed by Adam Roben.
3569
3570         * page/inspector/ResourcesPanel.js:
3571         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call updateErrorsAndWarnings.
3572         Removes code that updates the bubbleText and class names.
3573         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
3574         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings):
3575         Added. Updates the bubbleText and adds or removes the class names
3576         depending on if the values are zero.
3577
3578 2008-04-16  Antti Koivisto  <antti@apple.com>
3579
3580         Reviewed by Alexey.
3581         
3582         Fix <rdar://problem/5863728>
3583         REGRESSION: Garbage character shown in temperatures in the Weather widget (encoding issue with degree symbol)
3584         
3585         Parse the encoding attribute in PreloadScanner.
3586
3587         Test: fast/encoding/script-preload-encoding.html
3588
3589         * html/PreloadScanner.cpp:
3590         (WebCore::PreloadScanner::processAttribute):
3591         (WebCore::PreloadScanner::emitTag):
3592         (WebCore::PreloadScanner::emitCSSRule):
3593         * html/PreloadScanner.h:
3594         * loader/DocLoader.cpp:
3595         (WebCore::DocLoader::preload):
3596         * loader/DocLoader.h:
3597
3598 2008-04-16  Anders Carlsson  <andersca@apple.com>
3599
3600         Reviewed by Adam.
3601
3602         Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and 
3603         fix typos in the #if line.
3604         
3605         * DerivedSources.make:
3606         * WebCore.vcproj/WebCore.vcproj:
3607         * WebCore.xcodeproj/project.pbxproj:
3608         * bindings/js/JSDOMApplicationCacheCustom.cpp: Added.
3609         * loader/appcache/ApplicationCache.cpp:
3610         * loader/appcache/ApplicationCache.h:
3611         * loader/appcache/ApplicationCacheGroup.cpp:
3612         * loader/appcache/ApplicationCacheGroup.h:
3613         * loader/appcache/ApplicationCacheResource.cpp:
3614         * loader/appcache/ApplicationCacheResource.h:
3615         * loader/appcache/DOMApplicationCache.cpp:
3616         * loader/appcache/DOMApplicationCache.h:
3617         * loader/appcache/DOMApplicationCache.idl:
3618         * loader/appcache/ManifestParser.cpp:
3619         * loader/appcache/ManifestParser.h:
3620
3621 2008-04-16  Sam Weinig  <sam@webkit.org>
3622
36