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