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