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