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