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