1 2007-12-13 Dan Bernstein <mitz@apple.com>
5 * platform/network/cf/ResourceErrorCF.cpp:
7 2007-12-13 Antti Koivisto <antti@apple.com>
9 Reviewed by Tim Hatcher.
11 Fix <rdar://problem/5605674>
12 Make <video> display WebKit context menu instead of the QTKit one.
14 It doesn't really matter where the QTMovieView is.
17 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
18 (WebCore::MediaPlayerPrivate::createQTMovieView):
19 (WebCore::MediaPlayerPrivate::setRect):
21 2007-12-13 Dan Bernstein <mitz@apple.com>
23 Reviewed by Adam Roben.
25 - ensure that Unicode bidi control characters are rendered as zero width
28 Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
30 * platform/graphics/Font.h:
31 (WebCore::Font::treatAsZeroWidthSpace):
32 * platform/graphics/GlyphPageTreeNode.cpp:
33 (WebCore::GlyphPageTreeNode::initializePage):
34 * platform/text/CharacterNames.h:
36 2007-12-13 Brady Eidson <beidson@apple.com>
40 * platform/wx/TemporaryLinkStubs.cpp:
42 2007-12-12 Brady Eidson <beidson@apple.com>
46 * platform/gtk/TemporaryLinkStubs.cpp:
48 2007-12-12 Brady Eidson <beidson@apple.com>
53 * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
55 2007-12-12 Brady Eidson <beidson@apple.com>
59 * platform/win/TemporaryLinkStubs.cpp:
61 2007-12-12 Brady Eidson <beidson@apple.com>
63 Reviewed by Sam Weinig
65 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
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
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.
75 I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
78 * WebCore.xcodeproj/project.pbxproj:
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:
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().
91 * history/PageCache.cpp:
92 (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
94 * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
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
101 * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
102 become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
104 * svg/graphics/SVGImageEmptyClients.h:
105 (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
106 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
107 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
109 2007-12-12 Dan Bernstein <mitz@apple.com>
111 Reviewed by Oliver Hunt.
113 - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
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.
120 2007-12-12 Justin Garcia <justin.garcia@apple.com>
122 Reviewed by Darin Adler.
124 <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
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.
133 2007-12-12 Sam Weinig <sam@webkit.org>
135 Reviewed by Anders Carlsson.
137 Add button to clear the Web Inspector's console.
139 * English.lproj/InspectorLocalizedStrings.js:
140 * page/inspector/ConsolePanel.js:
141 * page/inspector/inspector.css:
143 2007-12-12 Anders Carlsson <andersca@apple.com>
145 Reviewed by Adam and Jon.
147 <rdar://problem/5349282>
148 popup blocking is not applied to plugins on Windows.
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.
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.
157 * plugins/win/PluginViewWin.cpp:
158 (WebCore::PluginRequestWin::PluginRequestWin):
159 (WebCore::PluginRequestWin::shouldAllowPopups):
160 Add new shouldAllowPopups member.
162 (WebCore::PluginViewWin::popPopupsStateTimerFired):
163 Reset the popup state.
165 (WebCore::isWindowsMessageUserGesture):
166 New function that given a windows message id returns whether it's a user gesture or not.
168 (WebCore::PluginViewWin::wndProc):
169 Allow popups if the window message is a user gesture.
171 (WebCore::PluginViewWin::dispatchNPEvent):
172 New method that dispatches an NPEvent, turning on popups if necessary.
174 (WebCore::PluginViewWin::paint):
175 (WebCore::PluginViewWin::handleKeyboardEvent):
176 (WebCore::PluginViewWin::handleMouseEvent):
177 Call dispatchNPEvent().
179 (WebCore::PluginViewWin::performRequest):
180 (WebCore::PluginViewWin::load):
181 Add calls to shouldAllowPopups().
183 (WebCore::PluginViewWin::pushPopupsEnabledState):
184 (WebCore::PluginViewWin::popPopupsEnabledState):
185 New methods that maintain the popup state stack.
187 (WebCore::PluginViewWin::arePopupsAllowed):
188 New method that returns whether popups are allowed.
190 (WebCore::PluginViewWin::PluginViewWin):
191 * plugins/win/PluginViewWin.h:
192 Add new instance variables.
194 * plugins/win/npapi.cpp:
195 (NPN_PushPopupsEnabledState):
196 (NPN_PopPopupsEnabledState):
199 2007-12-12 Dan Bernstein <mitz@apple.com>
201 Reviewed by John Sullivan.
203 - fix a bug in debug builds only where selecting an earlier item in
204 a popup selects the first item
206 Test: fast/forms/menulist-selection-reset.html
208 * html/HTMLSelectElement.cpp:
209 (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
210 tells that function whether it should update the selected state of
212 (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
213 as the above argument.
214 * html/HTMLSelectElement.h:
216 2007-12-12 Adele Peterson <adele@apple.com>
220 Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
222 When the specification for cue ranges is more final, we will implement those.
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:
249 2007-12-12 MorganL <morganl.webkit@yahoo.com>
254 http://bugs.webkit.org/show_bug.cgi?id=16408
256 When navigating back/forward to a http:// link, we should prefer to
257 load from cache if possible.
259 * loader/FrameLoader.cpp:
261 2007-12-12 Anders Carlsson <andersca@apple.com>
265 <rdar://problem/5132003>
266 dumpResourceLoadCallbacks is not implemented in DRT on Windows.
268 * platform/network/cf/ResourceErrorCF.cpp:
269 (WebCore::ResourceError::unpackPlatformError):
270 Handle kCFErrorDomainWinSock.
272 * platform/network/cf/ResourceHandleCFNet.cpp:
273 (WebCore::willSendRequest):
274 Ignore willSendRequest calls where the redirect response is null, like we do in
277 2007-12-12 Steve Falkenburg <sfalken@apple.com>
279 <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
283 * platform/win/SharedTimerWin.cpp:
284 (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
286 2007-12-12 Beth Dakin <bdakin@apple.com>
290 Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
291 with width and height 100% clip to 300 x 150
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.
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):
309 2007-12-12 Brady Eidson <beidson@apple.com>
311 Reviewed by Steve Falkenburg
313 <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
315 * platform/network/ProtectionSpace.cpp:
316 (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
318 2007-12-12 Alp Toker <alp@atoker.com>
322 http://bugs.webkit.org/show_bug.cgi?id=16388
323 [GTK] Widget::setCursor() gets called frequently
325 Cache the current cursor to avoid calling gdk_window_set_cursor() when
326 there's no change in cursor.
328 * platform/gtk/WidgetGtk.cpp:
329 (WebCore::Widget::Widget):
330 (WebCore::Widget::cursor):
331 (WebCore::Widget::setCursor):
333 2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
337 http://bugs.webkit.org/show_bug.cgi?id=16342
338 Build Warning and Error fixes in WebCore GTK+
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
343 * platform/gtk/PlatformScrollBarGtk.cpp:
344 (PlatformScrollbar::PlatformScrollbar):
345 (PlatformScrollbar::~PlatformScrollbar):
346 (PlatformScrollbar::gtkValueChanged):
347 * platform/gtk/ThreadingGtk.cpp:
348 (callFunctionOnMainThread):
351 2007-12-12 Dan Bernstein <mitz@apple.com>
353 Reviewed by Darin Adler.
355 - better fix for a crash when pressing a key that is not associated
358 * editing/EditorCommand.cpp:
359 (WebCore::Editor::command): Return the empty command if the command name
362 2007-12-12 Alexey Proskuryakov <ap@webkit.org>
366 http://bugs.webkit.org/show_bug.cgi?id=16410
367 Implement isKeypadEvent() on Windows
369 Test: platform/win/fast/events/keyLocation-numpad.html
371 * platform/win/KeyEventWin.cpp:
372 (WebCore::isKeypadEvent): Added.
373 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
375 2007-12-12 Oliver Hunt <oliver@apple.com>
379 <rdar://problem/5071781> window.mouseout events are not sent
380 to window when mouse moves out of window
382 Make PlatformMouseEvent recognise WM_MOUSELEAVE.
384 * platform/win/PlatformMouseEventWin.cpp:
385 (WebCore::messageToEventType):
386 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
388 2007-12-12 Sam Weinig <sam@webkit.org>
390 Fix Mac release build.
394 2007-12-12 Sam Weinig <sam@webkit.org>
396 Build fix for Qt, Gtk, and Wx.
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):
408 * platform/network/win/ResourceHandleWin.cpp:
409 (WebCore::ResourceHandle::start):
410 * platform/qt/PasteboardQt.cpp:
411 (WebCore::Pasteboard::writeURL):
413 2007-12-11 Dan Bernstein <mitz@apple.com>
415 Reviewed by Maciej Stachowiak.
417 - allow non-integer font sizes on Windows for small caps
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):
427 2007-12-11 Sam Weinig <sam@webkit.org>
429 Build fix for Qt, Gtk, and Wx.
431 * platform/gtk/CookieJarGtk.cpp:
432 (WebCore::setCookies):
434 * platform/qt/ClipboardQt.cpp:
435 (WebCore::ClipboardQt::writeURL):
436 * platform/qt/CookieJarQt.cpp:
437 (WebCore::setCookies):
439 * platform/wx/PasteboardWx.cpp:
440 (WebCore::Pasteboard::writeURL):
442 2007-12-11 Sam Weinig <sam@webkit.org>
444 Reviewed by Darin Adler.
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.
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()
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:
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):
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):
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):
496 (WebCore::Document::url):
497 (WebCore::Document::baseURL):
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):
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):
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):
612 (WebCore::Loader::servePendingRequests):
613 * loader/mac/LoaderNSURLExtras.m:
616 (WebCore::Chrome::setToolTip):
617 * page/ContextMenuController.cpp:
618 (WebCore::ContextMenuController::contextMenuItemSelected):
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:]):
630 (WebCore::KURL::string):
631 (WebCore::KURL::deprecatedString):
632 * platform/mac/ClipboardMac.mm:
633 (WebCore::ClipboardMac::getData):
634 * platform/mac/CookieJar.mm:
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):
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:
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):
687 2007-12-11 Beth Dakin <bdakin@apple.com>
691 Fix for <rdar://problem/5641255> SVGs with width and height 100%
692 fail to render when used as background images
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:
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):
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:
719 Need to account for relatively sized SVGs in calcViewport()
720 * rendering/RenderSVGRoot.cpp:
721 (WebCore::RenderSVGRoot::calcViewport):
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):
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:
743 2007-12-11 Darin Adler <darin@apple.com>
745 * editing/Editor.cpp:
746 (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
747 a missing return statement.
749 2007-12-11 Darin Adler <darin@apple.com>
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
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.
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
772 (WebCore::Document::queryCommandEnabled): Ditto.
773 (WebCore::Document::queryCommandIndeterm):
774 (WebCore::Document::queryCommandState): Ditto.
775 (WebCore::Document::queryCommandSupported): Ditto.
776 (WebCore::Document::queryCommandValue): Ditto.
778 * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
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
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
811 (WebCore::Editor::prependToKillRing): Ditto.
812 (WebCore::Editor::yankFromKillRing): Ditto.
813 (WebCore::Editor::startNewKillRingSequence): Ditto.
814 (WebCore::Editor::setKillRingToYankedState): Ditto.
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
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):
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().
985 * editing/JSEditor.cpp: Removed.
986 * editing/JSEditor.h: Removed.
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.
996 * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
997 * page/Frame.h: Ditto.
999 * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
1000 * page/mac/WebCoreFrameBridge.h: Ditto.
1002 * platform/ContextMenu.cpp:
1003 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
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
1010 (WebCore::CaseFoldingHash::equal): Ditto.
1012 * platform/text/StringImpl.cpp:
1013 (WebCore::equal): Changed to invoke StringHash.
1014 (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
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.
1032 * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
1034 2007-12-11 Darin Adler <darin@apple.com>
1036 * platform/wx/KeyboardEventWx.cpp:
1037 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
1038 WX build. Changes the code around a little bit.
1040 2007-12-11 Darin Adler <darin@apple.com>
1042 * platform/wx/KeyboardEventWx.cpp:
1043 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
1045 2007-12-11 Dan Bernstein <mitz@apple.com>
1047 Reviewed by Darin Adler.
1049 - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
1051 Test: fast/text/international/complex-character-based-fallback.html
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
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:
1072 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
1076 <rdar://problem/5535636>
1077 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
1079 http://bugs.webkit.org/show_bug.cgi?id=13916
1080 JavaScript detects Tab as a character input on a textfield validation
1082 Test: platform/win/fast/events/double-dead-char.html
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.
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).
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.
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
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().
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.
1133 (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
1135 * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
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
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
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.
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.
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
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
1179 (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
1180 handle tabs during keydown processing.
1182 * page/mac/EventHandlerMac.mm:
1183 (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
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.
1194 * svg/graphics/SVGImageEmptyClients.h:
1195 (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
1196 (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
1197 Updated for new function names.
1199 2007-12-11 John Sullivan <sullivan@apple.com>
1203 Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
1205 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1206 (WebCore::MediaPlayerPrivate::createQTMovieView):
1207 (WebCore::MediaPlayerPrivate::detachQTMovieView):
1209 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
1213 http://bugs.webkit.org/show_bug.cgi?id=16325
1214 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
1216 Fix this on Windows, too!
1218 Test: http/tests/misc/empty-cookie.html
1220 * platform/network/win/CookieJarWin.cpp:
1221 (WebCore::setCookies):
1223 Same fix as on Mac, translated into CF.
1225 * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
1227 2007-12-11 Christian Dywan <christian@twotoasts.de>
1229 Reviewed by Alp Toker.
1231 http://bugs.webkit.org/show_bug.cgi?id=16371
1232 Implement additional mouse cursors for Gtk
1234 Added cursor bitmaps from Mozilla:
1235 http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
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.
1252 2007-12-10 Oliver Hunt <oliver@apple.com>
1254 Reviewed by Weinig, Dan, and Alexey.
1256 Fix character set used for dynamically loaded scripts.
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
1263 Use the same logic to determine the charset for a script loaded dynamically
1264 as we do for a statically loaded script.
1266 * html/HTMLScriptElement.cpp:
1267 (WebCore::HTMLScriptElement::insertedIntoDocument):
1269 2007-12-10 Justin Garcia <justin.garcia@apple.com>
1271 Reviewed by Oliver Hunt.
1273 <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
1275 We were trying to insert a block of the requested type before the body element.
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
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
1289 2007-12-10 Adele Peterson <adele@apple.com>
1291 Reviewed and partially fixed by Tim Hatcher.
1293 Remaining part of fix for <rdar://problem/5633400>
1294 Transformed <video> is not clipped correctly until a repaint is forced
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.
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.
1304 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1305 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1306 (method_setImplementation): Added for Tiger.
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.
1313 (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
1314 (-[WebCoreMovieObserver repaint]): ditto.
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.
1320 2007-12-10 Geoffrey Garen <ggaren@apple.com>
1322 Reviewed by Sam Weinig.
1324 Updated for rename in JavaScriptCore.
1326 * bridge/mac/WebCoreScriptDebugger.mm:
1327 (-[WebCoreScriptCallFrame scopeChain]):
1328 (-[WebCoreScriptCallFrame functionName]):
1329 (-[WebCoreScriptCallFrame evaluateWebScript:]):
1331 2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
1333 Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
1334 <http://bugs.webkit.org/show_bug.cgi?id=16383>
1336 Use KJS::Window not the ambiguous Window
1338 Reviewed by ddkilzer.
1340 * bindings/js/kjs_dom.cpp (checkNodeSecurity):
1342 2007-12-10 Sam Weinig <sam@webkit.org>
1346 * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
1348 2007-12-10 Marvin Decker <marv.decker@gmail.com>
1352 Fix a divide by 0 in the progress tracker.
1353 http://bugs.webkit.org/show_bug.cgi?id=15055
1355 * loader/ProgressTracker.cpp:
1356 (WebCore::ProgressTracker::incrementProgress):
1358 2007-12-09 Sam Weinig <sam@webkit.org>
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.
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):
1401 2007-12-10 Timothy Hatcher <timothy@apple.com>
1403 Reviewed by Mark Rowe.
1405 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
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.
1410 2007-12-10 Alp Toker <alp@atoker.com>
1414 Cairo implementation of GraphicsContext::setUseAntialiasing().
1416 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1417 (WebCore::GraphicsContext::setUseAntialiasing):
1419 2007-12-10 Rob Buis <buis@kde.org>
1423 http://bugs.webkit.org/show_bug.cgi?id=16182
1424 SVG should disable antialiasing for shape-rendering="crispEdges"
1426 Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
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):
1440 2007-12-09 Rob Buis <buis@kde.org>
1444 http://bugs.webkit.org/show_bug.cgi?id=16163
1445 SVG crash in Node::setChanged() on Debug builds only (trashed parent)
1447 Fix the crash by properly unregistering as client from SVGResource
1448 when deleting a styled svg node.
1450 * svg/SVGStyledElement.cpp:
1451 (WebCore::SVGStyledElement::~SVGStyledElement):
1453 2007-12-10 Brady Eidson <beidson@apple.com>
1455 Rubberstamped by John
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
1461 2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
1463 Bug 9683: Implement select.options.remove() method
1464 <http://bugs.webkit.org/show_bug.cgi?id=9683>
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.
1475 Tests: fast/js/select-options-remove-gc.html
1476 fast/js/select-options-remove.html
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:
1485 2007-12-09 Sam Weinig <sam@webkit.org>
1487 Rubber stamped by Mark Rowe.
1489 * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
1491 2007-12-09 Oliver Hunt <oliver@apple.com>
1495 Correction, 'z' and 'Z' are the only commands that cannot have an extended
1498 * svg/SVGParserUtilities.cpp:
1499 (WebCore::SVGPathParser::parseSVG):
1501 2007-12-09 Oliver Hunt <oliver@apple.com>
1505 Prevent unlimited iteration in the case of invalid path data.
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
1512 * svg/SVGParserUtilities.cpp:
1513 (WebCore::SVGPathParser::parseSVG):
1515 2007-12-09 Luca Bruno <lethalman88@gmail.com>
1517 Reviewed by Alp Toker.
1519 http://bugs.webkit.org/show_bug.cgi?id=15825
1520 [GTK] curl - slow dns causing hangs.
1522 Create a vector of jobs, to satisfy requests in the right order.
1523 Set a limit to the number of simultaneous connections.
1525 * platform/network/curl/ResourceHandleManager.cpp:
1526 (WebCore::maxRunningJobs): added
1527 (WebCore::ResourceHandleManager::ResourceHandleManager):
1528 (WebCore::ResourceHandleManager::removeFromCurl):
1529 (WebCore::ResourceHandleManager::startScheduledJobs):
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
1537 2007-12-08 Sam Weinig <sam@webkit.org>
1541 Cleanup kjs_window.h/cpp.
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):
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):
1582 2007-12-08 Sam Weinig <sam@webkit.org>
1586 Move window scrolling, moving and resizing methods from KJS::Window
1587 to WebCore::DOMWindow so that there bindings can be autogenerated.
1589 Tests: fast/dom/Window/window-resize-and-move-arguments.html
1590 fast/dom/Window/window-scroll-arguments.html
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
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):
1610 (WebCore::DOMWindow::scroll):
1611 * page/DOMWindow.idl:
1613 2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
1615 Reviewed by Alp Toker.
1617 http://bugs.webkit.org/show_bug.cgi?id=14651
1618 [CURL] didReceiveResponse() only called for HTTP loads
1620 http://bugs.webkit.org/show_bug.cgi?id=14583
1621 [GDK] file:// relative CSS include URLs handled incorrectly
1623 Make sure CURL sets the ResourceResponse URL and calls
1624 didReceiveResponse for local files too.
1626 * platform/network/curl/ResourceHandleManager.cpp:
1627 (WebCore::writeCallback):
1629 2007-12-08 Oliver Hunt <oliver@apple.com>
1633 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
1635 Fixes <rdar://problem/5620249> Must disable SVG animation
1636 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
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
1641 ENABLE_SVG_ANIMATION
1647 by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
1649 * Configurations/WebCore.xcconfig:
1650 * DerivedSources.make:
1651 Handle the increased number of build flags that may be necessary
1653 * WebCore.SVG.Animation.exp: Added.
1654 * WebCore.SVG.Filters.exp: Added.
1656 We now may not need the animation or filter exports so
1657 these need to be separate.
1659 * WebCore.vcproj/WebCore.vcproj:
1660 * WebCore.vcproj/build-generated-files.sh:
1661 Update for new flags
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:
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:
1871 2007-12-08 Dan Bernstein <mitz@apple.com>
1873 Reviewed by Adele Peterson.
1875 - fix two bugs in parsing of stylesheets in <style> elements created by
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.
1882 Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
1884 * html/HTMLStyleElement.cpp:
1885 (WebCore::HTMLStyleElement::finishedParsing):
1886 * svg/SVGStyleElement.cpp:
1887 (WebCore::SVGStyleElement::finishedParsing):
1889 2007-12-07 Sam Weinig <sam@webkit.org>
1893 - Removes the faulty isSafeScript implementation that was only
1895 - Renames isSafeScript to allowsAccessFrom.
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):
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
1929 * bindings/scripts/CodeGeneratorJS.pm:
1931 2007-12-08 Rob Buis <buis@kde.org>
1935 http://bugs.webkit.org/show_bug.cgi?id=15464
1936 SVGLengthList allows bad values
1938 Be more strict with svg lengths without a unit identifier.
1940 Test: svg/custom/invalid-lengthlist.svg
1942 * svg/SVGLength.cpp:
1943 (WebCore::SVGLength::setValueAsString):
1945 2007-12-08 Rob Buis <buis@kde.org>
1947 Mac Tiger build fix.
1949 Use the wtf prefix when including MathExtras.h.
1951 * rendering/RenderMedia.cpp:
1953 2007-12-08 Alp Toker <alp@atoker.com>
1955 GTK+ build fix (for ENABLE_VIDEO builds):
1957 Include MathExtras.h to get isfinite().
1959 * rendering/RenderMedia.cpp:
1961 2007-12-08 Rob Buis <buis@kde.org>
1965 http://bugs.webkit.org/show_bug.cgi?id=15528
1966 svg_dynamic_cast should be removed
1968 Replace svg_dynamic_cast with a combination of
1969 isSVGElement and static_cast.
1971 * rendering/SVGRootInlineBox.cpp:
1972 (WebCore::SVGRootInlineBox::buildLayoutInformation):
1973 (WebCore::SVGRootInlineBox::buildTextChunks):
1974 * svg/SVGAnimationElement.cpp:
1975 (WebCore::SVGAnimationElement::targetElement):
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):
2000 2007-12-07 Antti Koivisto <antti@apple.com>
2004 Partial fix for <rdar://problem/5633400>
2005 Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
2007 Fix video painting when transform is applied.
2009 Test: media/video-transformed.html
2011 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2012 (WebCore::MediaPlayerPrivate::paint):
2014 2007-12-07 Dan Bernstein <mitz@apple.com>
2016 Reviewed by Sam Weinig.
2018 - fix http://bugs.webkit.org/show_bug.cgi?id=16348
2019 @font-face does not affect the default style
2021 Test: fast/css/font-face-default-font.html
2024 (WebCore::Document::recalcStyle): Pass our font selector to
2025 Font::update() if we already have one.
2027 2007-12-07 Darin Adler <darin@apple.com>
2031 * bridge/win/GlobalHistoryWin.cpp:
2032 (WebCore::historyContains): Missed a rename.
2034 2007-12-07 Brady Eidson <beidson@apple.com>
2036 Reviewed by Anders and Darin
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)
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
2046 2007-12-07 Darin Adler <darin@apple.com>
2050 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
2051 QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
2053 2007-12-07 Darin Adler <darin@apple.com>
2055 - fix 64-bit build, hopefully without breaking Tiger build
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.
2062 2007-12-07 Brady Eidson <beidson@apple.com>
2066 Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
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:
2073 2007-12-07 Darin Adler <darin@apple.com>
2077 - http://bugs.webkit.org/show_bug.cgi?id=15981
2078 speed up visited-link code a bit
2080 * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
2081 instead of requiring a DeprecatedString.
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.
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.
2102 - unrelated tiny cleanup
2104 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2105 (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
2106 (WebCore::cgGradientCallback): Ditto.
2108 2007-12-07 Darin Adler <darin@apple.com>
2110 Fix build on Tiger (Mark Rowe told me how).
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.
2116 2007-12-07 Geoffrey Garen <ggaren@apple.com>
2118 Build fix: rolling out last build fix to change #include path.
2120 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2122 2007-12-07 Steve Falkenburg <sfalken@apple.com>
2124 Re-named our B&I flag from BUILDBOT to PRODUCTION.
2126 Reviewed by Sam Weinig.
2128 * WebCore.vcproj/WebCore.make:
2130 2007-12-07 Geoffrey Garen <ggaren@apple.com>
2132 Build fix: corrected #include path.
2134 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2136 2007-12-07 Geoffrey Garen <ggaren@apple.com>
2138 Reviewed by Sam Weinig.
2140 Added some namespace qualifications and a forwarding header, now that
2141 KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
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):
2153 2007-12-07 Adam Roben <aroben@apple.com>
2155 Add SoftLinking.h for Windows and use it in a few places
2159 * WebCore.vcproj/WebCore.vcproj: Added new file to project.
2160 * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
2161 (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
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.
2176 2007-12-07 Darin Adler <darin@apple.com>
2180 - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
2181 at WebCore::HTMLSelectElement::saveState const + 152
2183 Test: fast/forms/select-set-inner.html
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.
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.
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.
2211 2007-12-07 Dan Bernstein <mitz@apple.com>
2213 Reviewed by Darin Adler.
2215 - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2217 Test: fast/repaint/focus-ring.html
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
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.
2245 2007-12-07 Darin Adler <darin@apple.com>
2247 Reviewed by Antti Koivisto and Kevin Decker.
2249 - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
2251 Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
2253 * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
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
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.
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.
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.
2291 2007-12-07 Dan Bernstein <mitz@apple.com>
2293 Reviewed by Darin Adler.
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
2298 Test: fast/dynamic/subtree-no-common-root-static-y.html
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().
2306 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
2310 http://bugs.webkit.org/show_bug.cgi?id=16325
2311 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2313 Test: http/tests/misc/empty-cookie.html
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!
2320 2007-12-06 Ada Chan <adachan@apple.com>
2322 Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
2323 returning true when there's an error).
2327 * platform/win/FileSystemWin.cpp:
2328 (WebCore::makeAllDirectories):
2330 2007-12-06 Darin Adler <darin@apple.com>
2332 - fix broken regression test
2334 * bindings/js/kjs_binding.cpp:
2335 (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
2337 2007-12-06 Darin Adler <darin@apple.com>
2339 Reviewed by Sam Weinig.
2341 - fix http://bugs.webkit.org/show_bug.cgi?id=16332
2342 ObjC DOM exception object descriptions should include the exception name
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.
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
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.
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.)
2363 * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
2364 getExceptionCodeDescription function.
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.
2370 2007-12-06 Brady Eidson <beidson@apple.com>
2374 Fixed a glaring bug that would prevent a statement from getting run a second time
2376 * storage/SQLStatement.cpp:
2377 (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
2379 (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
2381 2007-12-06 Timothy Hatcher <timothy@apple.com>
2383 Reviewed by Oliver Hunt.
2385 Use keydown instead of keypress so keyIdentifier can be used.
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.
2392 2007-12-06 Adam Roben <aroben@apple.com>
2394 Rename FontsTable.plist to FontsList.plist
2396 Rubberstamped by Hyatt.
2398 * platform/graphics/win/FontDatabase.cpp:
2400 2007-12-06 Brady Eidson <beidson@apple.com>
2404 Tweaked a comment and a few assertions from my last checkin
2406 * storage/SQLStatement.cpp:
2407 (WebCore::SQLStatement::execute):
2408 (WebCore::SQLStatement::clearFailureDueToQuota):
2409 (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2411 2007-12-06 Brady Eidson <beidson@apple.com>
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
2418 * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
2419 * platform/sql/SQLiteDatabase.h: Ditto
2421 * storage/Database.cpp:
2422 (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
2423 (WebCore::Database::stringIdentifier): Ditto
2424 * storage/Database.h:
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
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:
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:
2450 2007-12-06 Steve Falkenburg <sfalken@apple.com>
2452 <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
2454 Don't use callback-based timers, since these cause Windows to eat Windows crashes
2455 in code the timers call.
2457 Windows appears to be defending against "shatter" attacks partially by setting
2458 up a structured exception block while dispatching callback-based WM_TIMERs.
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).
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.
2473 * platform/win/SharedTimerWin.cpp:
2474 (WebCore::TimerWindowWndProc):
2475 (WebCore::setSharedTimerFireTime):
2477 2007-12-06 Adam Roben <aroben@apple.com>
2479 Fix <rdar://5108390> Feed title is too low in blue banner
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
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.
2501 2007-12-06 Geoffrey Garen <ggaren@apple.com>
2503 Reviewed by Sam Weinig.
2505 Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
2506 REGRESSION (r28470): Crash expanding a GMail conversation
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
2515 2007-12-06 Adele Peterson <adele@apple.com>
2519 Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
2521 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
2522 * html/HTMLMediaElement.h:
2524 2007-12-05 Antti Koivisto <antti@apple.com>
2530 Movie -> MediaPlayer
2531 MoviePrivate -> MediaPlayerPrivate
2533 Movie is QuickTime terminology and clashes with its C API.
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:
2749 2007-12-06 Geoffrey Garen <ggaren@apple.com>
2751 Build fix: access global object directly.
2753 * plugins/win/PluginViewWin.cpp:
2754 (WebCore::PluginViewWin::bindingInstance):
2756 2007-12-06 Mark Rowe <mrowe@apple.com>
2760 Fix bug spotted by GCC 4.2.
2762 * bindings/js/kjs_window.cpp:
2763 (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
2765 2007-12-06 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2767 Reviewed by Alp Toker.
2769 http://bugs.webkit.org/show_bug.cgi?id=16173
2772 Change license from BSD to LGPL.
2774 * platform/gtk/FileSystemGtk.cpp:
2776 2007-12-05 Rob Buis <buis@kde.org>
2780 http://bugs.webkit.org/show_bug.cgi?id=15289
2781 WebKit does not respect clip paths of a 0x0 rect
2783 Make empty clip paths clip the whole referencing graphic.
2785 * svg/SVGClipPathElement.cpp:
2786 (WebCore::SVGClipPathElement::canvasResource):
2787 * svg/graphics/SVGResourceClipper.h:
2788 (WebCore::ClipDataList::isEmpty):
2790 2007-12-05 Darin Adler <darin@apple.com>
2794 - fix http://bugs.webkit.org/show_bug.cgi?id=16266
2795 <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
2796 Interpreter::createObjectsForGlobalObjectProperties()
2798 I don't know how to reproduce this in a test.
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.
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.
2808 * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
2809 not JSObject::mark. This is the actual bug fix.
2811 2007-12-05 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
2813 http://bugs.webkit.org/show_bug.cgi?id=16145
2814 [gtk] Implement media support in GTK backend
2816 Reviewed by Alp Toker.
2818 Remove old comments, fix variable names, match WebKit coding style.
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:
2843 2007-12-05 Mark Rowe <mrowe@apple.com>
2845 Speculative wx build fix. Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
2847 * platform/wx/TemporaryLinkStubs.cpp:
2849 2007-12-05 Alp Toker <alp@atoker.com>
2851 Rubber stamped by Mark Rowe.
2853 Remove DEPENDPATH on the generated sources directory. This causes
2854 trouble and is no longer necessary following the glib-genmarshal
2859 2007-12-04 Geoffrey Garen <ggaren@apple.com>
2861 Reviewed by Darin Adler.
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,
2868 This is a big change, but it's mostly code motion and renaming.
2870 2007-12-05 Darin Adler <darin@apple.com>
2872 "Reviewed" by Geoff.
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.
2879 2007-12-05 Darin Adler <darin@apple.com>
2881 Reviewed by Adam Roben.
2883 - fix http://bugs.webkit.org/show_bug.cgi?id=16306
2884 Assertion failed in WebCore/loader/FrameLoader.cpp:4642
2886 * loader/FrameLoader.cpp:
2887 (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
2888 and don't deliver the client call in that case.
2890 2007-12-05 Mark Rowe <mrowe@apple.com>
2892 Reviewed by Kevin Decker.
2894 Fix 64-bit debug build.
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.
2900 2007-12-05 Kevin Decker <kdecker@apple.com>
2904 <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
2906 * loader/FrameLoader.cpp:
2907 (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
2908 takeover TIFF once again.
2910 2007-12-05 Luca Bruno <lethalman88@gmail.com>
2912 Reviewed by Alp Toker.
2914 http://bugs.webkit.org/show_bug.cgi?id=16290
2915 [GTK] Pasting clipboard in rich text.
2917 * platform/gtk/PasteboardGtk.cpp:
2918 (Pasteboard::documentFragment): Implement rich text paste support.
2920 2007-12-05 Adele Peterson <adele@apple.com>
2924 Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
2926 We need to just fix the underlying focus ring repaint problem.
2928 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
2930 2007-12-04 Kevin McCullough <kmccullough@apple.com>
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.
2939 * loader/FrameLoader.cpp:
2941 2007-12-05 Adam Roben <aroben@apple.com>
2943 Set the menu item identifier for all menu items
2945 This allows WebKit clients to distinguish between submenus in the
2952 * platform/win/ContextMenuItemWin.cpp:
2953 (WebCore::ContextMenuItem::ContextMenuItem):
2955 2007-12-05 Dan Bernstein <mitz@apple.com>
2957 Reviewed by Darin Adler.
2959 - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
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
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
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
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.
2998 2007-12-04 Alp Toker <alp@atoker.com>
3000 Potential GTK+ build fix for the glib-genmarshal issue.
3002 Split the glib-genmarshal qmake generator in two; one for the source
3003 file, another for the header.
3007 2007-12-04 Alp Toker <alp@atoker.com>
3011 * platform/PlugInInfoStore.h:
3013 2007-12-04 Kevin Decker <kdecker@apple.com>
3017 <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
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.
3030 2007-12-04 Adele Peterson <adele@apple.com>
3034 Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3036 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
3037 Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
3039 2007-12-04 Anders Carlsson <andersca@apple.com>
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.
3047 * plugins/win/PluginStreamWin.cpp:
3048 (WebCore::PluginStreamWin::sendJavaScriptStream):
3049 Handle the result string being null, and set the correct NPReason if it is.
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.
3055 2007-12-04 Adele Peterson <adele@apple.com>
3059 Fix for <rdar://problem/5622464> controls should show up for audio element
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:
3070 2007-12-04 Anders Carlsson <andersca@apple.com>
3074 Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
3075 implementation, which always returns true(!).
3077 * bindings/js/kjs_window.cpp:
3078 (KJS::Window::isSafeScript):
3079 Make the static isSafeScript method take two JSGlobalObjects.
3081 * bindings/js/kjs_window.h:
3082 (KJS::Window::isSafeScript):
3083 Implement isSafeScript and have it call the static method.
3085 2007-11-27 Adam Roben <aroben@apple.com>
3087 Make the implementation of Frame::setNeedsReapplyStyles cross-platform
3091 No change in functionality.
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):
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
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.
3117 2007-12-04 Antti Koivisto <antti@apple.com>
3121 Pass intrinsic size to the base class.
3123 * rendering/RenderMedia.cpp:
3124 (WebCore::RenderMedia::RenderMedia):
3126 2007-12-04 Adele Peterson <adele@apple.com>
3130 Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
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.
3135 2007-12-04 Darin Adler <darin@apple.com>
3137 Reviewed by Kevin Decker.
3139 - added an assertion for a situation that leads to a Safari assertion:
3140 a commit that is not followed by a load completion
3142 - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
3143 class cut down to size
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.
3162 * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
3163 now-unneeded functions.
3165 * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
3167 * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
3168 the private browsing state from Settings instead of FrameLoaderClient.
3170 * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
3172 2007-12-03 Antti Koivisto <antti@apple.com>
3176 Fix <rdar://problem/5624802>
3177 Controller displays outside of <video> element when width and height aren't specified
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.
3184 Test: media/video-controls-rendering.html
3186 * rendering/RenderHTMLCanvas.cpp:
3187 (WebCore::RenderHTMLCanvas::paintReplaced):
3188 * rendering/RenderHTMLCanvas.h:
3190 * rendering/RenderImage.cpp:
3191 (WebCore::RenderImage::paintReplaced):
3192 (WebCore::RenderImage::minimumReplacedHeight):
3193 * rendering/RenderImage.h:
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):
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:
3228 2007-12-04 Michael Natterer <mitch@imendio.com>
3230 Reviewed by Alp Toker.
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.
3237 Add the generated sources directory to DEPENDPATH.
3239 2007-12-04 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
3241 Reviewed by Alp Toker.
3243 http://bugs.webkit.org/show_bug.cgi?id=16145
3244 [gtk] Implement media support in GTK backend
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.
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.
3260 This version displays video in a pop up window. A place holder is drawn
3261 on the page where the video should appear.
3263 By default, it is turned off in WebCore.pro until GStreamer/X
3264 detection issues are sorted out.
3267 Disable video for now
3268 * platform/Logging.cpp:
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.
3326 2007-12-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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
3335 * To make the InspectorClient work we will have to mark qrc as secure.
3338 * loader/FrameLoader.cpp:
3339 (WebCore::localSchemes):
3340 * page/inspector/WebKit.qrc: Added.
3342 2007-12-04 Alp Toker <alp@atoker.com>
3344 Rubber stamped by Mark Rowe.
3346 Remove two unused variables to silence warnings.
3348 * html/CanvasRenderingContext2D.cpp:
3349 (WebCore::CanvasRenderingContext2D::fill):
3350 (WebCore::CanvasRenderingContext2D::stroke):
3352 2007-12-03 Dan Bernstein <mitz@apple.com>
3354 Reviewed by Darin Adler.
3356 - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
3358 * platform/win/ScrollViewWin.cpp:
3359 (WebCore::ScrollView::visibleWidth): Do not return negative values.
3360 (WebCore::ScrollView::visibleHeight): Ditto.
3362 2007-12-03 Dan Bernstein <mitz@apple.com>
3364 Reviewed by Dave Hyatt.
3366 - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
3368 Test: fast/events/resize-subframe.html
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
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):
3389 * page/mac/WebCoreFrameBridge.h:
3390 * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
3391 is handled by FrameView now.
3393 2007-12-03 Rob Buis <buis@kde.org>
3397 http://bugs.webkit.org/show_bug.cgi?id=15767
3398 Text decorations do not respect "visibility" property
3400 Only paint decorations if visibility is "visible".
3402 * rendering/SVGInlineTextBox.cpp:
3403 (WebCore::SVGInlineTextBox::paintDecoration):
3405 2007-12-03 Steve Falkenburg <sfalken@apple.com>
3409 * WebCore.vcproj/WebCore.vcproj:
3411 2007-12-03 Nikolas Zimmermann <zimmermann@kde.org>
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).
3418 * css/CSSStyleSelector.cpp:
3419 (WebCore::CSSStyleSelector::checkSelector):
3421 2007-12-03 Dan Bernstein <mitz@apple.com>
3423 Reviewed by Adam Roben.
3425 - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
3427 Test: fast/dom/Document/replaceChild-null-oldChild.html
3430 (WebCore::Document::canReplaceChild):
3432 2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
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.
3443 WARNING: NO TEST CASES ADDED OR CHANGED
3445 * page/FrameView.cpp:
3446 (WebCore::FrameView::updateControlTints):
3448 * platform/ScrollView.h:
3449 * platform/qt/ScrollViewQt.cpp:
3450 (WebCore::ScrollView::children):
3452 2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3456 * Implement GraphicsContext::fillRoundedRect similiar to the
3457 CoreGraphics implementation only addPath is not called this
3458 seems to be only needed for CoreGraphics.
3461 WARNING: NO TEST CASES ADDED OR CHANGED
3463 * platform/graphics/qt/GraphicsContextQt.cpp:
3464 (WebCore::GraphicsContext::fillRoundedRect):
3466 2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3470 * Coding Style fixes
3473 WARNING: NO TEST CASES ADDED OR CHANGED
3475 * platform/qt/ScrollViewQt.cpp:
3476 (WebCore::ScrollView::addChild):
3477 (WebCore::ScrollView::removeChild):
3479 2007-12-03 Alp Toker <alp@atoker.com>
3481 Reviewed by Mark Rowe.
3483 Don't delete the decoder if it's already been created. The one we have
3486 Cairo image cleanups. Nothing substantial.
3488 Notify ImageObservers where appropriate.
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:
3497 2007-12-03 Simon Hausmann <hausmann@webkit.org>
3501 Fixed crash when rendering form elements with Qt 4.4
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.
3507 * platform/qt/RenderThemeQt.cpp:
3508 (WebCore::RenderThemeQt::paintButton):
3509 (WebCore::RenderThemeQt::paintTextField):
3510 (WebCore::RenderThemeQt::paintMenuList):
3511 (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
3513 2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3515 Reviewed by Sam Weinig.
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.
3524 * loader/FrameLoader.cpp:
3525 (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
3526 * loader/FrameLoader.h:
3527 * platform/SecurityOrigin.cpp:
3528 (WebCore::SecurityOrigin::isSecureTransitionTo):
3530 2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3532 Rubber stamped by Sam Weinig.
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.
3538 According to Anders applewebdata is not used on the win port.
3540 * loader/FrameLoader.cpp:
3541 (WebCore::localSchemes):
3543 2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>