d7a802a6727197d1aeff9c95fa41a38ea6813d2a
[WebKit-https.git] / WebCore / ChangeLog
1 2007-12-13  Adam Roben  <aroben@apple.com>
2
3         Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
4
5         Windows Media Player has a modal message loop that will deliver
6         messages to us at inappropriate times and we will crash if we handle
7         them when they are delivered. In PluginViewWin, we add a quirk for
8         Media Player to set a flag whenever we give the plugin a chance to
9         execute code, and in SharedTimerWin we check if the plugin is
10         executing code and repost messages if so.
11
12         Reviewed by Anders.
13
14         * platform/win/SharedTimerWin.cpp:
15         (WebCore::TimerWindowWndProc): Repost messages if we're calling a
16         plugin.
17         * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
18         setCallingPlugin(true/false).
19         (WebCore::PluginViewWin::updateWindow):
20         (WebCore::PluginViewWin::dispatchNPEvent):
21         (WebCore::PluginViewWin::setNPWindowRect):
22         (WebCore::PluginViewWin::start):
23         (WebCore::PluginViewWin::stop):
24         (WebCore::PluginViewWin::performRequest):
25         (WebCore::PluginViewWin::bindingInstance):
26         (WebCore::PluginViewWin::determineQuirks):
27         (WebCore::PluginViewWin::setCallingPlugin): Added.
28         (WebCore::PluginViewWin::isCallingPlugin): Added.
29         * plugins/win/PluginViewWin.h: Added a new quirk.
30
31 2007-12-13  Alp Toker  <alp@atoker.com>
32
33         Add a missing DEPENDPATH. Fixes non-clean builds following networking
34         header changes.
35
36         * WebCore.pro:
37
38 2007-12-13  Dan Bernstein  <mitz@apple.com>
39
40         Reviewed by Anders Carlsson.
41
42         - fix regression in fast/text/international/bidi-override on Tiger
43
44         * platform/graphics/GlyphPageTreeNode.cpp:
45         (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
46         too. I forgot to add them when I added them to treatAsZeroWidthSpace in
47         an earlier patch.
48
49 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
50
51         Reviewed by Darin Adler.
52
53         <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
54         
55         The code that checks the selected Range to see if it's inside an anchor
56         checks ancestors of the Range's commonAncestor() but not the
57         commonAncestor() itself, and so we'd fail to add markup for the enclosing
58         anchor to the pasteboard.
59         
60         Some enclosing element getters check the node passed to the getter and some
61         don't.  There were a few places where we incorrectly assumed that enclosing 
62         element getters check the node passed to the getter, but this is the only 
63         case that I'm able to write a test case for at the moment.
64         
65         In this patch I've:
66         Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
67         like the newer enclosing element getters.  This is important because we must
68         soon add code to the getters so that they understand that some editing positions
69         inside nodes don't actually refer to positions inside those nodes but positions
70         before and after them.  Like [table, 0].
71         Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
72         n where [n, o] is the position passed to the getter, instead of starting the the parent
73         of n.  This makes all but a few of the enclosing element getters behave consistently.
74         Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable 
75         nodes if the input position was editable.  This fixes a bug that that the above change
76         exposed.
77         Changed enclosingTableCell to simply call enclosingNodeWithType.  We should do
78         this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
79         unless doing so would affect readability, like it would in the case of enclosingTableCell.
80         Ditto for enclosingBlock.
81
82         * editing/AppendNodeCommand.cpp:
83         (WebCore::AppendNodeCommand::doApply):
84         * editing/DeleteButtonController.cpp:
85         (WebCore::enclosingDeletableElement):
86         * editing/DeleteSelectionCommand.cpp:
87         (WebCore::DeleteSelectionCommand::initializePositionData):
88         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
89         * editing/Editor.cpp:
90         (WebCore::Editor::selectionUnorderedListState):
91         (WebCore::Editor::selectionOrderedListState):
92         * editing/IndentOutdentCommand.cpp:
93         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
94         (WebCore::IndentOutdentCommand::outdentParagraph):
95         * editing/InsertNodeBeforeCommand.cpp:
96         (WebCore::InsertNodeBeforeCommand::doApply):
97         * editing/InsertParagraphSeparatorCommand.cpp:
98         (WebCore::InsertParagraphSeparatorCommand::doApply):
99         * editing/ReplaceSelectionCommand.cpp:
100         (WebCore::ReplaceSelectionCommand::shouldMerge):
101         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
102         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
103         * editing/TextIterator.cpp:
104         * editing/htmlediting.cpp:
105         (WebCore::enclosingBlock):
106         (WebCore::enclosingNodeWithTag):
107         (WebCore::enclosingNodeOfType):
108         (WebCore::enclosingTableCell):
109         (WebCore::isTableCell):
110         * editing/htmlediting.h:
111         * editing/markup.cpp:
112         (WebCore::appendStartMarkup):
113         (WebCore::createMarkup):
114
115 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
116
117         Reviewed by Darin.
118
119         Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
120
121         * WebCore.base.exp:
122         * dom/KeyboardEvent.cpp:
123         (WebCore::KeyboardEvent::charCode):
124         * page/EventHandler.cpp:
125         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
126         (WebCore::EventHandler::keyEvent):
127         * page/EventHandler.h:
128         * page/Settings.cpp:
129         (WebCore::Settings::Settings):
130         (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
131         * page/Settings.h:
132         (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
133         * page/mac/EventHandlerMac.mm:
134         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
135         * platform/PlatformKeyboardEvent.h:
136         * platform/mac/KeyEventMac.mm:
137         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
138         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
139
140 2007-12-13  Dan Bernstein  <mitz@apple.com>
141
142         - build fix
143
144         * platform/network/cf/ResourceErrorCF.cpp:
145
146 2007-12-13  Antti Koivisto  <antti@apple.com>
147
148         Reviewed by Tim Hatcher.
149
150         Fix <rdar://problem/5605674> 
151         Make <video> display WebKit context menu instead of the QTKit one.
152     
153         It doesn't really matter where the QTMovieView is.
154
155         * ChangeLog:
156         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
157         (WebCore::MediaPlayerPrivate::createQTMovieView):
158         (WebCore::MediaPlayerPrivate::setRect):
159
160 2007-12-13  Dan Bernstein  <mitz@apple.com>
161
162         Reviewed by Adam Roben.
163
164         - ensure that Unicode bidi control characters are rendered as zero width
165           spaces
166
167         Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
168
169         * platform/graphics/Font.h:
170         (WebCore::Font::treatAsZeroWidthSpace):
171         * platform/graphics/GlyphPageTreeNode.cpp:
172         (WebCore::GlyphPageTreeNode::initializePage):
173         * platform/text/CharacterNames.h:
174
175 2007-12-13  Brady Eidson  <beidson@apple.com>
176
177         Build fix
178
179         * platform/wx/TemporaryLinkStubs.cpp:
180
181 2007-12-12  Brady Eidson  <beidson@apple.com>
182
183         Build fix
184
185         * platform/gtk/TemporaryLinkStubs.cpp:
186
187 2007-12-12  Brady Eidson  <beidson@apple.com>
188
189         Build fix
190
191         * WebCore.pro:
192         * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
193
194 2007-12-12  Brady Eidson  <beidson@apple.com>
195
196         Build fix
197
198         * platform/win/TemporaryLinkStubs.cpp:
199
200 2007-12-12  Brady Eidson  <beidson@apple.com>
201
202         Reviewed by Sam Weinig
203
204         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
205
206         All back/forward list and page cache related items used to be in WebKit.
207         When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
208         Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive.  We accomplished this via some #ifdefs
209         in CachedPage and having the Mac-only CachedPageMac.mm
210
211         To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the 
212         concept of "CachedPagePlatformData" which can contain anything the platform API wants.  
213
214         I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
215
216         * WebCore.base.exp:
217         * WebCore.xcodeproj/project.pbxproj:
218
219         * history/CachedPage.cpp:
220         (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
221         (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists.  Also delete the CachedPagePlatformData.
222         (WebCore::CachedPage::setCachedPagePlatformData):
223         (WebCore::CachedPage::cachedPagePlatformData):
224         * history/CachedPage.h:
225
226         * history/CachedPagePlatformData.h: Added.
227         (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
228         (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
229
230         * history/PageCache.cpp:
231         (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
232
233         * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
234
235         * loader/FrameLoader.cpp:
236         (WebCore::FrameLoader::transitionToCommitted): Call the new client methods.  Make some work previously done by WebKitMac cross platform 
237           (setting the cached DocumentLoader to the Frame).
238         (WebCore::FrameLoader::cachePageForHistoryItem):  Renamed the client methods
239
240         * loader/FrameLoaderClient.h:  The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
241           become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
242
243         * svg/graphics/SVGImageEmptyClients.h:
244         (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
245         (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
246         (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
247
248 2007-12-12  Dan Bernstein  <mitz@apple.com>
249
250         Reviewed by Oliver Hunt.
251
252         - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
253
254         * css/CSSStyleSelector.cpp:
255         (WebCore::CSSStyleSelector::applyProperty): When the font property is
256         set to 'initial', set the font size to its initial value, 'medium',
257         and the font family to the standard family.
258
259 2007-12-12  Justin Garcia  <justin.garcia@apple.com>
260
261         Reviewed by Darin Adler.
262
263         <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
264
265         * editing/DeleteSelectionCommand.cpp:
266         (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
267         Don't remove the table row that contained the end of the selection if it is where we are
268         about to place the ending selection.
269         Don't remove all empty rows after the row that contained the start of the selection,
270         they might come after the row that contained the end of the selection.
271
272 2007-12-12  Sam Weinig  <sam@webkit.org>
273
274         Reviewed by Anders Carlsson.
275
276         Add button to clear the Web Inspector's console.
277
278         * English.lproj/InspectorLocalizedStrings.js:
279         * page/inspector/ConsolePanel.js:
280         * page/inspector/inspector.css:
281
282 2007-12-12  Anders Carlsson  <andersca@apple.com>
283
284         Reviewed by Adam and Jon.
285
286         <rdar://problem/5349282>
287         popup blocking is not applied to plugins on Windows.
288         
289         Implement popup blocking. If the plug-in supports the new 
290         NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
291         to determine if a plug-in request can open new windows.
292         
293         If a plug-in does not support the new API, we assume that a plug-in can open new windows
294         in response to either mouse click or key press events.
295         
296         * plugins/win/PluginViewWin.cpp:
297         (WebCore::PluginRequestWin::PluginRequestWin):
298         (WebCore::PluginRequestWin::shouldAllowPopups):
299         Add new shouldAllowPopups member.
300         
301         (WebCore::PluginViewWin::popPopupsStateTimerFired):
302         Reset the popup state.
303         
304         (WebCore::isWindowsMessageUserGesture):
305         New function that given a windows message id returns whether it's a user gesture or not.
306         
307         (WebCore::PluginViewWin::wndProc):
308         Allow popups if the window message is a user gesture.
309         
310         (WebCore::PluginViewWin::dispatchNPEvent):
311         New method that dispatches an NPEvent, turning on popups if necessary.
312         
313         (WebCore::PluginViewWin::paint):
314         (WebCore::PluginViewWin::handleKeyboardEvent):
315         (WebCore::PluginViewWin::handleMouseEvent):
316         Call dispatchNPEvent().
317         
318         (WebCore::PluginViewWin::performRequest):
319         (WebCore::PluginViewWin::load):
320         Add calls to shouldAllowPopups().
321         
322         (WebCore::PluginViewWin::pushPopupsEnabledState):
323         (WebCore::PluginViewWin::popPopupsEnabledState):
324         New methods that maintain the popup state stack.
325         
326         (WebCore::PluginViewWin::arePopupsAllowed):
327         New method that returns whether popups are allowed.
328         
329         (WebCore::PluginViewWin::PluginViewWin):
330         * plugins/win/PluginViewWin.h:
331         Add new instance variables.
332         
333         * plugins/win/npapi.cpp:
334         (NPN_PushPopupsEnabledState):
335         (NPN_PopPopupsEnabledState):
336         Implement these.
337
338 2007-12-12  Dan Bernstein  <mitz@apple.com>
339
340         Reviewed by John Sullivan.
341
342         - fix a bug in debug builds only where selecting an earlier item in
343           a popup selects the first item
344
345         Test: fast/forms/menulist-selection-reset.html
346
347         * html/HTMLSelectElement.cpp:
348         (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
349         tells that function whether it should update the selected state of
350         option elements.
351         (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
352         as the above argument.
353         * html/HTMLSelectElement.h:
354
355 2007-12-12  Adele Peterson  <adele@apple.com>
356
357         Reviewed by Geoff.
358
359         Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
360
361         When the specification for cue ranges is more final, we will implement those.
362
363         * html/HTMLMediaElement.cpp:
364         (WebCore::HTMLMediaElement::~HTMLMediaElement):
365         (WebCore::HTMLMediaElement::load):
366         * html/HTMLMediaElement.h:
367         * html/HTMLMediaElement.idl:
368         * platform/graphics/MediaPlayer.cpp:
369         * platform/graphics/MediaPlayer.h:
370         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
371         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
372         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
373         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
374         (WebCore::MediaPlayerPrivate::load):
375         (WebCore::MediaPlayerPrivate::play):
376         (WebCore::MediaPlayerPrivate::pause):
377         (WebCore::MediaPlayerPrivate::setEndTime):
378         (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
379         (WebCore::MediaPlayerPrivate::endPointTimerFired):
380         (WebCore::MediaPlayerPrivate::timeChanged):
381         (WebCore::MediaPlayerPrivate::didEnd):
382         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
383         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
384         (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
385         (WebCore::MediaPlayerPrivate::endPointTimerFired):
386         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
387
388 2007-12-12  MorganL  <morganl.webkit@yahoo.com>
389
390         Reviewed by Maciej.
391
392         Fixes:
393         http://bugs.webkit.org/show_bug.cgi?id=16408
394
395         When navigating back/forward to a http:// link, we should prefer to
396         load from cache if possible.
397
398         * loader/FrameLoader.cpp:
399
400 2007-12-12  Anders Carlsson  <andersca@apple.com>
401
402         Reviewed by Sam.
403
404         <rdar://problem/5132003>
405         dumpResourceLoadCallbacks is not implemented in DRT on Windows.
406         
407         * platform/network/cf/ResourceErrorCF.cpp:
408         (WebCore::ResourceError::unpackPlatformError):
409         Handle kCFErrorDomainWinSock.
410         
411         * platform/network/cf/ResourceHandleCFNet.cpp:
412         (WebCore::willSendRequest):
413         Ignore willSendRequest calls where the redirect response is null, like we do in 
414         the Mac version.
415
416 2007-12-12  Steve Falkenburg  <sfalken@apple.com>
417
418         <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
419         
420         Reviewed by Anders.
421
422         * platform/win/SharedTimerWin.cpp:
423         (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
424
425 2007-12-12  Beth Dakin  <bdakin@apple.com>
426
427         Reviewed by Oliver.
428
429         Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs 
430         with width and height 100% clip to 300 x 150
431
432         Though it was correct in an earlier iteration of my patch, it is 
433         not sufficient in the final, committed version to ask if the 
434         relativeWidthValue() or relativeHeightValue() is greater than 0 
435         just to determine if one has been set, for, they are now 
436         initialized to 300 and 150 respectively! This patch instead adds a 
437         bool to keep track of whether a container size has been set, and 
438         only used the relative value if it has.
439
440         * rendering/RenderSVGRoot.cpp:
441         (WebCore::RenderSVGRoot::calcViewport):
442         * svg/SVGSVGElement.cpp:
443         (WebCore::SVGSVGElement::SVGSVGElement):
444         * svg/SVGSVGElement.h:
445         (WebCore::SVGSVGElement::setContainerSize):
446         (WebCore::SVGSVGElement::hasSetContainerSize):
447
448 2007-12-12  Brady Eidson  <beidson@apple.com>
449
450         Reviewed by Steve Falkenburg 
451
452         <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
453
454         * platform/network/ProtectionSpace.cpp:
455         (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
456
457 2007-12-12  Alp Toker  <alp@atoker.com>
458
459         Reviewed by Maciej.
460
461         http://bugs.webkit.org/show_bug.cgi?id=16388
462         [GTK] Widget::setCursor() gets called frequently
463
464         Cache the current cursor to avoid calling gdk_window_set_cursor() when
465         there's no change in cursor.
466
467         * platform/gtk/WidgetGtk.cpp:
468         (WebCore::Widget::Widget):
469         (WebCore::Widget::cursor):
470         (WebCore::Widget::setCursor):
471
472 2007-12-12  Rodney Dawes  <dobey@wayofthemonkey.com>
473
474         Reviewed by Maciej.
475
476         http://bugs.webkit.org/show_bug.cgi?id=16342
477         Build Warning and Error fixes in WebCore GTK+
478
479         Use C-style casts for casting function pointers to gpointer
480         Use static_cast<int> to cast a float to int to fix a warning
481
482         * platform/gtk/PlatformScrollBarGtk.cpp:
483         (PlatformScrollbar::PlatformScrollbar):
484         (PlatformScrollbar::~PlatformScrollbar):
485         (PlatformScrollbar::gtkValueChanged):
486         * platform/gtk/ThreadingGtk.cpp:
487         (callFunctionOnMainThread):
488         (callOnMainThread):
489
490 2007-12-12  Dan Bernstein  <mitz@apple.com>
491
492         Reviewed by Darin Adler.
493
494         - better fix for a crash when pressing a key that is not associated
495           with a command
496
497         * editing/EditorCommand.cpp:
498         (WebCore::Editor::command): Return the empty command if the command name
499         is empty.
500
501 2007-12-12  Alexey Proskuryakov  <ap@webkit.org>
502
503         Reviewed by Darin.
504
505         http://bugs.webkit.org/show_bug.cgi?id=16410
506         Implement isKeypadEvent() on Windows
507
508         Test: platform/win/fast/events/keyLocation-numpad.html
509
510         * platform/win/KeyEventWin.cpp:
511         (WebCore::isKeypadEvent): Added.
512         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
513
514 2007-12-12  Oliver Hunt  <oliver@apple.com>
515
516         Reviewed by Maciej.
517
518         <rdar://problem/5071781> window.mouseout events are not sent 
519         to window when mouse moves out of window 
520
521         Make PlatformMouseEvent recognise WM_MOUSELEAVE.
522
523         * platform/win/PlatformMouseEventWin.cpp:
524         (WebCore::messageToEventType):
525         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
526
527 2007-12-12  Sam Weinig  <sam@webkit.org>
528
529         Fix Mac release build.
530
531         * WebCore.base.exp:
532
533 2007-12-12  Sam Weinig  <sam@webkit.org>
534
535         Build fix for Qt, Gtk, and Wx.
536
537         * css/CSSParser.cpp:
538         (WebCore::CSSParser::parseValue):
539         * loader/win/FrameLoaderWin.cpp:
540         (WebCore::FrameLoader::urlSelected):
541         * platform/network/curl/ResourceHandleManager.cpp:
542         (WebCore::parseDataUrl):
543         (WebCore::ResourceHandleManager::startJob):
544         * platform/network/win/CookieJarWin.cpp:
545         (WebCore::setCookies):
546         (WebCore::cookies):
547         * platform/network/win/ResourceHandleWin.cpp:
548         (WebCore::ResourceHandle::start):
549         * platform/qt/PasteboardQt.cpp:
550         (WebCore::Pasteboard::writeURL):
551
552 2007-12-11  Dan Bernstein  <mitz@apple.com>
553
554         Reviewed by Maciej Stachowiak.
555
556         - allow non-integer font sizes on Windows for small caps
557
558         * platform/graphics/win/FontDataWin.cpp:
559         (WebCore::FontData::smallCapsFontData):
560         * platform/graphics/win/FontPlatformData.h:
561         (WebCore::FontPlatformData::size):
562         (WebCore::FontPlatformData::setSize):
563         * platform/graphics/win/FontPlatformDataWin.cpp:
564         (WebCore::FontPlatformData::FontPlatformData):
565
566 2007-12-11  Sam Weinig  <sam@webkit.org>
567
568         Build fix for Qt, Gtk, and Wx.
569
570         * platform/gtk/CookieJarGtk.cpp:
571         (WebCore::setCookies):
572         (WebCore::cookies):
573         * platform/qt/ClipboardQt.cpp:
574         (WebCore::ClipboardQt::writeURL):
575         * platform/qt/CookieJarQt.cpp:
576         (WebCore::setCookies):
577         (WebCore::cookies):
578         * platform/wx/PasteboardWx.cpp:
579         (WebCore::Pasteboard::writeURL):
580
581 2007-12-11  Sam Weinig  <sam@webkit.org>
582
583         Reviewed by Darin Adler.
584
585         Scrub URL out of the tree in preparation for renaming KURL to URL.
586             - Renames Document::URL() -> Document::url()
587             - Renames DocumentLoader::URL() -> DocumentLoader::url()
588             - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
589             - Remove FrameLoader::URL()
590             - Various variable renames.
591
592         The change from Document::URL() to Document::url() required changes
593         to the bindings scripts as well, because URL() is the name of a DOM
594         method.  The code generation scripts now have code to special case URL()
595         to url().
596
597         * WebCore.base.exp:
598         * bindings/js/kjs_events.cpp:
599         (WebCore::JSLazyEventListener::parseCode):
600         * bindings/js/kjs_navigator.cpp:
601         (KJS::Navigator::getValueProperty):
602         * bindings/js/kjs_proxy.cpp:
603         (WebCore::KJSProxy::initScript):
604         * bindings/js/kjs_window.cpp:
605         (KJS::Window::put):
606         (KJS::Window::allowsAccessFrom):
607         (KJS::Location::put):
608         (KJS::LocationProtoFuncReplace::callAsFunction):
609         (KJS::LocationProtoFuncReload::callAsFunction):
610         (KJS::LocationProtoFuncAssign::callAsFunction):
611         * bindings/scripts/CodeGenerator.pm:
612         * bindings/scripts/CodeGeneratorCOM.pm:
613         * bindings/scripts/CodeGeneratorJS.pm:
614         * bindings/scripts/CodeGeneratorObjC.pm:
615         * css/CSSImportRule.cpp:
616         (WebCore::CSSImportRule::insertedIntoParent):
617         * css/CSSParser.cpp:
618         (WebCore::CSSParser::parseValue):
619         (WebCore::CSSParser::parseContent):
620         (WebCore::CSSParser::parseBackgroundImage):
621         (WebCore::CSSParser::parseFontFaceSrc):
622         (WebCore::CSSParser::parseBorderImage):
623         (WebCore::CSSParser::createImportRule):
624         * css/CSSStyleSelector.cpp:
625         (WebCore::CSSStyleSelector::setEncodedURL):
626         * dom/Document.cpp:
627         (WebCore::Document::processHttpEquiv):
628         (WebCore::Document::cookie):
629         (WebCore::Document::setCookie):
630         (WebCore::Document::domain):
631         (WebCore::Document::setDomain):
632         (WebCore::Document::getImageMap):
633         (WebCore::Document::completeURL):
634         * dom/Document.h:
635         (WebCore::Document::url):
636         (WebCore::Document::baseURL):
637         * dom/Element.cpp:
638         (WebCore::Element::baseURI):
639         * dom/ProcessingInstruction.h:
640         * dom/StyledElement.cpp:
641         (WebCore::StyledElement::addCSSImageProperty):
642         * dom/StyledElement.h:
643         * dom/XMLTokenizer.cpp:
644         (WebCore::XMLTokenizer::endElementNs):
645         (WebCore::XMLTokenizer::end):
646         (WebCore::):
647         * dom/XMLTokenizer.h:
648         * editing/Editor.cpp:
649         (WebCore::Editor::copy):
650         * editing/markup.cpp:
651         (WebCore::completeURLs):
652         * history/CachedPage.h:
653         (WebCore::CachedPage::url):
654         * history/HistoryItem.cpp:
655         (WebCore::HistoryItem::HistoryItem):
656         (WebCore::HistoryItem::setURL):
657         (WebCore::HistoryItem::isCurrentDocument):
658         * html/HTMLBaseElement.cpp:
659         (WebCore::HTMLBaseElement::process):
660         * html/HTMLParser.cpp:
661         (WebCore::HTMLParser::reportErrorToConsole):
662         * html/HTMLScriptElement.cpp:
663         (WebCore::HTMLScriptElement::childrenChanged):
664         (WebCore::HTMLScriptElement::insertedIntoDocument):
665         (WebCore::HTMLScriptElement::evaluateScript):
666         * html/HTMLScriptElement.h:
667         * html/HTMLTokenizer.cpp:
668         (WebCore::HTMLTokenizer::scriptExecution):
669         * loader/Cache.cpp:
670         (WebCore::createResource):
671         (WebCore::Cache::requestResource):
672         * loader/CachedCSSStyleSheet.cpp:
673         (WebCore::CachedCSSStyleSheet::checkNotify):
674         * loader/CachedResource.cpp:
675         (WebCore::CachedResource::CachedResource):
676         * loader/CachedResource.h:
677         (WebCore::CachedResource::):
678         * loader/CachedScript.h:
679         * loader/DocLoader.cpp:
680         (WebCore::DocLoader::checkForReload):
681         (WebCore::DocLoader::requestResource):
682         * loader/DocumentLoader.cpp:
683         (WebCore::DocumentLoader::url):
684         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
685         (WebCore::DocumentLoader::setRequest):
686         (WebCore::DocumentLoader::startLoadingMainResource):
687         * loader/DocumentLoader.h:
688         * loader/FrameLoader.cpp:
689         (WebCore::FormSubmission::FormSubmission):
690         (WebCore::ScheduledRedirection::ScheduledRedirection):
691         (WebCore::FrameLoader::changeLocation):
692         (WebCore::FrameLoader::urlSelected):
693         (WebCore::FrameLoader::requestFrame):
694         (WebCore::FrameLoader::loadSubframe):
695         (WebCore::FrameLoader::submitFormAgain):
696         (WebCore::FrameLoader::submitForm):
697         (WebCore::FrameLoader::didExplicitOpen):
698         (WebCore::FrameLoader::replaceContentsWithScriptResult):
699         (WebCore::FrameLoader::executeScript):
700         (WebCore::FrameLoader::receivedFirstData):
701         (WebCore::FrameLoader::begin):
702         (WebCore::FrameLoader::startIconLoader):
703         (WebCore::FrameLoader::commitIconURLToIconDatabase):
704         (WebCore::FrameLoader::scheduleRefresh):
705         (WebCore::FrameLoader::redirectionTimerFired):
706         (WebCore::FrameLoader::loadPlugin):
707         (WebCore::FrameLoader::didNotOpenURL):
708         (WebCore::FrameLoader::updatePolicyBaseURL):
709         (WebCore::FrameLoader::scrollToAnchor):
710         (WebCore::FrameLoader::startRedirectionTimer):
711         (WebCore::FrameLoader::load):
712         (WebCore::FrameLoader::canLoad):
713         (WebCore::FrameLoader::shouldHideReferrer):
714         (WebCore::FrameLoader::shouldAllowNavigation):
715         (WebCore::FrameLoader::commitProvisionalLoad):
716         (WebCore::FrameLoader::clientRedirected):
717         (WebCore::FrameLoader::open):
718         (WebCore::FrameLoader::didTellBridgeAboutLoad):
719         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
720         (WebCore::FrameLoader::post):
721         (WebCore::FrameLoader::loadResourceSynchronously):
722         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
723         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
724         (WebCore::FrameLoader::createHistoryItem):
725         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
726         (WebCore::FrameLoader::loadItem):
727         (WebCore::FrameLoader::urlsMatchItem):
728         (WebCore::FrameLoader::recursiveGoToItem):
729         (WebCore::FrameLoader::updateHistoryForStandardLoad):
730         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
731         * loader/FrameLoader.h:
732         (WebCore::FrameLoader::url):
733         * loader/ImageDocument.cpp:
734         (WebCore::ImageDocument::createDocumentStructure):
735         * loader/MainResourceLoader.cpp:
736         (WebCore::shouldLoadAsEmptyDocument):
737         (WebCore::MainResourceLoader::didFinishLoading):
738         * loader/NavigationAction.cpp:
739         (WebCore::NavigationAction::NavigationAction):
740         * loader/NavigationAction.h:
741         (WebCore::NavigationAction::url):
742         * loader/PluginDocument.cpp:
743         (WebCore::PluginTokenizer::createDocumentStructure):
744         * loader/SubresourceLoader.cpp:
745         (WebCore::SubresourceLoader::load):
746         (WebCore::SubresourceLoader::create):
747         * loader/icon/IconLoader.cpp:
748         (WebCore::IconLoader::startLoading):
749         (WebCore::IconLoader::finishLoading):
750         * loader/loader.cpp:
751         (WebCore::Loader::servePendingRequests):
752         * loader/mac/LoaderNSURLExtras.m:
753         (urlOriginalData):
754         * page/Chrome.cpp:
755         (WebCore::Chrome::setToolTip):
756         * page/ContextMenuController.cpp:
757         (WebCore::ContextMenuController::contextMenuItemSelected):
758         * page/Frame.cpp:
759         (WebCore::Frame::setUserStyleSheetLocation):
760         * page/InspectorController.cpp:
761         (WebCore::InspectorResource::type):
762         (WebCore::addSourceToFrame):
763         (WebCore::InspectorController::addScriptResource):
764         (WebCore::InspectorController::updateScriptResourceRequest):
765         (WebCore::InspectorController::didCommitLoad):
766         * page/mac/WebCoreFrameBridge.mm:
767         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
768         * platform/KURL.h:
769         (WebCore::KURL::string):
770         (WebCore::KURL::deprecatedString):
771         * platform/mac/ClipboardMac.mm:
772         (WebCore::ClipboardMac::getData):
773         * platform/mac/CookieJar.mm:
774         (WebCore::cookies):
775         (WebCore::setCookies):
776         * platform/mac/PasteboardMac.mm:
777         (WebCore::Pasteboard::writeURL):
778         (WebCore::fileWrapperForImage):
779         (WebCore::Pasteboard::writeImage):
780         (WebCore::Pasteboard::plainText):
781         * platform/network/ResourceHandle.cpp:
782         (WebCore::ResourceHandle::portAllowed):
783         * platform/network/ResourceRequestBase.cpp:
784         (WebCore::ResourceRequestBase::isNull):
785         * platform/network/cf/ResourceHandleCFNet.cpp:
786         (WebCore::willSendRequest):
787         (WebCore::didReceiveResponse):
788         (WebCore::didReceiveData):
789         (WebCore::didFinishLoading):
790         (WebCore::didFail):
791         (WebCore::didReceiveChallenge):
792         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
793         (WebCore::ResourceHandle::~ResourceHandle):
794         (WebCore::ResourceHandle::start):
795         * platform/win/ClipboardUtilitiesWin.cpp:
796         (WebCore::createGlobalData):
797         (WebCore::urlToMarkup):
798         * platform/win/ClipboardWin.cpp:
799         (WebCore::writeURL):
800         (WebCore::writeImageToDataObject):
801         (WebCore::ClipboardWin::writeURL):
802         (WebCore::ClipboardWin::writeRange):
803         * platform/win/PasteboardWin.cpp:
804         (WebCore::Pasteboard::writeSelection):
805         (WebCore::Pasteboard::writeURL):
806         * plugins/win/PluginDatabaseWin.cpp:
807         (WebCore::PluginDatabaseWin::findPlugin):
808         * plugins/win/PluginStreamWin.cpp:
809         (WebCore::PluginStreamWin::startStream):
810         (WebCore::PluginStreamWin::destroyStream):
811         * plugins/win/PluginViewWin.cpp:
812         (WebCore::scriptStringIfJavaScriptURL):
813         (WebCore::PluginViewWin::performRequest):
814         * svg/SVGImageLoader.cpp:
815         (WebCore::SVGImageLoader::updateFromElement):
816         * xml/XMLHttpRequest.cpp:
817         (WebCore::XMLHttpRequest::getResponseXML):
818         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
819         * xml/XSLImportRule.cpp:
820         (WebCore::XSLImportRule::loadSheet):
821         * xml/XSLTProcessor.cpp:
822         (WebCore::XSLTProcessor::createDocumentFromSource):
823         (WebCore::xsltStylesheetPointer):
824         (WebCore::xmlDocPtrFromNode):
825
826 2007-12-11  Beth Dakin  <bdakin@apple.com>
827
828         Reviewed by Darin.
829
830         Fix for <rdar://problem/5641255> SVGs with width and height 100% 
831         fail to render when used as background images
832
833         CachedImage now has a setImageContainerSize function. It is only 
834         needed for SVG right now.
835         * loader/CachedImage.cpp:
836         (WebCore::CachedImage::setImageContainerSize):
837         * loader/CachedImage.h:
838
839         Relatively sized SVGs have no intrinsic size. Because this call is 
840         low-level enough that we cannot pass in the container size and get 
841         the real size of the SVG, we need to know if it has relative 
842         dimensions, and if so, we need to get the size from scaledTileSize.
843         * platform/graphics/Image.cpp:
844         (WebCore::Image::drawTiled):
845         * platform/graphics/Image.h:
846         (WebCore::Image::setContainerSize):
847         (WebCore::Image::hasRelativeWidth):
848         (WebCore::Image::hasRelativeHeight):
849
850         Re-factored calculateBackgroundSize a bit so that it returns an 
851         IntSize. Made it a member function so that it can send m_width and 
852         m_height along to setImageContainerSize.
853         * rendering/RenderBox.cpp:
854         (WebCore::RenderBox::calculateBackgroundSize):
855         (WebCore::RenderBox::calculateBackgroundImageGeometry):
856         * rendering/RenderBox.h:
857
858         Need to account for relatively sized SVGs in calcViewport()
859         * rendering/RenderSVGRoot.cpp:
860         (WebCore::RenderSVGRoot::calcViewport):
861         
862         Added new member variables to store the size of the SVG container. 
863         relativeWidthValue() and relativeHeightValue() use the stored SVG 
864         container size to correctly calculate the width and height of a 
865         relatively sized SVG.
866         * svg/SVGSVGElement.cpp:
867         (WebCore::SVGSVGElement::SVGSVGElement):
868         (WebCore::SVGSVGElement::setContainerSize):
869         (WebCore::SVGSVGElement::relativeWidthValue):
870         (WebCore::SVGSVGElement::relativeHeightValue):
871         * svg/SVGSVGElement.h:
872         (WebCore::SVGSVGElement::containerSize):
873         
874         Re-factored size calculations to use the size of the container.
875         * svg/graphics/SVGImage.cpp:
876         (WebCore::SVGImage::setContainerSize):
877         (WebCore::SVGImage::size):
878         (WebCore::SVGImage::hasRelativeWidth):
879         (WebCore::SVGImage::hasRelativeHeight):
880         * svg/graphics/SVGImage.h:
881
882 2007-12-11  Darin Adler  <darin@apple.com>
883
884         * editing/Editor.cpp:
885         (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
886         a missing return statement.
887
888 2007-12-11  Darin Adler  <darin@apple.com>
889
890         Reviewed by Geoff.
891
892         - exposed many new commands to the DOM Document executeCommand function by
893           merging the JSEditor and Editor executeCommand implementations
894         - replaced the execCommand function with a EditorCommand class
895         - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
896         - replaced the WTF::CaseInsensitiveHash<> class template with the
897           WebCore::CaseFoldingHash class
898
899         * WebCore.base.exp: Updated.
900         * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
901         * WebCore.vcproj/WebCore.vcproj: Ditto.
902         * WebCore.xcodeproj/project.pbxproj: Ditto.
903         * WebCoreSources.bkl: Ditto.
904
905         * dom/Document.cpp:
906         (WebCore::Document::Document): Removed code to set up m_jsEditor.
907         (WebCore::Document::~Document): Removed code to delete m_jsEditor.
908         (WebCore::command): Added. Helper function that gets an Editor::Command.
909         (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
910         JSEditor.
911         (WebCore::Document::queryCommandEnabled): Ditto.
912         (WebCore::Document::queryCommandIndeterm):
913         (WebCore::Document::queryCommandState): Ditto.
914         (WebCore::Document::queryCommandSupported): Ditto.
915         (WebCore::Document::queryCommandValue): Ditto.
916
917         * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
918         use CaseFoldingHash.
919
920         * editing/Editor.cpp:
921         (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
922         made into a member function so it is accessible from the new EditorCommand.cpp file.
923         Also changed to get the selection from the passed-in frame instead of from the
924         page, because this should work on the targeted frame unless the event overrides it.
925         (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
926         (WebCore::Editor::handleInputMethodKeypress): Ditto.
927         (WebCore::imageElementFromImageDocument): Renamed and changed to return
928         a HTMLImageElement instead of a Node*.
929         (WebCore::Editor::canCopy): Updated for name change.
930         (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
931         (WebCore::Editor::selectionOrderedListState): Ditto.
932         (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
933         (WebCore::updateState): Moved here from Frame.
934         (WebCore::Editor::selectionHasStyle): Ditto.
935         (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
936         (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
937         selectionForCommand change.
938         (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
939         (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
940         machinery since it's no longer in this file as a local function.
941         (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
942         (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
943         local variable.
944         (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
945         without a kill ring, but it's relatively straightforward to implement one.
946         (WebCore::Editor::appendToKillRing): Put default implementation here for
947         platforms other than Mac. We should probably put a simple kill ring
948         implementation here -- doesn't need to be shared with the OS oh platforms
949         other than Mac.
950         (WebCore::Editor::prependToKillRing): Ditto.
951         (WebCore::Editor::yankFromKillRing): Ditto.
952         (WebCore::Editor::startNewKillRingSequence): Ditto.
953         (WebCore::Editor::setKillRingToYankedState): Ditto.
954
955         * editing/Editor.h: Moved the TriState enum here instead of inside the
956         Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
957         here from the Frame class. Added Editor::Command class with five functions
958         for the various things you can do with a command (execute it, check if it
959         can be used, and its state and value). Changed hte parameter of
960         setBaseWritingDirection to be a const String& rather than a String.
961         Got rid of the kill-ring-related operations, but added the kill ring
962         functions themselves. Made selectedRange() public. Made the
963         m_startNewKillRingSequence not Mac-specific and added "should" to its
964         name.
965
966         * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
967         Retained only the editing commands.
968         (WebCore::targetFrame): Moved to the top of the file.
969         (WebCore::executeApplyStyle): Added. Helper function for commands
970         that need to apply styles.
971         (WebCore::executeToggleStyle): Added. Helper function for commands
972         that need to toggle styles based on the style of the start of selection.
973         (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
974         for paragraph styles.
975         (WebCore::executeInsertFragment): Added. Helper function for commands
976         that need to insert a DOM fragment.
977         (WebCore::executeInsertNode): Added. Helper function for commands that
978         need to insert a tree rooted in a single DOM node.
979         (WebCore::stateStyle): Added. Helper function for the state of commands
980         that represent style.
981         (WebCore::valueStyle): Added. Helper function for the value of commands
982         that represent style.
983         (WebCore::canScroll): Added. Helper functions for some move and scroll
984         commands that need to determine if the renderer they are in can scroll.
985         (WebCore::unionDOMRanges): Moved here from EditorMac.
986         (WebCore::executeBackColor):
987         (WebCore::executeBackwardDelete):
988         (WebCore::executeCopy):
989         (WebCore::executeCreateLink):
990         (WebCore::executeCut):
991         (WebCore::executeDelete):
992         (WebCore::executeDeleteToMark):
993         (WebCore::executeDeleteWordBackward):
994         (WebCore::executeDeleteWordForward):
995         (WebCore::executeFindString):
996         (WebCore::executeFontName):
997         (WebCore::executeFontSize):
998         (WebCore::executeFontSizeDelta):
999         (WebCore::executeForeColor):
1000         (WebCore::executeFormatBlock):
1001         (WebCore::executeForwardDelete):
1002         (WebCore::executeIndent):
1003         (WebCore::executeInsertBacktab):
1004         (WebCore::executeInsertHorizontalRule):
1005         (WebCore::executeInsertHTML):
1006         (WebCore::executeInsertImage):
1007         (WebCore::executeInsertLineBreak):
1008         (WebCore::executeInsertNewline):
1009         (WebCore::executeInsertNewlineInQuotedContent):
1010         (WebCore::executeInsertOrderedList):
1011         (WebCore::executeInsertParagraph):
1012         (WebCore::executeInsertTab):
1013         (WebCore::executeInsertText):
1014         (WebCore::executeInsertUnorderedList):
1015         (WebCore::executeJustifyCenter):
1016         (WebCore::executeJustifyFull):
1017         (WebCore::executeJustifyLeft):
1018         (WebCore::executeJustifyRight):
1019         (WebCore::executeMoveBackward):
1020         (WebCore::executeMoveBackwardAndModifySelection):
1021         (WebCore::executeMoveDown):
1022         (WebCore::executeMoveDownAndModifySelection):
1023         (WebCore::executeMoveDownByPageAndModifyCaret):
1024         (WebCore::executeMoveForward):
1025         (WebCore::executeMoveForwardAndModifySelection):
1026         (WebCore::executeMoveLeft):
1027         (WebCore::executeMoveLeftAndModifySelection):
1028         (WebCore::executeMoveRight):
1029         (WebCore::executeMoveRightAndModifySelection):
1030         (WebCore::executeMoveToBeginningOfDocument):
1031         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
1032         (WebCore::executeMoveToBeginningOfLine):
1033         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
1034         (WebCore::executeMoveToBeginningOfParagraph):
1035         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
1036         (WebCore::executeMoveToBeginningOfSentence):
1037         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
1038         (WebCore::executeMoveToEndOfDocument):
1039         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
1040         (WebCore::executeMoveToEndOfSentence):
1041         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
1042         (WebCore::executeMoveToEndOfLine):
1043         (WebCore::executeMoveToEndOfLineAndModifySelection):
1044         (WebCore::executeMoveToEndOfParagraph):
1045         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
1046         (WebCore::executeMoveParagraphBackwardAndModifySelection):
1047         (WebCore::executeMoveParagraphForwardAndModifySelection):
1048         (WebCore::executeMoveUp):
1049         (WebCore::executeMoveUpAndModifySelection):
1050         (WebCore::executeMoveUpByPageAndModifyCaret):
1051         (WebCore::executeMoveWordBackward):
1052         (WebCore::executeMoveWordBackwardAndModifySelection):
1053         (WebCore::executeMoveWordForward):
1054         (WebCore::executeMoveWordForwardAndModifySelection):
1055         (WebCore::executeMoveWordLeft):
1056         (WebCore::executeMoveWordLeftAndModifySelection):
1057         (WebCore::executeMoveWordRight):
1058         (WebCore::executeMoveWordRightAndModifySelection):
1059         (WebCore::executeOutdent):
1060         (WebCore::executePaste):
1061         (WebCore::executePasteAndMatchStyle):
1062         (WebCore::executePrint):
1063         (WebCore::executeRedo):
1064         (WebCore::executeRemoveFormat):
1065         (WebCore::executeSelectAll):
1066         (WebCore::executeSelectToMark):
1067         (WebCore::executeSetMark):
1068         (WebCore::executeStrikethrough):
1069         (WebCore::executeSubscript):
1070         (WebCore::executeSuperscript):
1071         (WebCore::executeSwapWithMark):
1072         (WebCore::executeToggleBold):
1073         (WebCore::executeToggleItalic):
1074         (WebCore::executeTranspose):
1075         (WebCore::executeUnderline):
1076         (WebCore::executeUndo):
1077         (WebCore::executeUnlink):
1078         (WebCore::executeUnscript):
1079         (WebCore::executeUnselect):
1080         (WebCore::executeYank):
1081         (WebCore::executeYankAndSelect):
1082         (WebCore::supported):
1083         (WebCore::supportedPaste):
1084         (WebCore::enabled):
1085         (WebCore::enabledAnySelection):
1086         (WebCore::enabledAnySelectionAndMark):
1087         (WebCore::enableCaretInEditableText):
1088         (WebCore::enabledCopy):
1089         (WebCore::enabledCut):
1090         (WebCore::enabledInEditableText):
1091         (WebCore::enabledInRichlyEditableText):
1092         (WebCore::enabledPaste):
1093         (WebCore::enabledRangeInEditableText):
1094         (WebCore::enabledRangeInRichlyEditableText):
1095         (WebCore::enabledRedo):
1096         (WebCore::enabledUndo):
1097         (WebCore::stateNone):
1098         (WebCore::stateBold):
1099         (WebCore::stateItalic):
1100         (WebCore::stateOrderedList):
1101         (WebCore::stateStrikethrough):
1102         (WebCore::stateSubscript):
1103         (WebCore::stateSuperscript):
1104         (WebCore::stateUnderline):
1105         (WebCore::stateUnorderedList):
1106         (WebCore::valueNull):
1107         (WebCore::valueBackColor):
1108         (WebCore::valueFontName):
1109         (WebCore::valueFontSize):
1110         (WebCore::valueFontSizeDelta):
1111         (WebCore::valueForeColor):
1112         (WebCore::createCommandMap): Added lots of commands, including all the commands
1113         from JSEditor. A few commands needed different behavior based on whether they are
1114         invoked from the DOM or a keyboard binding.
1115         (WebCore::Editor::command): Added. Gets a command object given a name.
1116         (WebCore::Editor::Command::Command): Added.
1117         (WebCore::Editor::Command::execute): Added.
1118         (WebCore::Editor::Command::isSupported): Added.
1119         (WebCore::Editor::Command::isEnabled): Added.
1120         (WebCore::Editor::Command::state): Added.
1121         (WebCore::Editor::Command::value): Added.
1122         (WebCore::Editor::execCommand): Changed to call command().execute().
1123
1124         * editing/JSEditor.cpp: Removed.
1125         * editing/JSEditor.h: Removed.
1126
1127         * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
1128         kill ring commands, so the kill ring commands can be cross-platform.
1129         (WebCore::Editor::appendToKillRing): Added.
1130         (WebCore::Editor::prependToKillRing): Added.
1131         (WebCore::Editor::yankFromKillRing): Added.
1132         (WebCore::Editor::startNewKillRingSequence): Added.
1133         (WebCore::Editor::setKillRingToYankedState): Added.
1134
1135         * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
1136         * page/Frame.h: Ditto.
1137
1138         * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
1139         * page/mac/WebCoreFrameBridge.h: Ditto.
1140
1141         * platform/ContextMenu.cpp:
1142         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
1143
1144         * platform/text/StringHash.h:
1145         (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
1146         (WebCore::StringHash::equal): Ditto.
1147         (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
1148         classes into this.
1149         (WebCore::CaseFoldingHash::equal): Ditto.
1150
1151         * platform/text/StringImpl.cpp:
1152         (WebCore::equal): Changed to invoke StringHash.
1153         (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
1154
1155         * dom/DOMImplementation.cpp:
1156         (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
1157         (WebCore::isSVG10Feature): Ditto.
1158         (WebCore::isSVG11Feature): Ditto.
1159         * loader/FrameLoader.cpp:
1160         (WebCore::localSchemes): Ditto.
1161         * platform/graphics/FontCache.cpp:
1162         (WebCore::computeHash): Ditto.
1163         * platform/network/HTTPHeaderMap.h: Ditto.
1164         * platform/text/PlatformString.h: Ditto.
1165         * platform/text/StringImpl.h: Ditto.
1166         * rendering/RenderPartObject.cpp:
1167         (WebCore::RenderPartObject::updateWidget): Ditto.
1168         * xml/XMLHttpRequest.cpp:
1169         (WebCore::canSetRequestHeader): Ditto.
1170
1171         * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
1172
1173 2007-12-11  Darin Adler  <darin@apple.com>
1174
1175         * platform/wx/KeyboardEventWx.cpp:
1176         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
1177         WX build. Changes the code around a little bit.
1178
1179 2007-12-11  Darin Adler  <darin@apple.com>
1180
1181         * platform/wx/KeyboardEventWx.cpp:
1182         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
1183
1184 2007-12-11  Dan Bernstein  <mitz@apple.com>
1185
1186         Reviewed by Darin Adler.
1187
1188         - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
1189
1190         Test: fast/text/international/complex-character-based-fallback.html
1191
1192         * platform/graphics/Font.cpp:
1193         (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
1194         that forces this function to use the small caps font. It is used for
1195         combining marks that need to combine with a small cap.
1196         * platform/graphics/Font.h:
1197         * platform/win/UniscribeController.cpp:
1198         (WebCore::UniscribeController::advance): Changed to split the string
1199         into runs of characters that will be rendered using the same FontData.
1200         This is done by calling glyphDataForCharacter() for each cahracter to
1201         find the FontData it should be rendered with.
1202         (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
1203         argument that is passed on to shapeAndPlaceItem() instead of the
1204         smallCaps argument.
1205         (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
1206         argument and removed the font fallback logic from this function, as
1207         it is now expected to be called with an item all of whose characters
1208         can be rendered with the given fontData.
1209         * platform/win/UniscribeController.h:
1210
1211 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
1212
1213         Reviewed by Darin.
1214
1215         <rdar://problem/5535636>
1216         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
1217
1218         http://bugs.webkit.org/show_bug.cgi?id=13916
1219         JavaScript detects Tab as a character input on a textfield validation
1220
1221         Test: platform/win/fast/events/double-dead-char.html
1222
1223         * platform/PlatformKeyboardEvent.h:
1224         (WebCore::PlatformKeyboardEvent::):
1225         (WebCore::PlatformKeyboardEvent::type):
1226         (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
1227         (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
1228         (WebCore::PlatformKeyboardEvent::keyIdentifier):
1229         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
1230         Added an explicit type member to differentiate different kinds of events:
1231           RawKeyDown == keydown == WM_KEYDOWN
1232           KeyUp == keyup == WM_KEYUP
1233           Char == keypress == WM_CHAR
1234           KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
1235           event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
1236
1237         * platform/mac/KeyEventMac.mm:
1238         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
1239         Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
1240         (WebCore::windowsKeyCodeForKeyEvent): 
1241         (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
1242         that it still fails.
1243         (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
1244         should not be available in those (because it cannot be provided on Windows).
1245
1246         * platform/win/KeyEventWin.cpp:
1247         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
1248         Used standard Windows constants for bit masks instead of our own ones.
1249         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
1250
1251         * platform/gtk/KeyEventGtk.cpp:
1252         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1253         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1254         * platform/qt/PlatformKeyboardEventQt.cpp:
1255         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1256         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1257         * platform/wx/KeyboardEventWx.cpp:
1258         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1259         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1260         Updated for cross-platform changes as much as it was possible without appropriate build
1261         environments.
1262
1263         * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
1264         convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
1265
1266         * bridge/EditorClient.h:
1267         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
1268         Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
1269
1270         * dom/Document.h:
1271         * dom/Document.cpp:
1272         (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
1273
1274         * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
1275
1276         * dom/KeyboardEvent.cpp:
1277         (WebCore::eventTypeForKeyboardEventType):
1278         (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
1279         now straightforward, so scary hacks such as using autorepeat to distinguish types are
1280         not needed.
1281         (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
1282         (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
1283         Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
1284         character codes.
1285
1286         * editing/Editor.h:
1287         * editing/Editor.cpp:
1288         (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
1289         (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
1290         (WebCore::Editor::handleInputMethodKeydown): Ditto.
1291
1292         * html/HTMLButtonElement.cpp:
1293         (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
1294         appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
1295         not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
1296         highlighted when Space is pressed.
1297
1298         * html/HTMLInputElement.cpp:
1299         (WebCore::HTMLInputElement::defaultEventHandler):
1300         * html/HTMLSelectElement.cpp:
1301         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1302         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1303         Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
1304         described above.
1305
1306         * page/EventHandler.cpp:
1307         (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
1308         to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
1309         handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
1310         now being handleInputMethodKeydown().
1311         (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
1312         (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
1313         as default tab handling happens when processing keydown.
1314         (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
1315         event handling. Fixed accesskey processing to use information that's available in a raw keydown
1316         event.
1317
1318         (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
1319         handle tabs during keydown processing.
1320
1321         * page/mac/EventHandlerMac.mm:
1322         (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
1323         what callers want.
1324
1325         * platform/text/PlatformString.h:
1326         * platform/text/String.cpp:
1327         (WebCore::String::characterStartingAt):
1328         * platform/text/StringImpl.cpp:
1329         (WebCore::StringImpl::characterStartingAt):
1330         * platform/text/StringImpl.h:
1331         Added a UChar32 accessor.
1332
1333         * svg/graphics/SVGImageEmptyClients.h:
1334         (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
1335         (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
1336         Updated for new function names.
1337
1338 2007-12-11  John Sullivan  <sullivan@apple.com>
1339
1340         Reviewed by Adele
1341
1342         Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
1343
1344         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1345         (WebCore::MediaPlayerPrivate::createQTMovieView):
1346         (WebCore::MediaPlayerPrivate::detachQTMovieView):
1347
1348 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
1349
1350         Reviewed by Darin.
1351
1352         http://bugs.webkit.org/show_bug.cgi?id=16325
1353         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
1354
1355         Fix this on Windows, too!
1356
1357         Test: http/tests/misc/empty-cookie.html
1358
1359         * platform/network/win/CookieJarWin.cpp:
1360         (WebCore::setCookies):
1361         (WebCore::cookies):
1362         Same fix as on Mac, translated into CF.
1363
1364         * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
1365
1366 2007-12-11  Christian Dywan  <christian@twotoasts.de>
1367
1368         Reviewed by Alp Toker.
1369
1370         http://bugs.webkit.org/show_bug.cgi?id=16371
1371         Implement additional mouse cursors for Gtk
1372
1373         Added cursor bitmaps from Mozilla:
1374         http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
1375
1376         * platform/gtk/CursorGtk.cpp:
1377         (WebCore::customCursorNew):
1378         (WebCore::verticalTextCursor):
1379         (WebCore::cellCursor):
1380         (WebCore::contextMenuCursor):
1381         (WebCore::noDropCursor):
1382         (WebCore::copyCursor):
1383         (WebCore::progressCursor):
1384         (WebCore::aliasCursor):
1385         (WebCore::noneCursor):
1386         (WebCore::notAllowedCursor):
1387         (WebCore::zoomInCursor):
1388         (WebCore::zoomOutCursor):
1389         * platform/gtk/CursorGtk.h: Added.
1390
1391 2007-12-10  Oliver Hunt  <oliver@apple.com>
1392
1393         Reviewed by Weinig, Dan, and Alexey.
1394
1395         Fix character set used for dynamically loaded scripts.
1396
1397         Fix for:
1398             <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
1399             <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
1400             <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
1401             
1402         Use the same logic to determine the charset for a script loaded dynamically
1403         as we do for a statically loaded script.
1404
1405         * html/HTMLScriptElement.cpp:
1406         (WebCore::HTMLScriptElement::insertedIntoDocument):
1407
1408 2007-12-10  Justin Garcia  <justin.garcia@apple.com>
1409
1410         Reviewed by Oliver Hunt.
1411
1412         <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
1413         
1414         We were trying to insert a block of the requested type before the body element.
1415         
1416         * editing/FormatBlockCommand.cpp:
1417         (WebCore::FormatBlockCommand::doApply): 
1418         Removed unnecessary ()s in the if condition.
1419         Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
1420         a) upstreamStart will never be outside the root editable element, since in that case
1421         there would be no block inside the editable root to Format, and b) if upstreamStart.node() 
1422         *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
1423         at [root, 0].
1424         Added comments to explain the use of upstream() in the second if-clause.
1425         Added an early return for case where there is nothing selected, in that case, there is nothing
1426         to move.
1427
1428 2007-12-10  Adele Peterson  <adele@apple.com>
1429
1430         Reviewed and partially fixed by Tim Hatcher.
1431
1432         Remaining part of fix for <rdar://problem/5633400>
1433         Transformed <video> is not clipped correctly until a repaint is forced
1434
1435         Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
1436         from clobbering the WebCore repaints.
1437
1438         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
1439         * html/HTMLMediaElement.h:
1440         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
1441         * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
1442
1443         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1444         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1445         (method_setImplementation): Added for Tiger.
1446
1447         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
1448         (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
1449         (WebCore::MediaPlayerPrivate::setVisible): ditto.
1450         (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
1451
1452         (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
1453         (-[WebCoreMovieObserver repaint]): ditto.
1454
1455         (WebCore::mainThreadSetNeedsDisplay): Added.
1456          Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
1457         (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
1458
1459 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
1460
1461         Reviewed by Sam Weinig.
1462
1463         Updated for rename in JavaScriptCore.
1464
1465         * bridge/mac/WebCoreScriptDebugger.mm:
1466         (-[WebCoreScriptCallFrame scopeChain]):
1467         (-[WebCoreScriptCallFrame functionName]):
1468         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1469
1470 2007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
1471
1472         Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
1473         <http://bugs.webkit.org/show_bug.cgi?id=16383>
1474
1475         Use KJS::Window not the ambiguous Window
1476
1477         Reviewed by ddkilzer.
1478
1479         * bindings/js/kjs_dom.cpp (checkNodeSecurity):
1480
1481 2007-12-10  Sam Weinig  <sam@webkit.org>
1482
1483         Fix non-mac builds.
1484
1485         * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
1486
1487 2007-12-10  Marvin Decker  <marv.decker@gmail.com>
1488
1489         Reviewed by Darin.
1490
1491         Fix a divide by 0 in the progress tracker.
1492         http://bugs.webkit.org/show_bug.cgi?id=15055
1493
1494         * loader/ProgressTracker.cpp:
1495         (WebCore::ProgressTracker::incrementProgress):
1496
1497 2007-12-09  Sam Weinig  <sam@webkit.org>
1498
1499         Reviewed by Darin.
1500
1501         More cleanup of kjs_window.
1502         - Move WindowFeatures from bridge/ to page/
1503         - Move functions related to WindowFeatures (boolFeature,
1504           floatFeature, setWindowFeature, parseWindowFeatures) into the class.
1505         - Fix up whitespace.
1506
1507         * WebCore.vcproj/WebCore.vcproj:
1508         * WebCore.xcodeproj/project.pbxproj:
1509         * bindings/js/kjs_window.cpp:
1510         (KJS::DOMWindowTimer::~DOMWindowTimer):
1511         (KJS::createWindow):
1512         (KJS::showModalDialog):
1513         (KJS::Window::getOwnPropertySlot):
1514         (KJS::Window::allowsAccessFrom):
1515         (KJS::Window::shouldInterruptScript):
1516         (KJS::WindowProtoFuncAToB::callAsFunction):
1517         (KJS::WindowProtoFuncOpen::callAsFunction):
1518         (KJS::Window::setReturnValueSlot):
1519         (KJS::ScheduledAction::execute):
1520         (KJS::Window::timerFired):
1521         (KJS::Location::Location):
1522         (KJS::Location::getValueProperty):
1523         (KJS::Location::getOwnPropertySlot):
1524         (KJS::Location::put):
1525         (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
1526         (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
1527         (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
1528         allowsAccessFrom, cleanup the function a little.
1529         (KJS::PausedTimeouts::~PausedTimeouts):
1530         * bridge/WindowFeatures.h: Removed.
1531         * page/WindowFeatures.cpp: Added.
1532         (WebCore::isSeparator):
1533         (WebCore::WindowFeatures::WindowFeatures):
1534         (WebCore::WindowFeatures::setWindowFeature):
1535         (WebCore::WindowFeatures::boolFeature):
1536         (WebCore::WindowFeatures::floatFeature):
1537         * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
1538         (WebCore::WindowFeatures::WindowFeatures):
1539
1540 2007-12-10  Timothy Hatcher  <timothy@apple.com>
1541
1542         Reviewed by Mark Rowe.
1543
1544         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
1545
1546         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
1547           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
1548
1549 2007-12-10  Alp Toker  <alp@atoker.com>
1550
1551         Reviewed by Niko.
1552
1553         Cairo implementation of GraphicsContext::setUseAntialiasing().
1554
1555         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1556         (WebCore::GraphicsContext::setUseAntialiasing):
1557
1558 2007-12-10  Rob Buis  <buis@kde.org>
1559
1560         Reviewed by Darin.
1561
1562         http://bugs.webkit.org/show_bug.cgi?id=16182
1563         SVG should disable antialiasing for shape-rendering="crispEdges"
1564
1565         Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
1566
1567         * platform/graphics/GraphicsContext.h:
1568         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1569         (WebCore::GraphicsContext::setUseAntialiasing):
1570         * platform/graphics/cg/GraphicsContextCG.cpp:
1571         (WebCore::GraphicsContext::setUseAntialiasing):
1572         * platform/graphics/qt/GraphicsContextQt.cpp:
1573         (WebCore::GraphicsContext::setUseAntialiasing):
1574         * platform/graphics/wx/GraphicsContextWx.cpp:
1575         (WebCore::GraphicsContext::setUseAntialiasing):
1576         * rendering/RenderPath.cpp:
1577         (WebCore::RenderPath::paint):
1578
1579 2007-12-09  Rob Buis  <buis@kde.org>
1580
1581         Reviewed by Niko.
1582
1583         http://bugs.webkit.org/show_bug.cgi?id=16163
1584         SVG crash in Node::setChanged() on Debug builds only (trashed parent)
1585
1586         Fix the crash by properly unregistering as client from SVGResource
1587         when deleting a styled svg node.
1588
1589         * svg/SVGStyledElement.cpp:
1590         (WebCore::SVGStyledElement::~SVGStyledElement):
1591
1592 2007-12-10  Brady Eidson  <beidson@apple.com>
1593
1594         Rubberstamped by John
1595
1596         * storage/DatabaseTracker.cpp:
1597         (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
1598           for the new quota, we should allow the database to be created
1599
1600 2007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
1601
1602         Bug 9683: Implement select.options.remove() method
1603         <http://bugs.webkit.org/show_bug.cgi?id=9683>
1604
1605         Reviewed by Maciej.
1606
1607         Implement select.options.remove() by calling select.remove()
1608         with the same arguments.  This is what MSIE 7 does, although its
1609         select.remove() method differs from WebKit's by throwing an
1610         exception when called with no arguments or with a negative
1611         integer argument.  Note that the DOM Level 1 documentation
1612         specifies that select.remove() does not throw an exception.
1613
1614         Tests: fast/js/select-options-remove-gc.html
1615                fast/js/select-options-remove.html
1616
1617         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1618         (WebCore::JSHTMLOptionsCollection::remove): Added.
1619         * html/HTMLOptionsCollection.cpp:
1620         (WebCore::HTMLOptionsCollection::remove): Added.
1621         * html/HTMLOptionsCollection.h:
1622         * html/HTMLOptionsCollection.idl:
1623
1624 2007-12-09  Sam Weinig  <sam@webkit.org>
1625
1626         Rubber stamped by Mark Rowe.
1627
1628         * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
1629
1630 2007-12-09  Oliver Hunt  <oliver@apple.com>
1631
1632         Reviewed by Niko.
1633
1634         Correction, 'z' and 'Z' are the only commands that cannot have an extended
1635         list of arguments.
1636
1637         * svg/SVGParserUtilities.cpp:
1638         (WebCore::SVGPathParser::parseSVG):
1639
1640 2007-12-09  Oliver Hunt  <oliver@apple.com>
1641
1642         Reviewed by Niko.
1643
1644         Prevent unlimited iteration in the case of invalid path data.
1645         
1646         The only path commands that can leave numbers trailing the command processing
1647         are 'm' and 'M', in which trailing numbers are parsed as arguments to an
1648         implicit lineto command.  In any case we should just terminate as an invalid
1649         path.
1650
1651         * svg/SVGParserUtilities.cpp:
1652         (WebCore::SVGPathParser::parseSVG):
1653
1654 2007-12-09  Luca Bruno  <lethalman88@gmail.com>
1655
1656         Reviewed by Alp Toker.
1657
1658         http://bugs.webkit.org/show_bug.cgi?id=15825
1659         [GTK] curl - slow dns causing hangs.
1660
1661         Create a vector of jobs, to satisfy requests in the right order.
1662         Set a limit to the number of simultaneous connections.
1663
1664         * platform/network/curl/ResourceHandleManager.cpp:
1665         (WebCore::maxRunningJobs): added
1666         (WebCore::ResourceHandleManager::ResourceHandleManager):
1667         (WebCore::ResourceHandleManager::removeFromCurl):
1668         (WebCore::ResourceHandleManager::startScheduledJobs):
1669
1670         * platform/network/curl/ResourceHandleManager.h:
1671         (WebCore::ResourceHandleList): removed
1672         (WebCore::ResourceHandleManager::m_runningJobs): added
1673         (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
1674         (WebCore::ResourceHandleManager::m_resourceHandleList): added
1675
1676 2007-12-08  Sam Weinig  <sam@webkit.org>
1677
1678         Reviewed by Oliver.
1679
1680         Cleanup kjs_window.h/cpp.
1681
1682         * bindings/js/kjs_window.cpp:
1683         (KJS::WindowPrivate::WindowPrivate):
1684         (KJS::DOMWindowTimer::DOMWindowTimer):
1685         (KJS::Window::Window):
1686         (KJS::Window::retrieveWindow):
1687         (KJS::Window::retrieveActive):
1688         (KJS::Window::retrieve):
1689         (KJS::Window::location):
1690         (KJS::Window::mark):
1691         (KJS::allowPopUp):
1692         (KJS::parseModalDialogFeatures):
1693         (KJS::floatFeature):
1694         (KJS::canShowModalDialog):
1695         (KJS::canShowModalDialogNow):
1696         (KJS::showModalDialog):
1697         (KJS::Window::getValueProperty):
1698         (KJS::Window::getOwnPropertySlot):
1699         (KJS::Window::globalExec):
1700         (KJS::Window::setListener):
1701         (KJS::Window::getListener):
1702         (KJS::Window::findOrCreateJSEventListener):
1703         (KJS::Window::findOrCreateJSUnprotectedEventListener):
1704         (KJS::Window::clearHelperObjectProperties):
1705         (KJS::Window::setCurrentEvent):
1706         (KJS::WindowProtoFuncAToB::callAsFunction):
1707         (KJS::WindowProtoFuncBToA::callAsFunction):
1708         (KJS::WindowProtoFuncOpen::callAsFunction):
1709         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
1710         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
1711         (KJS::WindowProtoFuncSetInterval::callAsFunction):
1712         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
1713         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
1714         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
1715         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
1716         * bindings/js/kjs_window.h:
1717         (KJS::PausedTimeouts::PausedTimeouts):
1718         (KJS::PausedTimeouts::takeTimeouts):
1719         (KJS::ScheduledAction::ScheduledAction):
1720
1721 2007-12-08  Sam Weinig  <sam@webkit.org>
1722
1723         Reviewed by Mitz.
1724
1725         Move window scrolling, moving and resizing methods from KJS::Window
1726         to WebCore::DOMWindow so that there bindings can be autogenerated.
1727
1728         Tests: fast/dom/Window/window-resize-and-move-arguments.html
1729                fast/dom/Window/window-scroll-arguments.html
1730
1731         * WebCore.xcodeproj/project.pbxproj:
1732         * bindings/js/kjs_window.cpp:
1733         (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
1734         (KJS::WindowProtoFuncOpen::callAsFunction):
1735         (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
1736         * bindings/js/kjs_window.h:
1737         * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
1738         to ensure that the no less than the declared number of attributes
1739         is allowed.
1740         * page/DOMWindow.cpp:
1741         (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
1742         (WebCore::DOMWindow::scrollBy):
1743         (WebCore::DOMWindow::scrollTo):
1744         (WebCore::DOMWindow::moveBy):
1745         (WebCore::DOMWindow::moveTo):
1746         (WebCore::DOMWindow::resizeBy):
1747         (WebCore::DOMWindow::resizeTo):
1748         * page/DOMWindow.h:
1749         (WebCore::DOMWindow::scroll):
1750         * page/DOMWindow.idl:
1751
1752 2007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
1753
1754         Reviewed by Alp Toker.
1755
1756         http://bugs.webkit.org/show_bug.cgi?id=14651
1757         [CURL] didReceiveResponse() only called for HTTP loads
1758
1759         http://bugs.webkit.org/show_bug.cgi?id=14583
1760         [GDK] file:// relative CSS include URLs handled incorrectly
1761
1762         Make sure CURL sets the ResourceResponse URL and calls
1763         didReceiveResponse for local files too. 
1764
1765         * platform/network/curl/ResourceHandleManager.cpp:
1766         (WebCore::writeCallback):
1767
1768 2007-12-08  Oliver Hunt  <oliver@apple.com>
1769
1770         Reviewed by Sam W.
1771
1772         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
1773         
1774         Fixes <rdar://problem/5620249> Must disable SVG animation
1775         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
1776         
1777         In order to allow finer grained control over the set of SVG features
1778         this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
1779         distinct flags:
1780         ENABLE_SVG_ANIMATION
1781         ENABLE_SVG_FILTERS
1782         ENABLE_SVG_FONTS
1783         ENABLE_SVG_AS_IMAGE
1784         ENABLE_SVG_USE
1785         
1786         by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
1787
1788         * Configurations/WebCore.xcconfig:
1789         * DerivedSources.make:
1790           Handle the increased number of build flags that may be necessary
1791           
1792         * WebCore.SVG.Animation.exp: Added.
1793         * WebCore.SVG.Filters.exp: Added.
1794         * WebCore.SVG.exp:
1795           We now may not need the animation or filter exports so 
1796           these need to be separate.
1797           
1798         * WebCore.vcproj/WebCore.vcproj:
1799         * WebCore.vcproj/build-generated-files.sh:
1800           Update for new flags
1801           
1802         Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
1803         with the appropriate specific feature flag.  
1804         * bindings/js/JSSVGElementWrapperFactory.cpp:
1805         (WebCore::createJSSVGWrapper):
1806         * bindings/objc/DOM.mm:
1807         (WebCore::createElementClassMap):
1808         * dom/make_names.pl:
1809         * loader/CachedImage.cpp:
1810         (WebCore::CachedImage::createImage):
1811         * page/DOMWindow.idl:
1812         * rendering/RenderPath.cpp:
1813         (WebCore::RenderPath::absoluteClippedOverflowRect):
1814         * rendering/RenderSVGContainer.cpp:
1815         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
1816         * rendering/RenderSVGImage.cpp:
1817         (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
1818         * rendering/RenderSVGRoot.cpp:
1819         (WebCore::RenderSVGRoot::paint):
1820         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
1821         * rendering/RenderSVGText.cpp:
1822         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
1823         * rendering/SVGRenderSupport.cpp:
1824         (WebCore::prepareToRenderSVGContent):
1825         (WebCore::finishRenderSVGContent):
1826         * svg/SVGAnimateElement.cpp:
1827         * svg/SVGAnimateElement.h:
1828         * svg/SVGAnimateElement.idl:
1829         * svg/SVGAnimateMotionElement.cpp:
1830         * svg/SVGAnimateMotionElement.h:
1831         * svg/SVGAnimateTransformElement.cpp:
1832         * svg/SVGAnimateTransformElement.h:
1833         * svg/SVGAnimateTransformElement.idl:
1834         * svg/SVGComponentTransferFunctionElement.cpp:
1835         * svg/SVGComponentTransferFunctionElement.h:
1836         * svg/SVGComponentTransferFunctionElement.idl:
1837         * svg/SVGDocumentExtensions.cpp:
1838         (WebCore::SVGDocumentExtensions::startAnimations):
1839         * svg/SVGFEBlendElement.cpp:
1840         * svg/SVGFEBlendElement.h:
1841         * svg/SVGFEBlendElement.idl:
1842         * svg/SVGFEColorMatrixElement.cpp:
1843         * svg/SVGFEColorMatrixElement.h:
1844         * svg/SVGFEColorMatrixElement.idl:
1845         * svg/SVGFEComponentTransferElement.cpp:
1846         * svg/SVGFEComponentTransferElement.h:
1847         * svg/SVGFEComponentTransferElement.idl:
1848         * svg/SVGFECompositeElement.cpp:
1849         * svg/SVGFECompositeElement.h:
1850         * svg/SVGFECompositeElement.idl:
1851         * svg/SVGFEDiffuseLightingElement.cpp:
1852         * svg/SVGFEDiffuseLightingElement.h:
1853         * svg/SVGFEDiffuseLightingElement.idl:
1854         * svg/SVGFEDisplacementMapElement.cpp:
1855         * svg/SVGFEDisplacementMapElement.h:
1856         * svg/SVGFEDisplacementMapElement.idl:
1857         * svg/SVGFEDistantLightElement.cpp:
1858         * svg/SVGFEDistantLightElement.h:
1859         * svg/SVGFEDistantLightElement.idl:
1860         * svg/SVGFEFloodElement.cpp:
1861         * svg/SVGFEFloodElement.h:
1862         * svg/SVGFEFloodElement.idl:
1863         * svg/SVGFEFuncAElement.cpp:
1864         * svg/SVGFEFuncAElement.h:
1865         * svg/SVGFEFuncAElement.idl:
1866         * svg/SVGFEFuncBElement.cpp:
1867         * svg/SVGFEFuncBElement.h:
1868         * svg/SVGFEFuncBElement.idl:
1869         * svg/SVGFEFuncGElement.cpp:
1870         * svg/SVGFEFuncGElement.h:
1871         * svg/SVGFEFuncGElement.idl:
1872         * svg/SVGFEFuncRElement.cpp:
1873         * svg/SVGFEFuncRElement.h:
1874         * svg/SVGFEFuncRElement.idl:
1875         * svg/SVGFEGaussianBlurElement.cpp:
1876         * svg/SVGFEGaussianBlurElement.h:
1877         * svg/SVGFEGaussianBlurElement.idl:
1878         * svg/SVGFEImageElement.cpp:
1879         * svg/SVGFEImageElement.h:
1880         * svg/SVGFEImageElement.idl:
1881         * svg/SVGFELightElement.cpp:
1882         * svg/SVGFELightElement.h:
1883         * svg/SVGFEMergeElement.cpp:
1884         * svg/SVGFEMergeElement.h:
1885         * svg/SVGFEMergeElement.idl:
1886         * svg/SVGFEMergeNodeElement.cpp:
1887         * svg/SVGFEMergeNodeElement.h:
1888         * svg/SVGFEMergeNodeElement.idl:
1889         * svg/SVGFEOffsetElement.cpp:
1890         * svg/SVGFEOffsetElement.h:
1891         * svg/SVGFEOffsetElement.idl:
1892         * svg/SVGFEPointLightElement.cpp:
1893         * svg/SVGFEPointLightElement.h:
1894         * svg/SVGFEPointLightElement.idl:
1895         * svg/SVGFESpecularLightingElement.cpp:
1896         * svg/SVGFESpecularLightingElement.h:
1897         * svg/SVGFESpecularLightingElement.idl:
1898         * svg/SVGFESpotLightElement.cpp:
1899         * svg/SVGFESpotLightElement.h:
1900         * svg/SVGFESpotLightElement.idl:
1901         * svg/SVGFETileElement.cpp:
1902         * svg/SVGFETileElement.h:
1903         * svg/SVGFETileElement.idl:
1904         * svg/SVGFETurbulenceElement.cpp:
1905         * svg/SVGFETurbulenceElement.h:
1906         * svg/SVGFETurbulenceElement.idl:
1907         * svg/SVGFilterElement.cpp:
1908         * svg/SVGFilterElement.h:
1909         * svg/SVGFilterElement.idl:
1910         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1911         * svg/SVGTimer.cpp:
1912         (WebCore::SVGTimer::animationsByElement):
1913         * svg/SVGUseElement.cpp:
1914         (WebCore::SVGUseElement::buildPendingResource):
1915         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
1916         * svg/SVGUseElement.h:
1917         * svg/TimeScheduler.cpp:
1918         (WebCore::TimeScheduler::connectIntervalTimer):
1919         (WebCore::TimeScheduler::disconnectIntervalTimer):
1920         * svg/graphics/SVGResourceFilter.cpp:
1921         * svg/graphics/SVGResourceFilter.h:
1922         * svg/graphics/cg/SVGResourceFilterCg.cpp:
1923         * svg/graphics/cg/SVGResourceFilterCg.mm:
1924         * svg/graphics/filters/SVGDistantLightSource.h:
1925         * svg/graphics/filters/SVGFEBlend.cpp:
1926         * svg/graphics/filters/SVGFEBlend.h:
1927         * svg/graphics/filters/SVGFEColorMatrix.cpp:
1928         * svg/graphics/filters/SVGFEColorMatrix.h:
1929         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
1930         * svg/graphics/filters/SVGFEComponentTransfer.h:
1931         * svg/graphics/filters/SVGFEComposite.cpp:
1932         * svg/graphics/filters/SVGFEComposite.h:
1933         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1934         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1935         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1936         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1937         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1938         * svg/graphics/filters/SVGFEDisplacementMap.h:
1939         * svg/graphics/filters/SVGFEFlood.cpp:
1940         * svg/graphics/filters/SVGFEFlood.h:
1941         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1942         * svg/graphics/filters/SVGFEGaussianBlur.h:
1943         * svg/graphics/filters/SVGFEImage.cpp:
1944         * svg/graphics/filters/SVGFEImage.h:
1945         * svg/graphics/filters/SVGFEMerge.cpp:
1946         * svg/graphics/filters/SVGFEMerge.h:
1947         * svg/graphics/filters/SVGFEMorphology.cpp:
1948         * svg/graphics/filters/SVGFEMorphology.h:
1949         * svg/graphics/filters/SVGFEOffset.cpp:
1950         * svg/graphics/filters/SVGFEOffset.h:
1951         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1952         * svg/graphics/filters/SVGFESpecularLighting.h:
1953         * svg/graphics/filters/SVGFETile.h:
1954         * svg/graphics/filters/SVGFETurbulence.cpp:
1955         * svg/graphics/filters/SVGFETurbulence.h:
1956         * svg/graphics/filters/SVGFilterEffect.cpp:
1957         * svg/graphics/filters/SVGFilterEffect.h:
1958         * svg/graphics/filters/SVGLightSource.cpp:
1959         * svg/graphics/filters/SVGLightSource.h:
1960         * svg/graphics/filters/SVGPointLightSource.h:
1961         * svg/graphics/filters/SVGSpotLightSource.h:
1962         * svg/graphics/filters/cg/SVGFEBlendCg.mm:
1963         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
1964         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
1965         * svg/graphics/filters/cg/SVGFECompositeCg.mm:
1966         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1967         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
1968         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
1969         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
1970         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1971         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1972         * svg/graphics/filters/cg/SVGFEImageCg.mm:
1973         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
1974         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
1975         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
1976         * svg/graphics/filters/cg/SVGFETileCg.mm:
1977         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
1978         * svg/graphics/filters/cg/WKArithmeticFilter.h:
1979         * svg/graphics/filters/cg/WKArithmeticFilter.m:
1980         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
1981         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
1982         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
1983         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
1984         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
1985         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
1986         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
1987         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
1988         * svg/graphics/filters/cg/WKDistantLightFilter.h:
1989         * svg/graphics/filters/cg/WKDistantLightFilter.m:
1990         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
1991         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
1992         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
1993         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
1994         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
1995         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
1996         * svg/graphics/filters/cg/WKNormalMapFilter.h:
1997         * svg/graphics/filters/cg/WKNormalMapFilter.m:
1998         * svg/graphics/filters/cg/WKPointLightFilter.h:
1999         * svg/graphics/filters/cg/WKPointLightFilter.m:
2000         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
2001         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
2002         * svg/graphics/filters/cg/WKSpotLightFilter.h:
2003         * svg/graphics/filters/cg/WKSpotLightFilter.m:
2004         * svg/graphics/filters/cg/WKTableTransferFilter.h:
2005         * svg/graphics/filters/cg/WKTableTransferFilter.m:
2006         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
2007         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
2008         * svg/svgtags.in:
2009
2010 2007-12-08  Dan Bernstein  <mitz@apple.com>
2011
2012         Reviewed by Adele Peterson.
2013
2014         - fix two bugs in parsing of stylesheets in <style> elements created by
2015           the parser:
2016           1. each such stylesheet is parsed twice, once when the text node is
2017              added and again when the </style> tag is reached
2018           2. re-inserting such a <style> element into the document fails to
2019              re-parse and apply its stylesheet.
2020
2021         Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
2022
2023         * html/HTMLStyleElement.cpp:
2024         (WebCore::HTMLStyleElement::finishedParsing):
2025         * svg/SVGStyleElement.cpp:
2026         (WebCore::SVGStyleElement::finishedParsing):
2027
2028 2007-12-07  Sam Weinig  <sam@webkit.org>
2029
2030         Reviewed by Darin.
2031
2032         - Removes the faulty isSafeScript implementation that was only
2033           used for plugins.
2034         - Renames isSafeScript to allowsAccessFrom.
2035
2036         * bindings/js/JSDOMWindowCustom.cpp:
2037         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2038         (WebCore::JSDOMWindow::customPut):
2039         * bindings/js/kjs_dom.cpp:
2040         (WebCore::checkNodeSecurity):
2041         * bindings/js/kjs_window.cpp:
2042         (KJS::createWindow):
2043         (KJS::Window::getValueProperty):
2044         (KJS::Window::namedItemGetter):
2045         (KJS::Window::getOwnPropertySlot):
2046         (KJS::Window::put):
2047         (KJS::Window::allowsAccessFrom):
2048         (KJS::Window::setListener):
2049         (KJS::Window::getListener):
2050         (KJS::WindowProtoFuncOpen::callAsFunction):
2051         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2052         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2053         (KJS::WindowProtoFuncSetInterval::callAsFunction):
2054         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2055         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2056         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2057         (KJS::Location::getOwnPropertySlot):
2058         (KJS::Location::put):
2059         (KJS::LocationProtoFuncReplace::callAsFunction):
2060         (KJS::LocationProtoFuncReload::callAsFunction):
2061         (KJS::LocationProtoFuncAssign::callAsFunction):
2062         (KJS::LocationProtoFuncToString::callAsFunction):
2063         * bindings/js/kjs_window.h:
2064         (KJS::Window::allowsAccessFrom):
2065         * bindings/objc/WebScriptObject.mm:
2066         (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
2067         the new call.
2068         * bindings/scripts/CodeGeneratorJS.pm:
2069
2070 2007-12-08  Rob Buis  <buis@kde.org>
2071
2072         Reviewed by Darin.
2073
2074         http://bugs.webkit.org/show_bug.cgi?id=15464
2075         SVGLengthList allows bad values
2076
2077         Be more strict with svg lengths without a unit identifier.
2078
2079         Test: svg/custom/invalid-lengthlist.svg
2080
2081         * svg/SVGLength.cpp:
2082         (WebCore::SVGLength::setValueAsString):
2083
2084 2007-12-08  Rob Buis  <buis@kde.org>
2085
2086         Mac Tiger build fix.
2087
2088         Use the wtf prefix when including MathExtras.h.
2089
2090         * rendering/RenderMedia.cpp:
2091
2092 2007-12-08  Alp Toker  <alp@atoker.com>
2093
2094         GTK+ build fix (for ENABLE_VIDEO builds):
2095
2096         Include MathExtras.h to get isfinite().
2097
2098         * rendering/RenderMedia.cpp:
2099
2100 2007-12-08  Rob Buis  <buis@kde.org>
2101
2102         Reviewed by Darin.
2103
2104         http://bugs.webkit.org/show_bug.cgi?id=15528
2105         svg_dynamic_cast should be removed
2106
2107         Replace svg_dynamic_cast with a combination of
2108         isSVGElement and static_cast.
2109
2110         * rendering/SVGRootInlineBox.cpp:
2111         (WebCore::SVGRootInlineBox::buildLayoutInformation):
2112         (WebCore::SVGRootInlineBox::buildTextChunks):
2113         * svg/SVGAnimationElement.cpp:
2114         (WebCore::SVGAnimationElement::targetElement):
2115         * svg/SVGElement.h:
2116         * svg/SVGElementInstance.cpp:
2117         (WebCore::SVGElementInstance::updateInstance):
2118         * svg/SVGFilterElement.cpp:
2119         (WebCore::SVGFilterElement::canvasResource):
2120         * svg/SVGGradientElement.cpp:
2121         (WebCore::SVGGradientElement::buildStops):
2122         * svg/SVGLocatable.cpp:
2123         (WebCore::SVGLocatable::getTransformToElement):
2124         * svg/SVGMaskElement.cpp:
2125         (WebCore::SVGMaskElement::drawMaskerContent):
2126         * svg/SVGSwitchElement.cpp:
2127         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
2128         * svg/SVGUseElement.cpp:
2129         (WebCore::SVGUseElement::insertedIntoDocument):
2130         (WebCore::SVGUseElement::buildPendingResource):
2131         (WebCore::SVGUseElement::buildInstanceTree):
2132         (WebCore::SVGUseElement::handleDeepUseReferencing):
2133         (WebCore::SVGUseElement::buildShadowTree):
2134         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2135         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2136         * svg/graphics/SVGResource.cpp:
2137         (WebCore::getResourceById):
2138
2139 2007-12-07  Antti Koivisto  <antti@apple.com>
2140
2141         Reviewed by Adele.
2142         
2143         Partial fix for <rdar://problem/5633400>
2144         Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
2145         
2146         Fix video painting when transform is applied.
2147
2148         Test: media/video-transformed.html
2149
2150         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2151         (WebCore::MediaPlayerPrivate::paint):
2152
2153 2007-12-07  Dan Bernstein  <mitz@apple.com>
2154
2155         Reviewed by Sam Weinig.
2156
2157         - fix http://bugs.webkit.org/show_bug.cgi?id=16348
2158           @font-face does not affect the default style
2159
2160         Test: fast/css/font-face-default-font.html
2161
2162         * dom/Document.cpp:
2163         (WebCore::Document::recalcStyle): Pass our font selector to
2164         Font::update() if we already have one.
2165
2166 2007-12-07  Darin Adler  <darin@apple.com>
2167
2168         - fix Windows build
2169
2170         * bridge/win/GlobalHistoryWin.cpp:
2171         (WebCore::historyContains): Missed a rename.
2172
2173 2007-12-07  Brady Eidson  <beidson@apple.com>
2174
2175         Reviewed by Anders and Darin
2176
2177         When a statement bumps up against the quota and the UI Delegate grants more space, we need to
2178         actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
2179         in the DatabaseTracker, which was already done)
2180
2181         * storage/SQLTransaction.cpp:
2182         (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
2183           the SQLiteDatabase to the new maximum size
2184
2185 2007-12-07  Darin Adler  <darin@apple.com>
2186
2187         - fix Tiger build
2188
2189         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
2190         QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
2191
2192 2007-12-07  Darin Adler  <darin@apple.com>
2193
2194         - fix 64-bit build, hopefully without breaking Tiger build
2195
2196         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2197         (WebCore::MediaPlayerPrivate::updateStates):
2198         Don't use Movies.h constants that are nonexistent in 64-bit.
2199         Define the new QTMovie.h constants, though, when using an older QTKit.
2200
2201 2007-12-07  Brady Eidson  <beidson@apple.com>
2202
2203         Reviewed by Anders
2204
2205         Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
2206
2207         * storage/DatabaseTracker.cpp:
2208         (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
2209         (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
2210         * storage/DatabaseTracker.h:
2211
2212 2007-12-07  Darin Adler  <darin@apple.com>
2213
2214         Reviewed by Mitz.
2215
2216         - http://bugs.webkit.org/show_bug.cgi?id=15981
2217           speed up visited-link code a bit
2218
2219         * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
2220         instead of requiring a DeprecatedString.
2221
2222         * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
2223         Also removes pointless "fast Latin-1" case that was never used.
2224         * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
2225         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
2226         * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
2227
2228         * css/CSSStyleSelector.cpp:
2229         (WebCore::findHash): Added. Helper for cleanpath.
2230         (WebCore::findSlashDotDotSlash): Ditto.
2231         (WebCore::findSlashSlash): Ditto.
2232         (WebCore::findSlashDotSlash): Ditto.
2233         (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
2234         DeprecatedString find function.
2235         (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
2236         (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
2237         instead of an AtomicString for the attribute value. Changed to use fast helper function
2238         instead of slower DeprecatedString::contains function, and also made the fast case not
2239         bother allocating a DeprecatedConstString.
2240
2241         - unrelated tiny cleanup
2242
2243         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2244         (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
2245         (WebCore::cgGradientCallback): Ditto.
2246
2247 2007-12-07  Darin Adler  <darin@apple.com>
2248
2249         Fix build on Tiger (Mark Rowe told me how).
2250
2251         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2252         Include <objc/objc-runtime.h>, which existed back on Tiger,
2253         rather than <objc/runtime.h>, which did not.
2254
2255 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
2256
2257         Build fix: rolling out last build fix to change #include path.
2258
2259         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2260
2261 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
2262
2263         Re-named our B&I flag from BUILDBOT to PRODUCTION.
2264
2265         Reviewed by Sam Weinig.
2266
2267         * WebCore.vcproj/WebCore.make:
2268
2269 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
2270
2271         Build fix: corrected #include path.
2272
2273         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2274
2275 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
2276
2277         Reviewed by Sam Weinig.
2278
2279         Added some namespace qualifications and a forwarding header, now that
2280         KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
2281
2282         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
2283         * bindings/js/JSXSLTProcessor.cpp:
2284         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
2285         * bindings/js/kjs_binding.cpp:
2286         (KJS::ScriptInterpreter::getDOMNodeForDocument):
2287         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
2288         (KJS::ScriptInterpreter::putDOMNodeForDocument):
2289         (KJS::ScriptInterpreter::markDOMNodesForDocument):
2290         (KJS::ScriptInterpreter::updateDOMNodeDocument):
2291
2292 2007-12-07  Adam Roben  <aroben@apple.com>
2293
2294         Add SoftLinking.h for Windows and use it in a few places
2295
2296         Reviewed by Oliver.
2297
2298         * WebCore.vcproj/WebCore.vcproj: Added new file to project.
2299         * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
2300         (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
2301         soft-linking calls.
2302         (WebCore::PlatformScrollbar::paintButton): Check for the presence of
2303         the SafariTheme library now that we can't check for the presence of
2304         paintThemePart directly.
2305         (WebCore::PlatformScrollbar::paintTrack): Ditto.
2306         (WebCore::PlatformScrollbar::paintThumb): Ditto.
2307         * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
2308         * rendering/RenderThemeSafari.cpp: Same basic changes as to
2309         PlatformScrollBarSafari.cpp.
2310         (WebCore::RenderThemeSafari::RenderThemeSafari):
2311         (WebCore::RenderThemeSafari::isControlStyled):
2312         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
2313         * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
2314
2315 2007-12-07  Darin Adler  <darin@apple.com>
2316
2317         Reviewed by Adele.
2318
2319         - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
2320           at WebCore::HTMLSelectElement::saveState const + 152
2321
2322         Test: fast/forms/select-set-inner.html
2323
2324         * dom/ContainerNode.cpp:
2325         (WebCore::ContainerNode::removeChildren): Added a return value, as with other
2326         calls that change children, so we can optimize for the case where it does nothing.
2327         (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
2328         * dom/ContainerNode.h: See above.
2329
2330         * html/HTMLOptGroupElement.cpp:
2331         (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
2332         recalcSelectOptions in that case.
2333         (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
2334         addChild, for consistency with HTMLSelectElement; no need to override both.
2335         (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
2336         * html/HTMLOptGroupElement.h: See above.
2337
2338         * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
2339         override childrenChanged, and addChild calls that.
2340         (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
2341         recalcSelectOptions in that case.
2342         (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
2343         by using a for loop and traverseNextSibling. Also added some new comments and
2344         removed some obsolete ones.
2345         (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
2346         sure we don't have a stale list items vector.
2347         * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
2348         This will help us catch cases where we have too few calls to setRecalcListItems.
2349
2350 2007-12-07  Dan Bernstein  <mitz@apple.com>
2351
2352         Reviewed by Darin Adler.
2353
2354         - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2355
2356         Test: fast/repaint/focus-ring.html
2357
2358         * editing/SelectionController.cpp:
2359         (WebCore::SelectionController::caretRepaintRect): Changed to return just
2360         the caret rect without any padding.
2361         (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
2362         just the caret rect without any padding.
2363         * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
2364         clearFocusRingClip().
2365         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
2366         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
2367         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
2368         m_focusRingClip member.
2369         * platform/graphics/mac/GraphicsContextMac.mm:
2370         (WebCore::GraphicsContext::drawFocusRing): Changed to call
2371         wkDrawFocusRing() once without setting up additional clip. On Leopard,
2372         wkDrawFocusRing() respects the context clip now. On Tiger, a
2373         transparency layer is used to apply clipping to the focus ring.
2374         * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
2375         methods and member.
2376         * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
2377         * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
2378         to wkDrawFocusRing().
2379         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2380         * rendering/RenderLayer.cpp:
2381         (WebCore::setClip): Removed call to set the focus ring clip.
2382         (WebCore::restoreClip): Removed call to reset the focus ring clip.
2383
2384 2007-12-07  Darin Adler  <darin@apple.com>
2385
2386         Reviewed by Antti Koivisto and Kevin Decker.
2387
2388         - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
2389
2390         Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
2391
2392         * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
2393
2394         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
2395         Made a lot more functions const. Made a few more members private and a couple inline.
2396         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
2397         things we currently use in QTKit. It's a little more awkward for classes and other data objects
2398         than it is for functions, but still relatively straightforward, with no changes needed to the
2399         client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
2400         it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
2401         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
2402         members to nil.
2403         (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
2404         (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
2405         (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
2406         Changed to use long instead of int because that's the type for a QTTime time scale anyway.
2407         (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
2408         (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
2409         (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
2410         points set to avoid a potential problem with a set being modified as we iterate it.
2411         (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
2412         (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
2413         values, used the constants from the headers directly.
2414         (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
2415         pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
2416         of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
2417         no better). Used RetainPtr instead of explicit CFRelease calls.
2418
2419         * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
2420         It's not quite as automatic as the soft linking we can do for functions, since these define
2421         functions to get the values, so you need to define macros to make what look like variable
2422         accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
2423
2424         * html/HTMLMediaElement.h:
2425         * html/TimeRanges.h:
2426         * html/VoidCallback.h:
2427         * platform/graphics/MediaPlayer.h:
2428         Use angle brackets for wtf includes. Omit unneeded includes.
2429
2430 2007-12-07  Dan Bernstein  <mitz@apple.com>
2431
2432         Reviewed by Darin Adler.
2433
2434         - fix http://bugs.webkit.org/show_bug.cgi?id=16334
2435           <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
2436
2437         Test: fast/dynamic/subtree-no-common-root-static-y.html
2438
2439         * rendering/RenderObject.cpp:
2440         (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
2441         to setChildNeedsLayout() to not mark containing blocks and added a
2442         separate call to markContainingBlocksForLayout() that will not schedule
2443         a layout if we are already in the middle of scheduleRelayoutOfSubtree().
2444
2445 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
2446
2447         Reviewed by Darin.
2448
2449         http://bugs.webkit.org/show_bug.cgi?id=16325
2450         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2451         
2452         Test: http/tests/misc/empty-cookie.html
2453
2454         * platform/mac/CookieJar.mm:
2455         (WebCore::setCookies): Don't store empty cookies.
2456         (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
2457         with an earlier version of Leopard!
2458
2459 2007-12-06  Ada Chan  <adachan@apple.com>
2460
2461         Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
2462         returning true when there's an error).
2463
2464         Reviewed by Steve.
2465
2466         * platform/win/FileSystemWin.cpp:
2467         (WebCore::makeAllDirectories):
2468
2469 2007-12-06  Darin Adler  <darin@apple.com>
2470
2471         - fix broken regression test
2472
2473         * bindings/js/kjs_binding.cpp:
2474         (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
2475
2476 2007-12-06  Darin Adler  <darin@apple.com>
2477
2478         Reviewed by Sam Weinig.
2479
2480         - fix http://bugs.webkit.org/show_bug.cgi?id=16332
2481           ObjC DOM exception object descriptions should include the exception name
2482
2483         * WebCore.pro: Added ExceptionCode.cpp.
2484         * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
2485         * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
2486         * WebCoreSources.bkl: Added ExceptionCode.cpp.
2487
2488         * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
2489         ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
2490         the many unneeded includes that were here. Had to keep one special case here, for
2491         SECURITY_ERR.
2492
2493         * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
2494         new getExceptionCodeDescription function so that this shares the exception name
2495         information that was previously only available to JavaScript.
2496
2497         * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
2498         (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
2499         handle exception names in a slightly more robust way that is not subject to integer
2500         overflow. (Not a real world issue since we should never receive a bad exception code.)
2501
2502         * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
2503         getExceptionCodeDescription function.
2504
2505         * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
2506         the comments were mildly helpful, but others were incorrect. This now matches the other
2507         exception-related headers such as RangeException.h.
2508
2509 2007-12-06  Brady Eidson  <beidson@apple.com>
2510
2511         Reviewed by Darin
2512
2513         Fixed a glaring bug that would prevent a statement from getting run a second time
2514
2515         * storage/SQLStatement.cpp:
2516         (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
2517           and return early
2518         (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
2519
2520 2007-12-06  Timothy Hatcher  <timothy@apple.com>
2521
2522         Reviewed by Oliver Hunt.
2523
2524         Use keydown instead of keypress so keyIdentifier can be used.
2525
2526         * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
2527         * page/inspector/DatabasePanel.js: Ditto.
2528         * page/inspector/inspector.js: Ditto. Plus call removeEventListener
2529         before deleting windowLoaded.
2530
2531 2007-12-06  Adam Roben  <aroben@apple.com>
2532
2533         Rename FontsTable.plist to FontsList.plist
2534
2535         Rubberstamped by Hyatt.
2536
2537         * platform/graphics/win/FontDatabase.cpp:
2538
2539 2007-12-06  Brady Eidson  <beidson@apple.com>
2540
2541         Reviewed by Darin
2542
2543         Tweaked a comment and a few assertions from my last checkin
2544
2545         * storage/SQLStatement.cpp:
2546         (WebCore::SQLStatement::execute):
2547         (WebCore::SQLStatement::clearFailureDueToQuota):
2548         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2549
2550 2007-12-06  Brady Eidson <beidson@apple.com>
2551
2552         Reviewed by Darin
2553
2554         Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
2555         will ask the UI Delegate for more space when that quota is met
2556
2557         * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
2558         * platform/sql/SQLiteDatabase.h: Ditto
2559
2560         * storage/Database.cpp:
2561         (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
2562         (WebCore::Database::stringIdentifier): Ditto
2563         * storage/Database.h:
2564
2565         * storage/SQLStatement.cpp:
2566         (WebCore::SQLStatement::SQLStatement):
2567         (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
2568           If the result is quota, this statement expects that it might be run again, presumably after the user increases 
2569           the quota
2570         (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
2571         (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
2572         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2573         * storage/SQLStatement.h:
2574
2575         * storage/SQLTransaction.cpp:
2576         (WebCore::SQLTransaction::SQLTransaction):
2577         (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
2578         (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
2579           transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
2580         (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
2581           decision and whether the current statement was already run
2582         (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
2583         (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
2584           that handles a statement error was moved here
2585         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
2586           reschedule the current statement on the database thread
2587         * storage/SQLTransaction.h:
2588
2589 2007-12-06  Steve Falkenburg  <sfalken@apple.com>
2590
2591         <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
2592         
2593         Don't use callback-based timers, since these cause Windows to eat Windows crashes
2594         in code the timers call.
2595         
2596         Windows appears to be defending against "shatter" attacks partially by setting
2597         up a structured exception block while dispatching callback-based WM_TIMERs.
2598         
2599         I verified this by adding a divide by zero into some timer callback code.
2600         In the case where the timer was dispatched via a callback, the divide by zero
2601         exception was silently handled and ignored, with execution continuing after
2602         our call to DispatchMessage.  When processed via the WNDPROC, no SEH
2603         block was established by Windows, and our divide by zero generated a real
2604         crash (which is what we wanted).
2605         
2606         Windows handling our crashes for us led us to leave the timer data structures
2607         in an invalid state so the next time a timer was set, we'd crash accessing an
2608         invalid HashMap of timer data.
2609         
2610         Reviewed by Hyatt.
2611
2612         * platform/win/SharedTimerWin.cpp:
2613         (WebCore::TimerWindowWndProc):
2614         (WebCore::setSharedTimerFireTime):
2615
2616 2007-12-06  Adam Roben  <aroben@apple.com>
2617
2618         Fix <rdar://5108390> Feed title is too low in blue banner
2619
2620         Way back in r23069 we started applying the same font ascent hack that
2621         Mac WebKit applies to Helvetica, Times, and Courier. We did this so
2622         that those fonts would match the Mac metrics when we run the
2623         regression tests. However, this hack was applying to Arial on Windows
2624         when a site would specify the Helvetica font face because Windows will
2625         alias the font names. Instead of removing the hack entirely, we
2626         turn it off by default but provide some SPI so that DumpRenderTree can
2627         turn it on.
2628
2629         Reviewed by Hyatt.
2630
2631         All tests pass.
2632
2633         * platform/graphics/FontData.h: Add a new static method to turn on the
2634         hack on Windows only.
2635         * platform/graphics/win/FontDataWin.cpp:
2636         (WebCore::FontData::setShouldApplyMacAscentHack): Added.
2637         (WebCore::FontData::platformInit): Only perform the hack if
2638         shouldApplyMacAscentHack is true.
2639
2640 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
2641
2642         Reviewed by Sam Weinig.
2643
2644         Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
2645         REGRESSION (r28470): Crash expanding a GMail conversation
2646         
2647         * page/Frame.cpp:
2648         (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
2649         we haven't created the proxy yet. If we've created the proxy already, a
2650         script may be in the midst of execution, even though we've lost our
2651         settings object. During execution, scripts assume they have free access
2652         to the proxy.
2653
2654 2007-12-06  Adele Peterson  <adele@apple.com>
2655
2656         Reviewed by Oliver.
2657
2658         Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
2659
2660         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
2661         * html/HTMLMediaElement.h:
2662
2663 2007-12-05  Antti Koivisto  <antti@apple.com>
2664
2665         Reviewed by Oliver.
2666
2667         Rename
2668
2669         Movie -> MediaPlayer
2670         MoviePrivate -> MediaPlayerPrivate
2671         
2672         Movie is QuickTime terminology and clashes with its C API.
2673
2674         * WebCore.xcodeproj/project.pbxproj:
2675         * html/HTMLMediaElement.cpp:
2676         (WebCore::HTMLMediaElement::HTMLMediaElement):
2677         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2678         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
2679         (WebCore::HTMLMediaElement::bufferingRate):
2680         (WebCore::HTMLMediaElement::load):
2681         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
2682         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
2683         (WebCore::HTMLMediaElement::setReadyState):
2684         (WebCore::HTMLMediaElement::progressEventTimerFired):
2685         (WebCore::HTMLMediaElement::seek):
2686         (WebCore::HTMLMediaElement::currentTime):
2687         (WebCore::HTMLMediaElement::duration):
2688         (WebCore::HTMLMediaElement::playbackRate):
2689         (WebCore::HTMLMediaElement::setPlaybackRate):
2690         (WebCore::HTMLMediaElement::play):
2691         (WebCore::HTMLMediaElement::pause):
2692         (WebCore::HTMLMediaElement::setVolume):
2693         (WebCore::HTMLMediaElement::setMuted):
2694         (WebCore::HTMLMediaElement::pickMedia):
2695         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2696         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
2697         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2698         (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
2699         (WebCore::HTMLMediaElement::addCuePoint):
2700         (WebCore::HTMLMediaElement::buffered):
2701         (WebCore::HTMLMediaElement::seekable):
2702         (WebCore::HTMLMediaElement::effectiveStart):
2703         (WebCore::HTMLMediaElement::effectiveEnd):
2704         (WebCore::HTMLMediaElement::effectiveLoopStart):
2705         (WebCore::HTMLMediaElement::effectiveLoopEnd):
2706         (WebCore::HTMLMediaElement::updateMediaPlayer):
2707         (WebCore::HTMLMediaElement::willSaveToCache):
2708         * html/HTMLMediaElement.h:
2709         (WebCore::HTMLMediaElement::player):
2710         * html/HTMLVideoElement.cpp:
2711         (WebCore::HTMLVideoElement::videoWidth):
2712         (WebCore::HTMLVideoElement::videoHeight):
2713         * platform/MIMETypeRegistry.cpp:
2714         (WebCore::initialiseSupportedMediaMIMETypes):
2715         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
2716         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
2717         * platform/MIMETypeRegistry.h:
2718         * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
2719         (WebCore::MediaPlayer::MediaPlayer):
2720         (WebCore::MediaPlayer::~MediaPlayer):
2721         (WebCore::MediaPlayer::load):
2722         (WebCore::MediaPlayer::cancelLoad):
2723         (WebCore::MediaPlayer::play):
2724         (WebCore::MediaPlayer::pause):
2725         (WebCore::MediaPlayer::duration):
2726         (WebCore::MediaPlayer::currentTime):
2727         (WebCore::MediaPlayer::seek):
2728         (WebCore::MediaPlayer::paused):
2729         (WebCore::MediaPlayer::seeking):
2730         (WebCore::MediaPlayer::naturalSize):
2731         (WebCore::MediaPlayer::hasVideo):
2732         (WebCore::MediaPlayer::networkState):
2733         (WebCore::MediaPlayer::readyState):
2734         (WebCore::MediaPlayer::volume):
2735         (WebCore::MediaPlayer::setVolume):
2736         (WebCore::MediaPlayer::rate):
2737         (WebCore::MediaPlayer::setRate):
2738         (WebCore::MediaPlayer::muted):
2739         (WebCore::MediaPlayer::setMuted):
2740         (WebCore::MediaPlayer::dataRate):
2741         (WebCore::MediaPlayer::setEndTime):
2742         (WebCore::MediaPlayer::addCuePoint):
2743         (WebCore::MediaPlayer::removeCuePoint):
2744         (WebCore::MediaPlayer::clearCuePoints):
2745         (WebCore::MediaPlayer::maxTimeBuffered):
2746         (WebCore::MediaPlayer::maxTimeSeekable):
2747         (WebCore::MediaPlayer::bytesLoaded):
2748         (WebCore::MediaPlayer::totalBytesKnown):
2749         (WebCore::MediaPlayer::totalBytes):
2750         (WebCore::MediaPlayer::setRect):
2751         (WebCore::MediaPlayer::visible):
2752         (WebCore::MediaPlayer::setVisible):
2753         (WebCore::MediaPlayer::paint):
2754         (WebCore::MediaPlayer::getSupportedTypes):
2755         (WebCore::MediaPlayer::networkStateChanged):
2756         (WebCore::MediaPlayer::readyStateChanged):
2757         (WebCore::MediaPlayer::volumeChanged):
2758         (WebCore::MediaPlayer::timeChanged):
2759         (WebCore::MediaPlayer::cuePointReached):
2760         * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
2761         (WebCore::MediaPlayerClient::~MediaPlayerClient):
2762         (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
2763         (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
2764         (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
2765         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
2766         (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
2767         * platform/graphics/Movie.cpp: Removed.
2768         * platform/graphics/Movie.h: Removed.
2769         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
2770         (WebCore::mediaPlayerPrivateErrorCallback):
2771         (WebCore::mediaPlayerPrivateEOSCallback):
2772         (WebCore::mediaPlayerPrivateStateCallback):
2773         (WebCore::mediaPlayerPrivateBufferingCallback):
2774         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2775         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2776         (WebCore::MediaPlayerPrivate::load):
2777         (WebCore::MediaPlayerPrivate::play):
2778         (WebCore::MediaPlayerPrivate::pause):
2779         (WebCore::MediaPlayerPrivate::duration):
2780         (WebCore::MediaPlayerPrivate::currentTime):
2781         (WebCore::MediaPlayerPrivate::seek):
2782         (WebCore::MediaPlayerPrivate::setEndTime):
2783         (WebCore::MediaPlayerPrivate::addCuePoint):
2784         (WebCore::MediaPlayerPrivate::removeCuePoint):
2785         (WebCore::MediaPlayerPrivate::clearCuePoints):
2786         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
2787         (WebCore::MediaPlayerPrivate::cancelSeek):
2788         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
2789         (WebCore::MediaPlayerPrivate::paused):
2790         (WebCore::MediaPlayerPrivate::seeking):
2791         (WebCore::MediaPlayerPrivate::naturalSize):
2792         (WebCore::MediaPlayerPrivate::hasVideo):
2793         (WebCore::MediaPlayerPrivate::setVolume):
2794         (WebCore::MediaPlayerPrivate::setMuted):
2795         (WebCore::MediaPlayerPrivate::setRate):
2796         (WebCore::MediaPlayerPrivate::dataRate):
2797         (WebCore::MediaPlayerPrivate::networkState):
2798         (WebCore::MediaPlayerPrivate::readyState):
2799         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2800         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2801         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2802         (WebCore::MediaPlayerPrivate::bytesLoaded):
2803         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2804         (WebCore::MediaPlayerPrivate::totalBytes):
2805         (WebCore::MediaPlayerPrivate::cancelLoad):
2806         (WebCore::MediaPlayerPrivate::updateStates):
2807         (WebCore::MediaPlayerPrivate::loadStateChanged):
2808         (WebCore::MediaPlayerPrivate::rateChanged):
2809         (WebCore::MediaPlayerPrivate::sizeChanged):
2810         (WebCore::MediaPlayerPrivate::timeChanged):
2811         (WebCore::MediaPlayerPrivate::volumeChanged):
2812         (WebCore::MediaPlayerPrivate::didEnd):
2813         (WebCore::MediaPlayerPrivate::loadingFailed):
2814         (WebCore::MediaPlayerPrivate::setRect):
2815         (WebCore::MediaPlayerPrivate::setVisible):
2816         (WebCore::MediaPlayerPrivate::paint):
2817         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2818         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
2819         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
2820         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
2821         * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
2822         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
2823         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
2824         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2825         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2826         (WebCore::MediaPlayerPrivate::createQTMovie):
2827         (WebCore::MediaPlayerPrivate::createQTMovieView):
2828         (WebCore::MediaPlayerPrivate::createQTTime):
2829         (WebCore::MediaPlayerPrivate::load):
2830         (WebCore::MediaPlayerPrivate::play):
2831         (WebCore::MediaPlayerPrivate::pause):
2832         (WebCore::MediaPlayerPrivate::duration):
2833         (WebCore::MediaPlayerPrivate::currentTime):
2834         (WebCore::MediaPlayerPrivate::seek):
2835         (WebCore::MediaPlayerPrivate::doSeek):
2836         (WebCore::MediaPlayerPrivate::cancelSeek):
2837         (WebCore::MediaPlayerPrivate::seekTimerFired):
2838         (WebCore::MediaPlayerPrivate::setEndTime):
2839         (WebCore::MediaPlayerPrivate::addCuePoint):
2840         (WebCore::MediaPlayerPrivate::removeCuePoint):
2841         (WebCore::MediaPlayerPrivate::clearCuePoints):
2842         (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
2843         (WebCore::MediaPlayerPrivate::cuePointTimerFired):
2844         (WebCore::MediaPlayerPrivate::paused):
2845         (WebCore::MediaPlayerPrivate::seeking):
2846         (WebCore::MediaPlayerPrivate::naturalSize):
2847         (WebCore::MediaPlayerPrivate::hasVideo):
2848         (WebCore::MediaPlayerPrivate::setVolume):
2849         (WebCore::MediaPlayerPrivate::setMuted):
2850         (WebCore::MediaPlayerPrivate::setRate):
2851         (WebCore::MediaPlayerPrivate::dataRate):
2852         (WebCore::MediaPlayerPrivate::networkState):
2853         (WebCore::MediaPlayerPrivate::readyState):
2854         (WebCore::MediaPlayerPrivate::maxTimeBuffered):
2855         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2856         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2857         (WebCore::MediaPlayerPrivate::bytesLoaded):
2858         (WebCore::MediaPlayerPrivate::totalBytesKnown):
2859         (WebCore::MediaPlayerPrivate::totalBytes):
2860         (WebCore::MediaPlayerPrivate::cancelLoad):
2861         (WebCore::MediaPlayerPrivate::updateStates):
2862         (WebCore::MediaPlayerPrivate::loadStateChanged):
2863         (WebCore::MediaPlayerPrivate::rateChanged):
2864         (WebCore::MediaPlayerPrivate::sizeChanged):
2865         (WebCore::MediaPlayerPrivate::timeChanged):
2866         (WebCore::MediaPlayerPrivate::volumeChanged):
2867         (WebCore::MediaPlayerPrivate::didEnd):
2868         (WebCore::MediaPlayerPrivate::setRect):
2869         (WebCore::MediaPlayerPrivate::setVisible):
2870         (WebCore::MediaPlayerPrivate::paint):
2871         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2872         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
2873         * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
2874         * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
2875         * rendering/RenderMedia.cpp:
2876         (WebCore::RenderMedia::player):
2877         * rendering/RenderMedia.h:
2878         * rendering/RenderVideo.cpp:
2879         (WebCore::RenderVideo::RenderVideo):
2880         (WebCore::RenderVideo::~RenderVideo):
2881         (WebCore::RenderVideo::videoSizeChanged):
2882         (WebCore::RenderVideo::paintReplaced):
2883         (WebCore::RenderVideo::layout):
2884         (WebCore::RenderVideo::updateFromElement):
2885         (WebCore::RenderVideo::updatePlayer):
2886         * rendering/RenderVideo.h:
2887
2888 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
2889
2890         Build fix: access global object directly.
2891
2892         * plugins/win/PluginViewWin.cpp:
2893         (WebCore::PluginViewWin::bindingInstance):
2894
2895 2007-12-06  Mark Rowe  <mrowe@apple.com>
2896
2897         Reviewed by Eric.
2898
2899         Fix bug spotted by GCC 4.2.
2900
2901         * bindings/js/kjs_window.cpp:
2902         (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
2903
2904 2007-12-06  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2905
2906         Reviewed by Alp Toker.
2907
2908         http://bugs.webkit.org/show_bug.cgi?id=16173
2909         Licensing change
2910
2911         Change license from BSD to LGPL.
2912
2913         * platform/gtk/FileSystemGtk.cpp:
2914
2915 2007-12-05  Rob Buis  <buis@kde.org>
2916
2917         Reviewed by Mitz.
2918
2919         http://bugs.webkit.org/show_bug.cgi?id=15289
2920         WebKit does not respect clip paths of a 0x0 rect
2921
2922         Make empty clip paths clip the whole referencing graphic.
2923
2924         * svg/SVGClipPathElement.cpp:
2925         (WebCore::SVGClipPathElement::canvasResource):
2926         * svg/graphics/SVGResourceClipper.h:
2927         (WebCore::ClipDataList::isEmpty):
2928
2929 2007-12-05  Darin Adler  <darin@apple.com>
2930
2931         Reviewed by Maciej.
2932
2933         - fix http://bugs.webkit.org/show_bug.cgi?id=16266
2934           <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
2935           Interpreter::createObjectsForGlobalObjectProperties()
2936
2937         I don't know how to reproduce this in a test.
2938
2939         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
2940         Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
2941         right now, but it's best to call your base class, not your base's base.
2942
2943         * bindings/js/kjs_events.h: Removed unneeded virtual from the
2944         JSUnprotectedEventListener::mark() function; it neither derives from or is
2945         derived from anyone else with a mark() function so there's no need for virtual.
2946
2947         * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
2948         not JSObject::mark. This is the actual bug fix.
2949
2950 2007-12-05  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
2951
2952         http://bugs.webkit.org/show_bug.cgi?id=16145
2953         [gtk] Implement media support in GTK backend
2954
2955         Reviewed by Alp Toker.
2956
2957         Remove old comments, fix variable names, match WebKit coding style.
2958
2959         * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
2960         (WebCore::moviePrivateEOSCallback):
2961         (WebCore::MoviePrivate::MoviePrivate):
2962         (WebCore::MoviePrivate::load):
2963         (WebCore::MoviePrivate::play):
2964         (WebCore::MoviePrivate::pause):
2965         (WebCore::MoviePrivate::currentTime):
2966         (WebCore::MoviePrivate::seek):
2967         (WebCore::MoviePrivate::cancelSeek):
2968         (WebCore::MoviePrivate::seeking):
2969         (WebCore::MoviePrivate::naturalSize):
2970         (WebCore::MoviePrivate::setVolume):
2971         (WebCore::MoviePrivate::setMuted):
2972         (WebCore::MoviePrivate::maxTimeBuffered):
2973         (WebCore::MoviePrivate::bytesLoaded):
2974         (WebCore::MoviePrivate::totalBytesKnown):
2975         (WebCore::MoviePrivate::totalBytes):
2976         (WebCore::MoviePrivate::updateStates):
2977         (WebCore::MoviePrivate::didEnd):
2978         (WebCore::MoviePrivate::paint):
2979         (WebCore::MoviePrivate::createGSTPlayBin):
2980         * platform/graphics/gtk/MoviePrivateGStreamer.h:
2981
2982 2007-12-05  Mark Rowe  <mrowe@apple.com>
2983
2984         Speculative wx build fix.  Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
2985
2986         * platform/wx/TemporaryLinkStubs.cpp:
2987
2988 2007-12-05  Alp Toker  <alp@atoker.com>
2989
2990         Rubber stamped by Mark Rowe.
2991
2992         Remove DEPENDPATH on the generated sources directory. This causes
2993         trouble and is no longer necessary following the glib-genmarshal
2994         generator split.
2995
2996         * WebCore.pro:
2997
2998 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
2999
3000         Reviewed by Darin Adler.
3001
3002         Third step in refactoring JSGlobalObject: Moved data members and data
3003         member access from Interpreter to JSGlobalObject. Changed Interpreter
3004         member functions to static functions. Same for the subclass, 
3005         ScriptInterpreter.
3006         
3007         This is a big change, but it's mostly code motion and renaming.
3008         
3009 2007-12-05  Darin Adler  <darin@apple.com>
3010
3011         "Reviewed" by Geoff.
3012
3013         * loader/FrameLoader.cpp:
3014         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
3015         (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
3016         The assertions are firing like crazy. Not sure why yet.
3017
3018 2007-12-05  Darin Adler  <darin@apple.com>
3019
3020         Reviewed by Adam Roben.
3021
3022         - fix http://bugs.webkit.org/show_bug.cgi?id=16306
3023           Assertion failed in WebCore/loader/FrameLoader.cpp:4642
3024
3025         * loader/FrameLoader.cpp:
3026         (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
3027         and don't deliver the client call in that case.
3028
3029 2007-12-05  Mark Rowe  <mrowe@apple.com>
3030
3031         Reviewed by Kevin Decker.
3032
3033         Fix 64-bit debug build.
3034
3035         * platform/text/mac/TextCodecMac.cpp:
3036         (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
3037         so we need to cast it to be able to use a single format specifier on both.
3038
3039 2007-12-05  Kevin Decker  <kdecker@apple.com>
3040
3041         Reviewed by Hyatt.
3042
3043         <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
3044        
3045         * loader/FrameLoader.cpp:
3046         (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
3047         takeover TIFF once again.
3048         
3049 2007-12-05  Luca Bruno  <lethalman88@gmail.com>
3050
3051         Reviewed by Alp Toker.
3052
3053         http://bugs.webkit.org/show_bug.cgi?id=16290
3054         [GTK] Pasting clipboard in rich text.
3055
3056         * platform/gtk/PasteboardGtk.cpp:
3057         (Pasteboard::documentFragment): Implement rich text paste support.
3058
3059 2007-12-05  Adele Peterson  <adele@apple.com>
3060
3061         Reviewed by Hyatt.
3062
3063         Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3064
3065         We need to just fix the underlying focus ring repaint problem.
3066
3067         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
3068
3069 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
3070
3071         Reviewed by Darin.
3072
3073         - <rdar://5621435>
3074         - Security Fix. Instead of having it off by default, WebKit now must
3075         explicitly turn off local-resource restriction when needed for backwards
3076         compatibility reasons.
3077
3078         * loader/FrameLoader.cpp:
3079
3080 2007-12-05  Adam Roben  <aroben@apple.com>
3081
3082         Set the menu item identifier for all menu items
3083
3084         This allows WebKit clients to distinguish between submenus in the
3085         context menu.
3086
3087         Reviewed by Darin.
3088
3089         No test possible.
3090
3091         * platform/win/ContextMenuItemWin.cpp:
3092         (WebCore::ContextMenuItem::ContextMenuItem):
3093
3094 2007-12-05  Dan Bernstein  <mitz@apple.com>
3095
3096         Reviewed by Darin Adler.
3097
3098         - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
3099
3100         * manual-tests/nested-plug-ins.html: Added.
3101         * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
3102         * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
3103         * platform/ScrollView.h:
3104         * platform/Widget.h:
3105         (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
3106         via visible ScrollViews to the root ScrollView of the WebView.
3107         (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
3108         connected via visible ScrollViews to the root ScrollView of the WebView.
3109         * platform/win/ScrollViewWin.cpp:
3110         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
3111         m_visible and m_attachedToWindow members.
3112         (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
3113         view is visible.
3114         (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
3115         view is visible (otherwise they would be detached already).
3116         (WebCore::ScrollView::show): Added. Attaches all children if this view
3117         is attached.
3118         (WebCore::ScrollView::hide): Added. Detaches all children if this view
3119         is attached (otherwise they would be detached already).
3120         (WebCore::ScrollView::isAttachedToWindow): Added.
3121         * platform/win/WidgetWin.cpp:
3122         (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
3123         depending on whether the parent is set and attached or not.
3124         * plugins/win/PluginViewWin.cpp:
3125         (WebCore::PluginViewWin::setFocus):
3126         (WebCore::PluginViewWin::show): Changed to show the plug-in only if
3127         this view is attached.
3128         (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
3129         view is attached (otherwise it would be hidden already).
3130         (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
3131         is visible.
3132         (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
3133         is visible (otherwise it would be hidden already).
3134         (WebCore::PluginViewWin::PluginViewWin):
3135         * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
3136
3137 2007-12-04  Alp Toker  <alp@atoker.com>
3138
3139         Potential GTK+ build fix for the glib-genmarshal issue.
3140
3141         Split the glib-genmarshal qmake generator in two; one for the source
3142         file, another for the header.
3143
3144         * WebCore.pro:
3145
3146 2007-12-04  Alp Toker  <alp@atoker.com>
3147
3148         GTK+ build fix.
3149
3150         * platform/PlugInInfoStore.h:
3151
3152 2007-12-04  Kevin Decker  <kdecker@apple.com>
3153
3154         Reviewed by Anders.
3155
3156         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
3157
3158         * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
3159         * platform/PlugInInfoStore.h:
3160         * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
3161         (PlugInInfoStore::pluginNameForMIMEType):
3162         * platform/mac/PlugInInfoStoreMac.mm:
3163         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
3164         * platform/qt/PlugInInfoStoreQt.cpp: 
3165         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
3166         * plugins/win/PlugInInfoStoreWin.cpp: 
3167         (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
3168
3169 2007-12-04  Adele Peterson  <adele@apple.com>
3170
3171         Reviewed by Darin.
3172
3173         Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3174
3175         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
3176         Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
3177
3178 2007-12-04  Anders Carlsson  <andersca@apple.com>
3179
3180         Reviewed by Jon.
3181
3182         Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
3183         result streams, even if the JavaScript expression threw an exception or returned undefined.
3184         This matches what Firefox does.
3185         
3186         * plugins/win/PluginStreamWin.cpp:
3187         (WebCore::PluginStreamWin::sendJavaScriptStream):
3188         Handle the result string being null, and set the correct NPReason if it is.
3189         
3190         * plugins/win/PluginViewWin.cpp:
3191         (WebCore::PluginViewWin::performRequest):
3192         Always send the JavaScript stream, regardless of the result could be converted to a string or not.
3193
3194 2007-12-04  Adele Peterson  <adele@apple.com>
3195
3196         Reviewed by Hyatt.
3197
3198         Fix for <rdar://problem/5622464> controls should show up for audio element
3199
3200         * css/html4.css: Added styles for audio controls.  This will need to be refined, since we may want a different look for audio controls.
3201         * html/HTMLMediaElement.cpp:
3202         (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. 
3203         (WebCore::HTMLMediaElement::rendererIsNeeded): Added.
3204         (WebCore::HTMLMediaElement::createRenderer): Added.  Uses RenderMedia.
3205         * html/HTMLMediaElement.h:
3206         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
3207         * rendering/RenderMedia.h:
3208
3209 2007-12-04  Anders Carlsson  <andersca@apple.com>
3210
3211         Reviewed by Sam.
3212
3213         Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
3214         implementation, which always returns true(!).
3215         
3216         * bindings/js/kjs_window.cpp:
3217         (KJS::Window::isSafeScript):
3218         Make the static isSafeScript method take two JSGlobalObjects.
3219         
3220         * bindings/js/kjs_window.h:
3221         (KJS::Window::isSafeScript):
3222         Implement isSafeScript and have it call the static method.
3223
3224 2007-11-27  Adam Roben  <aroben@apple.com>
3225
3226         Make the implementation of Frame::setNeedsReapplyStyles cross-platform
3227
3228         Reviewed by Hyatt.
3229
3230         No change in functionality.
3231
3232         * page/Frame.cpp:
3233         (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
3234         FrameView so that FrameView::layout will be called, which ends up
3235         calling reapplyStyles.
3236         (WebCore::Frame::needsReapplyStyles): Added.
3237         (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
3238         (WebCore::FramePrivate::FramePrivate):
3239         * page/Frame.h:
3240         * page/FramePrivate.h: Added new boolean member.
3241         * page/FrameView.cpp:
3242         (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
3243         (WebCore::FrameView::needsLayout): Say that we need layout if the
3244         Frame needs styles reapplied.
3245         * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
3246         * page/mac/WebCoreFrameBridge.mm:
3247         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
3248         rename.
3249
3250         * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
3251         * page/gtk/FrameGtk.cpp: Ditto.
3252         * page/mac/FrameMac.mm: Ditto.
3253         * page/qt/FrameQt.cpp: Ditto.
3254         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
3255
3256 2007-12-04  Antti Koivisto  <antti@apple.com>
3257
3258         Reviewed by Adele.
3259
3260         Pass intrinsic size to the base class.
3261
3262         * rendering/RenderMedia.cpp:
3263         (WebCore::RenderMedia::RenderMedia):
3264
3265 2007-12-04  Adele Peterson  <adele@apple.com>
3266
3267         Reviewed by Darin.
3268
3269         Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
3270
3271         * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
3272           When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
3273
3274 2007-12-04  Darin Adler  <darin@apple.com>
3275
3276         Reviewed by Kevin Decker.
3277
3278         - added an assertion for a situation that leads to a Safari assertion:
3279           a commit that is not followed by a load completion
3280
3281         - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
3282           class cut down to size
3283
3284         * loader/FrameLoader.cpp:
3285         (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
3286         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
3287         that we already sent a commit before sending a complete.
3288         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
3289         client directly instead of indirecting through a function.
3290         (WebCore::FrameLoader::loadItem): Ditto.
3291         (WebCore::FrameLoader::goToItem): Ditto.
3292         (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
3293         state from Settings instead of FrameLoaderClient. Also call client directly
3294         instead of indirecting through a function.
3295         (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
3296         of indirecting through a function.
3297         (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
3298         that we did not yet send a commit and set the flag that will be used to check
3299         that we don't do this twice in a row without an intervening completion call.
3300
3301         * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
3302         now-unneeded functions.
3303
3304         * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
3305
3306         * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
3307         the private browsing state from Settings instead of FrameLoaderClient.
3308
3309         * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
3310
3311 2007-12-03  Antti Koivisto  <antti@apple.com>
3312
3313         Reviewed by Adele.
3314         
3315         Fix <rdar://problem/5624802> 
3316         Controller displays outside of <video> element when width and height aren't specified 
3317
3318         - Explicitly adjust size of the controls tree root.
3319         - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
3320           by hand. This also allows better code sharing with other replaced element classes.
3321         - Move duplicated layout and painting code from subclasses up to RenderReplaced.
3322
3323         Test: media/video-controls-rendering.html
3324
3325         * rendering/RenderHTMLCanvas.cpp:
3326         (WebCore::RenderHTMLCanvas::paintReplaced):
3327         * rendering/RenderHTMLCanvas.h:
3328             Share code.
3329         * rendering/RenderImage.cpp:
3330         (WebCore::RenderImage::paintReplaced):
3331         (WebCore::RenderImage::minimumReplacedHeight):
3332         * rendering/RenderImage.h:
3333             Share code.
3334         * rendering/RenderMedia.cpp:
3335         (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
3336         (WebCore::RenderMediaControlShadowRoot::setParent):
3337             Add a subclass just to get through encapsulation to use setParent().
3338         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
3339             Move initialization to the constructor.
3340         (WebCore::RenderMedia::RenderMedia):
3341         (WebCore::RenderMedia::~RenderMedia):
3342         (WebCore::RenderMedia::layout):
3343             Resize and layout the controller root by hand.
3344         (WebCore::RenderMedia::firstChild):
3345         (WebCore::RenderMedia::lastChild):
3346         (WebCore::RenderMedia::removeChild):
3347             Support one child renderer for controls.
3348         (WebCore::RenderMedia::createControlsShadowRoot):
3349         * rendering/RenderMedia.h:
3350         (WebCore::RenderMedia::isMedia):
3351             Switch base class to RenderReplaced, delete the now unnecessary stuff.
3352         * rendering/RenderReplaced.cpp:
3353         (WebCore::RenderReplaced::layout):
3354         (WebCore::RenderReplaced::paint):
3355         * rendering/RenderReplaced.h:
3356         (WebCore::RenderReplaced::minimumReplacedHeight):
3357         (WebCore::RenderReplaced::paintReplaced):
3358             Share code.
3359         * rendering/RenderVideo.cpp:
3360         (WebCore::RenderVideo::videoSizeChanged):
3361             Simplify, just request relayout.
3362         (WebCore::RenderVideo::paintReplaced):
3363         (WebCore::RenderVideo::layout):
3364         * rendering/RenderVideo.h:
3365             Share code.
3366
3367 2007-12-04  Michael Natterer  <mitch@imendio.com>
3368
3369         Reviewed by Alp Toker.
3370
3371         * WebCore.pro: fix build of webkit-marshal by building the
3372         functions into a separate .cpp file instead of including them in
3373         the header. This way we can use the marshallers from more than one
3374         file without using bad hacks.
3375
3376         Add the generated sources directory to DEPENDPATH.
3377
3378 2007-12-04  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
3379
3380         Reviewed by Alp Toker.
3381
3382         http://bugs.webkit.org/show_bug.cgi?id=16145
3383         [gtk] Implement media support in GTK backend
3384
3385         This implements the media tags of HTML5 on the GTK+ port based on the 
3386         Mac port. Media tests pass although some tests required a small modifications: 
3387         As per the HTML5 spec, the loading of the clip should start only after 
3388         all script are done.  But in the case of the tests, the loading starts 
3389         before some callbacks get registered.  This has been discussed with 
3390         Antti Koivisto, and the tests should be updated.
3391
3392         There is only one known issue: one time in 10 tries, loading a buffered 
3393         clip will never end buffering.  The buffering will stall at 97% for no 
3394         apparent reasons.  Reloading the page usually works around the problem.
3395         On the GStreamer side, some codecs don't return correct values, therefore
3396         they make the tests fail.  For instance H.264 will make the video-end 
3397         test fail.  This should be fixed in GStreamer 0.10.15.
3398
3399         This version displays video in a pop up window.  A place holder is drawn
3400         on the page where the video should appear.
3401
3402         By default, it is turned off in WebCore.pro until GStreamer/X
3403         detection issues are sorted out.
3404
3405         * WebCore.pro:
3406         Disable video for now
3407         * platform/Logging.cpp:
3408         (WebCore::):
3409         * platform/Logging.h:
3410         Added a logging level for Media stuff
3411         * platform/graphics/Movie.cpp:
3412         * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
3413         (WebCore::moviePrivateErrorCallback):
3414         (WebCore::moviePrivateEOSCallback):
3415         (WebCore::moviePrivateStateCallback):
3416         (WebCore::moviePrivateBufferingCallback):
3417         (WebCore::moviePrivateWindowIDCallback):
3418         (WebCore::MoviePrivate::MoviePrivate):
3419         (WebCore::MoviePrivate::~MoviePrivate):
3420         (WebCore::MoviePrivate::load):
3421         (WebCore::MoviePrivate::play):
3422         (WebCore::MoviePrivate::pause):
3423         (WebCore::MoviePrivate::duration):
3424         (WebCore::MoviePrivate::currentTime):
3425         (WebCore::MoviePrivate::seek):
3426         (WebCore::MoviePrivate::setEndTime):
3427         (WebCore::MoviePrivate::addCuePoint):
3428         (WebCore::MoviePrivate::removeCuePoint):
3429         (WebCore::MoviePrivate::clearCuePoints):
3430         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
3431         (WebCore::MoviePrivate::cancelSeek):
3432         (WebCore::MoviePrivate::cuePointTimerFired):
3433         (WebCore::MoviePrivate::paused):
3434         (WebCore::MoviePrivate::seeking):
3435         (WebCore::MoviePrivate::naturalSize):
3436         (WebCore::MoviePrivate::hasVideo):
3437         (WebCore::MoviePrivate::setVolume):
3438         (WebCore::MoviePrivate::setMuted):
3439         (WebCore::MoviePrivate::setRate):
3440         (WebCore::MoviePrivate::dataRate):
3441         (WebCore::MoviePrivate::networkState):
3442         (WebCore::MoviePrivate::readyState):
3443         (WebCore::MoviePrivate::maxTimeBuffered):
3444         (WebCore::MoviePrivate::maxTimeSeekable):
3445         (WebCore::MoviePrivate::maxTimeLoaded):
3446         (WebCore::MoviePrivate::bytesLoaded):
3447         (WebCore::MoviePrivate::totalBytesKnown):
3448         (WebCore::MoviePrivate::totalBytes):
3449         (WebCore::MoviePrivate::cancelLoad):
3450         (WebCore::MoviePrivate::updateStates):
3451         (WebCore::MoviePrivate::loadStateChanged):
3452         (WebCore::MoviePrivate::rateChanged):
3453         (WebCore::MoviePrivate::sizeChanged):
3454         (WebCore::MoviePrivate::timeChanged):
3455         (WebCore::MoviePrivate::volumeChanged):
3456         (WebCore::MoviePrivate::didEnd):
3457         (WebCore::MoviePrivate::loadingFailed):
3458         (WebCore::MoviePrivate::setRect):
3459         (WebCore::MoviePrivate::setVisible):
3460         (WebCore::MoviePrivate::paint):
3461         (WebCore::MoviePrivate::getSupportedTypes):
3462         (WebCore::MoviePrivate::createGSTPlayBin):
3463         * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
3464
3465 2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3466
3467         Reviewed by Simon.
3468
3469         * Implement the InspectorClient for the Qt port
3470         * It does not support highlighting of nodes yet
3471         * Use QRC to open the internal page. The important thing is the
3472         '/' in the URL to make WebCore::Document::completeURL behave the
3473         way we want.
3474         * To make the InspectorClient work we will have to mark qrc as secure.
3475
3476         * WebCore.pro:
3477         * loader/FrameLoader.cpp:
3478         (WebCore::localSchemes):
3479         * page/inspector/WebKit.qrc: Added.
3480
3481 2007-12-04  Alp Toker  <alp@atoker.com>
3482
3483         Rubber stamped by Mark Rowe.
3484
3485         Remove two unused variables to silence warnings.
3486
3487         * html/CanvasRenderingContext2D.cpp:
3488         (WebCore::CanvasRenderingContext2D::fill):
3489         (WebCore::CanvasRenderingContext2D::stroke):
3490
3491 2007-12-03  Dan Bernstein  <mitz@apple.com>
3492
3493         Reviewed by Darin Adler.
3494
3495         - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
3496
3497         * platform/win/ScrollViewWin.cpp:
3498         (WebCore::ScrollView::visibleWidth): Do not return negative values.
3499         (WebCore::ScrollView::visibleHeight): Ditto.
3500
3501 2007-12-03  Dan Bernstein  <mitz@apple.com>
3502
3503         Reviewed by Dave Hyatt.
3504
3505         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
3506
3507         Test: fast/events/resize-subframe.html
3508
3509         * page/FrameView.cpp:
3510         (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
3511         deferring tasks that need to be done after layout.
3512         (WebCore::FrameViewPrivate::reset):
3513         (WebCore::FrameView::~FrameView):
3514         (WebCore::FrameView::layout): Moved the updating of widget positions,
3515         loading plug-ins and sending events queued up during layout into
3516         performPostLayoutTasks(). performPostLayoutTasks() is called after
3517         layout unless the layout was triggered by a previous layout's post-
3518         layout tasks. In the latter case, performPostLayoutTasks() is scheduled
3519         to run later.
3520         (WebCore::FrameView::performPostLayoutTasks): Performs work that needs
3521         to be done after layout but which can result in arbitrary code
3522         execution and therefore may re-invalidate the layout. This includes
3523         updating widget positions, loading plug-ins, and dispatching layout-
3524         related DOM events (scroll, overflow and resize).
3525         (WebCore::FrameView::postLayoutTimerFired):
3526         (WebCore::FrameView::dispatchScheduledEvents):
3527         * page/FrameView.h:
3528         * page/mac/WebCoreFrameBridge.h:
3529         * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
3530         is handled by FrameView now.
3531
3532 2007-12-03  Rob Buis  <buis@kde.org>
3533
3534         Reviewed by Darin.
3535
3536         http://bugs.webkit.org/show_bug.cgi?id=15767
3537         Text decorations do not respect "visibility" property
3538
3539         Only paint decorations if visibility is "visible".
3540
3541         * rendering/SVGInlineTextBox.cpp:
3542         (WebCore::SVGInlineTextBox::paintDecoration):
3543
3544 2007-12-03  Steve Falkenburg  <sfalken@apple.com>
3545
3546         Fix build.
3547
3548         * WebCore.vcproj/WebCore.vcproj:
3549
3550 2007-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
3551
3552         Reviewed by David.
3553
3554         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
3555         Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
3556
3557         * css/CSSStyleSelector.cpp:
3558         (WebCore::CSSStyleSelector::checkSelector):
3559
3560 2007-12-03  Dan Bernstein  <mitz@apple.com>
3561
3562         Reviewed by Adam Roben.
3563
3564         - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
3565
3566         Test: fast/dom/Document/replaceChild-null-oldChild.html
3567
3568         * dom/Document.cpp:
3569         (WebCore::Document::canReplaceChild):
3570
3571 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3572
3573         Reviewed by Simon.
3574
3575         * Avoid crashes by making sure everything is layouted before
3576         we start painting. This avoids a crash in Widget::invalidateRect
3577         because QPainter::begin would fail
3578         * The QWebFrame::layout() methods and calls are left untouched because
3579         this would be an API decision.
3580         
3581
3582         WARNING: NO TEST CASES ADDED OR CHANGED
3583
3584         * page/FrameView.cpp:
3585         (WebCore::FrameView::updateControlTints):
3586         * page/FrameView.h:
3587         * platform/ScrollView.h:
3588         * platform/qt/ScrollViewQt.cpp:
3589         (WebCore::ScrollView::children):
3590
3591 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3592
3593         Reviewed by Simon.
3594
3595         * Implement GraphicsContext::fillRoundedRect similiar to the
3596         CoreGraphics implementation only addPath is not called this
3597         seems to be only needed for CoreGraphics.
3598         
3599
3600         WARNING: NO TEST CASES ADDED OR CHANGED
3601
3602         * platform/graphics/qt/GraphicsContextQt.cpp:
3603         (WebCore::GraphicsContext::fillRoundedRect):
3604
3605 2007-12-03  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3606
3607         Reviewed by Simon.
3608
3609         * Coding Style fixes
3610         
3611
3612         WARNING: NO TEST CASES ADDED OR CHANGED
3613
3614         * platform/qt/ScrollViewQt.cpp:
3615         (WebCore::ScrollView::addChild):
3616         (WebCore::ScrollView::removeChild):
3617
3618 2007-12-03  Alp Toker  <alp@atoker.com>
3619
3620         Reviewed by Mark Rowe.
3621
3622         Don't delete the decoder if it's already been created. The one we have
3623         is fine.
3624
3625         Cairo image cleanups. Nothing substantial.
3626
3627         Notify ImageObservers where appropriate.
3628
3629         * platform/graphics/cairo/ImageCairo.cpp:
3630         (WebCore::BitmapImage::draw):
3631         (WebCore::Image::drawPattern):
3632         * platform/graphics/cairo/ImageSourceCairo.cpp:
3633         (WebCore::ImageSource::setData):
3634         * platform/graphics/gtk/ImageGtk.cpp:
3635
3636 2007-12-03  Simon Hausmann  <hausmann@webkit.org>
3637
3638         Reviewed by Lars.
3639
3640         Fixed crash when rendering form elements with Qt 4.4
3641
3642         QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
3643         help of QPaintDevice::devType().
3644         Also fall back to the QApplication::style() if we don't have a widget.
3645
3646         * platform/qt/RenderThemeQt.cpp:
3647         (WebCore::RenderThemeQt::paintButton):
3648         (WebCore::RenderThemeQt::paintTextField):
3649         (WebCore::RenderThemeQt::paintMenuList):
3650         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
3651
3652 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3653
3654         Reviewed by Sam Weinig.
3655
3656         * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
3657         shouldTreatURLAsLocal.
3658         * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
3659         and do not hardcode "file". This is needed for the WebKit/qt port to make
3660         the Web Inspector work as it using the qrc protocol instead of file.
3661
3662
3663         * loader/FrameLoader.cpp:
3664         (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
3665         * loader/FrameLoader.h:
3666         * platform/SecurityOrigin.cpp:
3667         (WebCore::SecurityOrigin::isSecureTransitionTo):
3668
3669 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3670
3671         Rubber stamped by Sam Weinig.
3672
3673         Only add applewebdata to the localSchemes when building for the
3674         mac. This is in preparation of adding qrc for the Qt port there
3675         as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
3676
3677         According to Anders applewebdata is not used on the win port.
3678
3679         * loader/FrameLoader.cpp:
3680         (WebCore::localSchemes):
3681
3682 2007-12-02  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3683
3684         Rubber stamped by Sam Weinig.
3685
3686         Fix a typo. It is contains and not containts
3687
3688         * loader/FrameLoader.cpp:
3689
3690 2007-12-03  Alp Toker  <alp@atoker.com>
3691
3692         Add another missing DEPENDPATH.
3693
3694         Noticed when fixing the build.
3695
3696         * WebCore.pro:
3697
3698 2007-12-03  Adam Roben  <aroben@apple.com>
3699
3700         Speculative Windows build fix
3701
3702         * plugins/win/PluginViewWin.cpp:
3703         (WebCore::getString):
3704
3705 2007-12-03  Geoffrey Garen  <ggaren@apple.com>
3706
3707         Build fix: added symbols to the right .exp file.
3708
3709         * WebCore.base.exp:
3710
3711 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
3712
3713         Reviewed by Eric Seidel.
3714
3715         Updated to match the JavaScriptCore change to move virtual methods from
3716         Interpreter to JSGlobalObject.
3717         
3718         Moved virtual ScriptInterpreter functions to Window.
3719
3720 2007-12-02  Darin Adler  <darin@apple.com>
3721
3722         Reviewed by Mitz.
3723
3724         - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
3725
3726         There were two problems here:
3727
3728             1) Incorrect HTMLCollection behavior led to us trying to insert a
3729                new row inside an existing row instead of next to it. The fix for
3730                this is to make HTMLCollection work better for table-related
3731                collections.
3732
3733             2) HTMLTableRowElement::insertCell would return a bad pointer if
3734                the insertion failed. The code should have failed, but not crashed,
3735                so it's worth fixing that too.
3736
3737         While fixing the HTMLCollection issues, I did some clean-up of that
3738         class and its derived classes.
3739
3740         Test: fast/dom/HTMLTableElement/rows.html
3741         Test: fast/dom/HTMLTableElement/tBodies.html
3742         Test: fast/dom/HTMLTableRowElement/cells.html
3743         Test: fast/dom/HTMLTableRowElement/insertCell.html
3744         Test: fast/dom/HTMLTableSectionElement/rows.html
3745
3746         * bindings/js/JSHTMLCollectionCustom.cpp:
3747         (WebCore::toJS): Updated because collectionType() was renamed to type().
3748
3749         * html/HTMLCollection.cpp:
3750         (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
3751         changes. Also added a protected constructor for use by derived classes
3752         that pass in a CollectionInfo.
3753         (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
3754         the header.
3755         (WebCore::isTableSection): Added.
3756         (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
3757         because the old name was grammatically incorrect and thus a bit confusing.
3758         Changed to operate on Element* instead of Node*, and use 0 to start
3759         rather than passing in the base node (required since the base node can be
3760         a document, which is not an element). Generalized the code that made
3761         NodeChildren not descend into deeper descendants so it can be used for
3762         TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
3763         switch statement and got rid of the "found" boolean since we can just
3764         return when we find something. Got rid of the default case, and instead
3765         listed all the enum values. Also changed to use a for loop for clarity.
3766         (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
3767         (WebCore::HTMLCollection::item): Ditto.
3768         (WebCore::HTMLCollection::nextItem): Ditto.
3769         (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
3770         instead of a Node pointer.
3771         (WebCore::HTMLCollection::namedItem): More of the same.
3772         (WebCore::HTMLCollection::updateNameCache): Ditto.
3773         (WebCore::HTMLCollection::namedItems): Ditto.
3774         (WebCore::HTMLCollection::nextNamedItem): Ditto.
3775         (WebCore::HTMLCollection::tags): Ditto.
3776
3777         * html/HTMLCollection.h: Added a type FormElements, so that the
3778         HTMLFormCollection would not have a type of DocImages, which is what
3779         it previously did. Changed the base parameter to be a PassRefPtr to
3780         make it clear we take ownership of it. Added a comment explaining
3781         why we should change the name CollectionInfo. Made a lot more members
3782         private instead of protected. Renamed traverseNextItem to itemAfter.
3783         Changed most functions to take Element* instead of Node*.
3784
3785         * html/HTMLFormCollection.cpp:
3786         (WebCore::HTMLFormCollection::formCollectionInfo): Added.
3787         (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
3788         collection info into the base class.
3789         (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
3790         don't need to get at m_base directly.
3791         (WebCore::HTMLFormCollection::item): Same, but for info().
3792         (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
3793         argument.
3794         (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
3795         checks that the base is still an element and still a form, since that's
3796         guaranteed.
3797         (WebCore::HTMLFormCollection::nextItem): Use info().
3798         (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
3799         Element, some name changes.
3800         (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
3801         (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
3802         to be much simpler.
3803         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
3804
3805         * html/HTMLFormCollection.h: Changed constructor to take an
3806         HTMLFormElement, using a PassRefPtr to communicate transfer of
3807         ownership. Made everything private instead of protected. Removed
3808         unneeded override of firstItem. Made getNamedItem and
3809         nextNamedItemInternal non-virtual. Removed unused first argument of
3810         getNamedItem. Added declaration of formCollectionInfo.
3811
3812         * html/HTMLNameCollection.cpp:
3813         (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
3814         collection info into the base class.
3815         (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
3816         changed into a for loop.
3817
3818         * html/HTMLNameCollection.h: Updated for name changes. Made function
3819         private instead of public. Used PassRefPtr in constructor.
3820
3821         * html/HTMLOptionsCollection.cpp:
3822         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
3823         pass collection info into the base class.
3824         (WebCore::HTMLOptionsCollection::add): Updated for public/private
3825         changes in the base class.
3826         (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
3827         (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
3828         (WebCore::HTMLOptionsCollection::setLength): Ditto.
3829
3830         * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
3831         PassRefPtr.
3832
3833         * html/HTMLTableRowElement.cpp:
3834         (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
3835         and PassRefPtr since this creates a new object. This alone fixed the
3836         crash. Also cleaned up logic a bit to be more readable.
3837
3838         * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
3839         Also reordered functions a bit to make things a little more logical and
3840         removed the unused ncols data member.
3841
3842         * html/HTMLTableSectionElement.cpp:
3843         (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
3844         TableRows. This mistake was harmless before because TableRows and
3845         TSectionRows were handled identically inside HTMLCollection, but that is
3846         no longer the case with this fix.
3847
3848         * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
3849         fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
3850         I don't think this really should be a special case -- might be worth
3851         returning later to see if this can be optimized.
3852
3853 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3854
3855         Reviewed by Adam.
3856
3857         RenderSVGViewportContainer sets wrong width/height.
3858         Share code with RenderSVGContainer in a central calcBounds() function.
3859
3860         Fixes:
3861         - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
3862         - svg/custom/deep-dynamic-updates.svg
3863         - svg/custom/use-clipped-hit.svg
3864         - svg/custom/image-clipped-hit.svg
3865
3866         * rendering/RenderSVGContainer.cpp:
3867         (WebCore::RenderSVGContainer::layout):
3868         (WebCore::RenderSVGContainer::calcBounds):
3869         * rendering/RenderSVGContainer.h:
3870         * rendering/RenderSVGViewportContainer.cpp:
3871         (WebCore::RenderSVGViewportContainer::layout):
3872
3873 2007-12-02  Brady Eidson <beidson@apple.com>
3874
3875         Reviewed by Darin
3876
3877         databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
3878         like all other notifications we send out!
3879
3880         * platform/SecurityOriginData.cpp:
3881         (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
3882         * platform/SecurityOriginData.h:
3883
3884         * storage/DatabaseTracker.cpp:
3885         (WebCore::notificationMutex):
3886         (WebCore::notificationQueue):
3887         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
3888         (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
3889           on the main thread
3890         (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
3891         * storage/DatabaseTracker.h:
3892
3893         * storage/SQLTransaction.cpp:
3894         (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
3895         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
3896
3897 2007-12-02  Rob Buis  <buis@kde.org>
3898
3899         Reviewed by Darin.
3900
3901         http://bugs.webkit.org/show_bug.cgi?id=16002
3902         Load SVG (and other) UA StyleSheets dynamically when needed
3903
3904         Load svg sheet when needed.
3905
3906         * css/CSSStyleSelector.cpp:
3907         (WebCore::screenEval):
3908         (WebCore::printEval):
3909         (WebCore::CSSStyleSelector::CSSStyleSelector):
3910         (WebCore::CSSStyleSelector::loadDefaultStyle):
3911         (WebCore::CSSStyleSelector::styleForElement):
3912         (WebCore::CSSRuleSet::addRulesFromSheet):
3913
3914 2007-12-02  Mark Rowe  <mrowe@apple.com>
3915
3916         Try and fix the Windows build.
3917
3918         * plugins/win/PluginViewWin.cpp:
3919         (WebCore::PluginViewWin::bindingInstance):
3920
3921 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
3922
3923         Rubber stamped by Eric.
3924
3925         Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
3926         Updated all project files.
3927
3928         * WebCore.pro:
3929         * WebCore.vcproj/WebCore.vcproj:
3930         * WebCore.xcodeproj/project.pbxproj:
3931         * platform/graphics/svg: Removed.
3932         * platform/graphics/svg/SVGImage.cpp: Removed.
3933         * platform/graphics/svg/SVGImage.h: Removed.
3934         * platform/graphics/svg/SVGImageEmptyClients.h: Removed.
3935         * platform/graphics/svg/SVGPaintServer.cpp: Removed.
3936         * platform/graphics/svg/SVGPaintServer.h: Removed.
3937         * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
3938         * platform/graphics/svg/SVGPaintServerGradient.h: Removed.
3939         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
3940         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
3941         * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
3942         * platform/graphics/svg/SVGPaintServerPattern.h: Removed.
3943         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
3944         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
3945         * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
3946         * platform/graphics/svg/SVGPaintServerSolid.h: Removed.
3947         * platform/graphics/svg/SVGResource.cpp: Removed.
3948         * platform/graphics/svg/SVGResource.h: Removed.
3949         * platform/graphics/svg/SVGResourceClipper.cpp: Removed.
3950         * platform/graphics/svg/SVGResourceClipper.h: Removed.
3951         * platform/graphics/svg/SVGResourceFilter.cpp: Removed.
3952         * platform/graphics/svg/SVGResourceFilter.h: Removed.
3953         * platform/graphics/svg/SVGResourceListener.h: Removed.
3954         * platform/graphics/svg/SVGResourceMarker.cpp: Removed.
3955         * platform/graphics/svg/SVGResourceMarker.h: Removed.
3956         * platform/graphics/svg/SVGResourceMasker.cpp: Removed.
3957         * platform/graphics/svg/SVGResourceMasker.h: Removed.
3958         * platform/graphics/svg/cairo: Removed.
3959         * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed.
3960         * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed.
3961         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed.
3962         * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed.
3963         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed.
3964         * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed.
3965         * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed.
3966         * platform/graphics/svg/cg: Removed.
3967         * platform/graphics/svg/cg/CgSupport.cpp: Removed.
3968         * platform/graphics/svg/cg/CgSupport.h: Removed.
3969         * platform/graphics/svg/cg/RenderPathCg.cpp: Removed.
3970         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed.
3971         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed.
3972         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed.
3973         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed.
3974         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed.
3975         * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed.
3976         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed.
3977         * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed.
3978         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed.
3979         * platform/graphics/svg/filters: Removed.
3980         * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed.
3981         * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed.
3982         * platform/graphics/svg/filters/SVGFEBlend.h: Removed.
3983         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed.
3984         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed.
3985         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed.
3986         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed.
3987         * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed.
3988         * platform/graphics/svg/filters/SVGFEComposite.h: Removed.
3989         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed.
3990         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed.
3991         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed.
3992         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed.
3993         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed.
3994         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed.
3995         * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed.
3996         * platform/graphics/svg/filters/SVGFEFlood.h: Removed.
3997         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed.
3998         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed.
3999         * platform/graphics/svg/filters/SVGFEImage.cpp: Removed.
4000         * platform/graphics/svg/filters/SVGFEImage.h: Removed.
4001         * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed.
4002         * platform/graphics/svg/filters/SVGFEMerge.h: Removed.
4003         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed.
4004         * platform/graphics/svg/filters/SVGFEMorphology.h: Removed.
4005         * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed.
4006         * platform/graphics/svg/filters/SVGFEOffset.h: Removed.
4007         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed.
4008         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed.
4009         * platform/graphics/svg/filters/SVGFETile.h: Removed.
4010         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed.
4011         * platform/graphics/svg/filters/SVGFETurbulence.h: Removed.
4012         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed.
4013         * platform/graphics/svg/filters/SVGFilterEffect.h: Removed.
4014         * platform/graphics/svg/filters/SVGLightSource.cpp: Removed.
4015         * platform/graphics/svg/filters/SVGLightSource.h: Removed.
4016         * platform/graphics/svg/filters/SVGPointLightSource.h: Removed.
4017         * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed.
4018         * platform/graphics/svg/filters/cg: Removed.
4019         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed.
4020         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed.
4021         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed.
4022         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed.
4023         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed.
4024         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed.
4025         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed.
4026         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed.
4027         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed.
4028         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed.
4029         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed.
4030         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed.
4031         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed.
4032         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed.
4033         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed.
4034         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed.
4035         * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed.
4036         * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed.
4037         * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed.
4038         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed.
4039         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed.
4040         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed.
4041         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
4042         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed.
4043         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed.
4044         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
4045         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed.
4046         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed.
4047         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
4048         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed.
4049         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed.
4050         * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed.
4051         * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed.
4052         * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed.
4053         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed.
4054         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed.
4055         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed.
4056         * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed.
4057         * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed.
4058         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed.
4059         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed.
4060         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed.
4061         * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed.
4062         * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed.
4063         * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed.
4064         * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed.
4065         * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed.
4066         * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed.
4067         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
4068         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed.
4069         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed.
4070         * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed.
4071         * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed.
4072         * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed.
4073         * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed.
4074         * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed.
4075         * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed.
4076         * platform/graphics/svg/mac: Removed.
4077         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed.
4078         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
4079         * platform/graphics/svg/qt: Removed.
4080         * platform/graphics/svg/qt/RenderPathQt.cpp: Removed.
4081         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed.
4082         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
4083         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed.
4084         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed.
4085         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
4086         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed.
4087         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed.
4088         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed.
4089         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed.
4090         * svg/graphics: Copied from platform/graphics/svg.
4091
4092 2007-12-02  Nikolas Zimmermann  <zimmermann@kde.org>
4093
4094         Reviewed by Maciej.
4095
4096         Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
4097         When entering subdirectories the 'thisDir' variable got altered - see snippet:
4098
4099         THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0)
4100         ..
4101         -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page)
4102         ...
4103         <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk)
4104         THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0)
4105
4106         'History.cpp' is located in WebCore/page not WebCore/page/gtk.
4107
4108         * bindings/scripts/CodeGenerator.pm:
4109
4110 2007-12-01  Alp Toker  <alp@atoker.com>
4111
4112         Reviewed by Adam Roben.
4113
4114         Add the newly introduced webkit.h convenience header.
4115
4116         * WebCore.pro:
4117
4118 2007-12-01  Antti Koivisto  <antti@apple.com>
4119
4120         Reviewed by Adam.
4121         
4122         - Fix crash when removing a loading media element from the tree.
4123         - Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
4124
4125         Tests: http/tests/media/remove-while-loading.html
4126                media/remove-from-document.html
4127
4128         * html/HTMLMediaElement.cpp:
4129         (WebCore::HTMLMediaElement::removedFromDocument):
4130
4131 2007-12-01  Geoffrey Garen  <ggaren@apple.com>
4132
4133         Reviewed by Beth Dakin.
4134
4135         Restored the test string in this test.
4136
4137         * manual-tests/window-open-features-parsing.html:
4138
4139 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
4140
4141         Reviewed by Beth Dakin.
4142