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