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