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