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