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