1 2007-12-19 Geoffrey Garen <ggaren@apple.com>
3 Reviewed by Oliver Hunt.
6 * ForwardingHeaders/kjs/SymbolTable.h: Added.
7 * ForwardingHeaders/wtf/VectorTraits.h: Added.
9 * bindings/js/JSDOMWindowCustom.cpp:
10 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Replaced use of
11 getDirectLocation with getOwnPropertySlot. getDirectLocation is no
12 longer valid, since global declarations are not stored in the property
15 (WebCore::JSDOMWindow::customPut): Replaced use of JSObject::put with
16 JSGlobalObject::put. JSObject::put is no longer valid, since global
17 declarations are not stored in the property map.
19 * bindings/js/kjs_window.cpp: Replaced JSObject:: calls with Base::
20 calls, since JSObject is not our base class. This was always a bug, but
21 the bug is even more apparent after some of my changes.
23 (KJS::Window::clear): Removed call to clearProperties because
24 JSGlobalObject::reset takes care of that now.
26 * history/CachedPage.cpp:
27 * history/CachedPage.h: Added support for saving a symbol table and
28 localStorage to the page cache, and restoring it.
30 2007-12-19 Dan Bernstein <mitz@apple.com>
32 Reviewed by Darin Adler and Dave Hyatt.
34 - Substitute the user's preferred standard font for an unknown primary
35 font before falling back on the platform's last resort font
37 Cannot be tested in DumpRenderTree because it sets the standard font to
38 Times, which is also the hard-coded last resort font on Mac.
40 * css/CSSFontSelector.cpp:
41 (WebCore::CSSFontSelector::getFontData): Changed the early bail out
42 condition to allow getting generic font families from settings even if
43 there are not @font-face rules. Fixed a typo that mapped fantasy to
44 cursive. Added a mapping from -webkit-standard to the standard family.
45 * css/CSSStyleSelector.cpp:
46 (WebCore::CSSStyleSelector::CSSStyleSelector): Changed to always create
48 (WebCore::CSSRuleSet::addRulesFromSheet):
49 (WebCore::CSSStyleSelector::applyProperty): Changed to always use the
51 * css/CSSStyleSelector.h:
52 (WebCore::CSSStyleSelector::fontSelector):
53 * platform/graphics/FontCache.cpp:
54 (WebCore::FontCache::getFontData): Try the user's preferred standard
55 font before the platform's last resort font.
57 2007-12-19 Sven Herzberg <sven@imendio.com>
59 Reviewed by Alp Toker.
61 Scaled font destruction takes place in FontData::platformDestroy(). No
62 need to do it in FontPlatformData::~FontPlatformData().
64 Destroying platform data in platformDestroy() is a convention we
65 borrow from the Mac and Win ports.
67 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
69 2007-12-19 Alice Liu <alice.liu@apple.com>
73 Changed uint to unsigned int. uint caused Windows build breakage
76 (WebCore::Page::markAllMatchesForText):
79 2007-12-19 Christian Dywan <christian@twotoasts.de>
81 Reviewed by Alp Toker.
83 http://bugs.webkit.org/show_bug.cgi?id=16222
84 [GTK] Implement inline search and highlighting of matching strings.
86 Implement search and highlighting logic directly in WebCore.
89 (WebCore::incrementFrame):
90 (WebCore::Page::findString):
91 (WebCore::Page::markAllMatchesForText):
92 (WebCore::Page::unmarkAllTextMatches):
95 2007-12-19 Geoffrey Garen <ggaren@apple.com>
97 Reviewed by Sam Weinig, Dan Bernstein.
99 Tiger build fix: restored some graphics code still needed on Tiger.
101 * platform/graphics/GraphicsTypes.h:
102 * platform/graphics/cg/GraphicsContextCG.cpp:
103 * platform/graphics/mac/GraphicsContextMac.mm:
104 (WebCore::GraphicsContext::setCompositeOperation):
106 2007-12-19 Alp Toker <alp@atoker.com>
108 Build fix for Pango < 1.18.0 breakage introduced in r28864. Use Fc and
109 the Pango backend API in these cases.
111 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
112 (WebCore::FontPlatformData::FontPlatformData):
113 (WebCore::FontPlatformData::~FontPlatformData):
115 2007-12-19 Alice Liu <alice.liu@apple.com>
119 Fixed <rdar://problem/5592485> Safari crashed trying to get a motorcycle insurance quote
120 on Geico.com WebCore::Document::inPageCache()
122 Calling Node::willRemove on the focusedNode would immediately tell the document to remove
123 the focused node, and trigger JS events. This means that the document is mutated while
124 the engine is trying to tell all child nodes that it's about to removed. To avoid
125 crashing, we need to hold off on mutating the document until node traversal is finished.
127 * dom/ContainerNode.cpp:
128 (WebCore::ContainerNode::removeChild):
129 (WebCore::ContainerNode::removeChildren):
132 (WebCore::Node::willRemove):
133 * loader/FrameLoader.cpp:
134 (WebCore::FrameLoader::clear):
136 2007-12-19 Andre Boule <aboule@apple.com>
138 Reviewed by Dan Bernstein.
140 Test: fast/canvas/canvas-composite.html
143 <rdar://problem/5640059> GraphicsContext::setCompositeOperation should use CGContextSetBlendMode
145 This fix makes setCompositeOperation consistent across all platforms that use CG.
147 The following compositing modes don't pass however that is covered by another bug:
153 <rdar://problem/5651783> Some canvas tag compositing modes don't render correctly
155 * platform/graphics/GraphicsTypes.h:
156 * platform/graphics/cg/GraphicsContextCG.cpp:
157 (WebCore::GraphicsContext::setCompositeOperation):
158 * platform/graphics/mac/GraphicsContextMac.mm:
159 * platform/win/GraphicsContextWin.cpp:
161 2007-12-19 Dan Bernstein <mitz@apple.com>
163 Reviewed by Dave Hyatt.
165 - fix <rdar://problem/5650045> REGRESSION: major layout problems in svn r28754 WebKit on Vox.com page
167 Test: fast/dynamic/subtree-boundary-percent-height.html
169 * rendering/RenderObject.cpp:
170 (WebCore::objectIsRelayoutBoundary): Do not allow overflows with
171 percent heights because sometimes they compute to 'auto'.
173 2007-12-19 Sam Weinig <sam@webkit.org>
177 http://bugs.webkit.org/show_bug.cgi?id=16511
178 Speed up ClassNodeList and NamedNodeList by using the caching mechanism employed by ChildNodeList.
179 - This give a ~2.15x speedup on the native test @ http://ejohn.org/apps/classname/
181 * dom/ChildNodeList.cpp: Use the caching NodeList constructor to turn on caching.
182 (WebCore::ChildNodeList::ChildNodeList):
183 * dom/ClassNodeList.cpp:
184 (WebCore::ClassNodeList::ClassNodeList):
185 * dom/ClassNodeList.h:
187 Move getElementsByName and getElementsByClassName to Node so they
188 can use easily employ the caching already used by ChildNodeLists. In the case of
189 getElementsByClassName, this reduces code duplication in Element as well
193 Move getElementsByClassName to Node.
197 * dom/NameNodeList.cpp: Use the caching NodeList constructor to turn on caching.
198 (WebCore::NameNodeList::NameNodeList):
199 (WebCore::NameNodeList::item):
200 * dom/NameNodeList.h:
202 Add maps of caches for ClassNodeLists and NameNodeList to NodeListsNodeData.
204 (WebCore::TagNodeList::TagNodeList):
205 (WebCore::Node::Node):
206 (WebCore::Node::~Node):
207 (WebCore::Node::childNodes):
208 (WebCore::Node::registerNodeList):
209 (WebCore::Node::getElementsByName):
210 (WebCore::Node::getElementsByClassName):
211 * dom/Node.h: Make m_nodeLists an OwnPtr. Moved getElementsByName and getElementsByClassName here
213 Allow subclasses to choose whether they want to receive the notifications using a new bit.
215 (WebCore::NodeList::NodeList):
217 (WebCore::NodeList::needsNotifications):
219 2007-12-19 Dave Hyatt <hyatt@apple.com>
221 Add support for GDI text rendering to WebKit.
225 * css/CSSStyleSelector.cpp:
226 (WebCore::CSSStyleSelector::applyProperty):
228 (WebCore::Document::recalcStyle):
230 (WebCore::Settings::setFontRenderingMode):
231 (WebCore::Settings::fontRenderingMode):
233 * platform/graphics/Font.h:
234 (WebCore::Font::renderingMode):
235 * platform/graphics/FontCache.cpp:
236 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
237 (WebCore::FontPlatformDataCacheKey::operator==):
238 (WebCore::computeHash):
239 (WebCore::FontCache::getCachedFontPlatformData):
240 * platform/graphics/FontDescription.h:
242 (WebCore::FontDescription::FontDescription):
243 (WebCore::FontDescription::renderingMode):
244 (WebCore::FontDescription::setRenderingMode):
245 (WebCore::FontDescription::operator==):
246 * platform/graphics/GraphicsContext.h:
247 * platform/graphics/win/FontCacheWin.cpp:
248 (WebCore::FontCache::fontExists):
249 (WebCore::FontCache::createFontPlatformData):
250 * platform/graphics/win/FontDataWin.cpp:
251 (WebCore::FontData::platformInit):
252 (WebCore::FontData::smallCapsFontData):
253 (WebCore::FontData::containsCharacters):
254 (WebCore::FontData::determinePitch):
255 (WebCore::FontData::platformWidthForGlyph):
256 * platform/graphics/win/FontPlatformData.h:
257 (WebCore::FontPlatformData::FontPlatformData):
258 (WebCore::FontPlatformData::useGDI):
259 (WebCore::FontPlatformData::operator==):
260 * platform/graphics/win/FontPlatformDataWin.cpp:
261 (WebCore::FontPlatformData::FontPlatformData):
262 * platform/graphics/win/FontWin.cpp:
263 (WebCore::Font::drawGlyphs):
264 * platform/graphics/win/IconWin.cpp:
265 (WebCore::Icon::paint):
266 * platform/win/GraphicsContextWin.cpp:
267 (WebCore::GraphicsContext::getWindowsContext):
268 (WebCore::GraphicsContext::releaseWindowsContext):
269 * platform/win/UniscribeController.cpp:
270 (WebCore::UniscribeController::shapeAndPlaceItem):
271 * platform/win/UniscribeController.h:
272 * plugins/win/PluginViewWin.cpp:
273 (WebCore::PluginViewWin::paint):
275 2007-12-19 Sven Herzberg <sven@imendio.com>
277 Reviewed by Alp Toker.
279 Replace the fontconfig/freetype based font management with a pango
281 http://bugs.webkit.org/show_bug.cgi?id=15229
283 * platform/gtk/FontDataGtk.cpp (FontData::platformDestroy()): updated
284 the platform specific destroy code
285 (FontData::containsCharacters()): implemented font coverage with pango
286 * platform/gtk/FontPlatformData.h: replaced fontconfig specific
287 members with pango-specific ones
288 * platform/gtk/FontPlatformDataGtk.cpp: added static members for the
289 FontPlatformData class
290 (FontPlatformData::FontPlatformData()): implemented the font-matching
291 with a PangoFontDescription instead of an FcPattern; initialize the
292 scaled font by using the API for PangoCairoFont
293 (FontPlatformData::init()): initialize the PangoFontMap and set up a
294 hash table to translate the font family name into a font family
295 (FontPlatformData::isFixedPitch()): implemented by querying the
297 (FontPlatformData::operator==): compare the FontPlatformData by
298 comparing the font pointers or the described fonts
299 * platform/gtk/GlyphPageTreeNodeGtk.cpp (pango_font_get_glyph()):
300 added a function to query a glyph from a PangoFont
301 (GlyphPage::fill()): implemented the fill function with Pango instead
302 of fontconfig/freetype
304 2007-12-19 Alp Toker <alp@atoker.com>
306 Reviewed by Holger Freyther.
308 Improve graphics operator approximations
310 These changes match Cairo's own CG approximations.
312 * platform/graphics/cairo/GraphicsContextCairo.cpp:
313 (WebCore::toCairoOperator):
315 2007-12-19 Alp Toker <alp@atoker.com>
317 Reviewed by Holger Freyther.
319 Check the bounding box before doing a full hit test
321 * platform/graphics/cairo/PathCairo.cpp:
322 (WebCore::Path::contains):
324 2007-12-18 Sam Weinig <sam@webkit.org>
328 Fix for <rdar://problem/5646478>
329 REGRESSION: fast/events/event-view-toString fails on Leopard
331 This fixes an issue where we were incorrectly setting the lastInPrototypeChain
332 for the JSDOMWindow (the global object) before a call to setPrototype overwrote
333 it. This fixes it by passing the prototype up the constructor chain so that it
334 is set before any calls can be made.
336 * bindings/js/kjs_window.cpp:
337 (KJS::Window::Window):
338 * bindings/js/kjs_window.h:
339 * bindings/scripts/CodeGeneratorJS.pm:
341 2007-12-18 Beth Dakin <bdakin@apple.com>
345 Fix for <rdar://problem/5616982> SVGs with width and height 100%
346 fail to render when used as <img> or CSS image (16167)
348 This final part of the work fixes the <img> tag.
350 This is the real fix.
351 * rendering/RenderImage.cpp:
352 (WebCore::RenderImage::calcReplacedWidth): Set the container size
353 on the image. Setting the container size only actually sticks if
354 the values are non-zero, so if the container size really was set,
355 use the imageSize that is calculated using the container size. If
356 it did not stick but the image does have relative width (meaning
357 that the container size is 0), set the width to 0 by hand. We want
358 to avoid setting the width before we have a container size or we
359 will end up incorrectly using the default size of 300x150.
360 (WebCore::RenderImage::calcReplacedHeight): Same as above, but for
363 A few more pieces of information have to be exposed through cached
364 image to make this happen.
365 * loader/CachedImage.cpp:
366 (WebCore::CachedImage::usesImageContainerSize): As mentioned above,
367 when setContainerSize() is called, the container size is only
368 actually set if the values are non-zero. This call tells you if it
370 (WebCore::CachedImage::imageHasRelativeWidth):
371 (WebCore::CachedImage::imageHasRelativeHeight):
372 * loader/CachedImage.h:
373 * platform/graphics/Image.h:
374 (WebCore::Image::usesContainerSize):
375 * svg/graphics/SVGImage.cpp:
376 (WebCore::SVGImage::usesContainerSize):
377 * svg/graphics/SVGImage.h:
379 2007-12-18 Mark Rowe <mrowe@apple.com>
381 Rubber-stamped by Maciej Stachowiak.
383 Remove outdated and non-functioning project files for the Apollo port.
385 * WebCore.apolloproj: Removed.
387 2007-12-18 Steve Falkenburg <sfalken@apple.com>
389 <rdar://problem/5649911> REGRESSION (304-306A9): Typing 'p' in popup menu for type-to-select brings up Safari Help
391 Need to translate the char back into a key code for posting our WM_KEYDOWN.
395 * platform/win/PopupMenuWin.cpp:
396 (WebCore::PopupWndProc):
398 2007-12-18 Steve Falkenburg <sfalken@apple.com>
400 <rdar://problem/5651534> REGRESSION(r28764-r28765): GDI leak drawing text when no appropriate font is available
402 Our captured metafile from Uniscribe may contain multiple calls to CreateFontIndirect.
403 Only create a font with the last one.
405 Reviewed by Mitz, Darin.
407 * platform/graphics/win/FontCacheWin.cpp:
408 (WebCore::metaFileEnumProc):
409 (WebCore::FontCache::getFontDataForCharacters):
411 2007-12-17 Brent Fulgham <bfulgham@gmail.com>
415 http://bugs.webkit.org/show_bug.cgi?id=16464
416 Modify WebCore to use win32 thread primitives
418 Updates to support native windows threading primitives
419 rather than pthreads emulation library.
421 * WebCore.vcproj/WebCore.vcproj:
423 * platform/Threading.h:
424 * platform/win/MutexWin.cpp: Added.
425 (WebCore::Mutex::Mutex):
426 (WebCore::Mutex::~Mutex):
427 (WebCore::Mutex::lock):
428 (WebCore::Mutex::tryLock):
429 (WebCore::Mutex::unlock):
430 * platform/win/ThreadConditionWin.cpp: Added.
431 (WebCore::ThreadCondition::ThreadCondition):
432 (WebCore::ThreadCondition::~ThreadCondition):
433 (WebCore::ThreadCondition::wait):
434 (WebCore::ThreadCondition::signal):
435 (WebCore::ThreadCondition::broadcast):
436 * platform/win/ThreadingWin.cpp:
437 (WebCore::threadMapMutex):
438 (WebCore::threadMap):
439 (WebCore::storeThreadHandleByIdentifier):
440 (WebCore::identifierByThreadHandle):
441 (WebCore::threadHandleForIdentifier):
442 (WebCore::clearThreadHandleForIdentifier):
443 (WebCore::createThread):
444 (WebCore::waitForThreadCompletion):
445 (WebCore::detachThread):
446 (WebCore::currentThread):
448 2007-12-18 Rodney Dawes <dobey@wayofthemonkey.com>
450 Reviewed by Darin Adler.
452 Handle EINTR when set by select() and try the select() again
453 http://bugs.webkit.org/show_bug.cgi?id=16071
455 * platform/network/curl/ResourceHandleManager.cpp:
456 (ResourceHandleManager::downloadTimerCallback):
458 2007-12-18 Dan Bernstein <mitz@apple.com>
460 Reviewed by Dave Hyatt.
462 - avoid the simplified Chinese font linking code for characters that are
463 not in any Windows code page
465 * platform/graphics/win/FontCacheWin.cpp:
466 (WebCore::FontCache::getFontDataForCharacters):
468 2007-12-18 Brady Eidson <beidson@apple.com>
472 <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
474 Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
475 protected by authentication. Occasionally one can view the main page of a site but the favicon
476 is behind the iron curtain - in these cases, we should *not* prompt for a username and password
477 solely for the favicon.
479 * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
481 * loader/SubresourceLoader.cpp:
482 (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
483 is virtual from ResourceLoader, SubresourceLoader can override. First call to the
484 SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let
485 ResourceLoader work its magic (resulting in the auth sheet coming down)
486 * loader/SubresourceLoader.h:
488 * loader/SubresourceLoaderClient.h:
489 (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
491 * loader/icon/IconLoader.cpp:
492 (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
493 never prompt the user for credentials just for a favicon.
494 * loader/icon/IconLoader.h:
496 2007-12-18 John Sullivan <sullivan@apple.com>
500 - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
502 * storage/DatabaseTracker.cpp:
503 (WebCore::DatabaseTracker::canEstablishDatabase):
504 pass "name" instead of "displayName" if there's no displayName
506 2007-12-17 Dan Bernstein <mitz@apple.com>
508 Reviewed by Maciej Stachowiak.
510 - restore ButtonFace and ThreeDFace to their previous values for non-Mac
511 platforms. The Mac port also uses the same values for now instead
512 of NSColor-based ones.
514 * rendering/RenderTheme.cpp:
515 (WebCore::RenderTheme::systemColor):
517 2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com>
519 Reviewed by Maciej Stachowiak.
521 Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
522 Add required Frame::createScriptInstanceForWidget to FrameGtk
525 * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
527 2007-12-17 Alice Liu <alice.liu@apple.com>
531 Fixed <rdar://5566435> window with no scrollbars can be scrolled
533 * platform/win/ScrollViewWin.cpp:
534 (WebCore::ScrollView::maximumScroll):
535 corrected maximumScroll() to account for scrolling not allowed.
536 (WebCore::ScrollView::wheelEvent):
538 2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
540 Reviewed by Alp Toker.
542 http://bugs.webkit.org/show_bug.cgi?id=16042
543 [GTK] Eliminate webkit_init()
545 Move webkit initialization to WebView class init.
549 2007-12-17 Jon Honeycutt <jhoneycutt@apple.com>
553 <rdar://problem/5651291> REGRESSION: Flash content doesn't display
556 We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
558 * plugins/win/PluginViewWin.cpp:
559 (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
561 (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
562 (WebCore::PluginViewWin::handleKeyboardEvent): same
563 (WebCore::PluginViewWin::handleMouseEvent): same
564 * plugins/win/PluginViewWin.h:
566 2007-12-17 Alexey Proskuryakov <ap@webkit.org>
570 Live to the promise of never making AppKit special character codes visible via DOM.
572 Test: fast/events/arrow-keys-on-body.html
574 * page/EventHandler.cpp:
575 (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
576 to let quirks-aware code strip special charactrers.
577 * platform/mac/KeyEventMac.mm:
578 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
579 mode, remove the text if it's a special character.
581 2007-12-17 Mark Rowe <mrowe@apple.com>
583 Reviewed by Darin Adler.
585 Fix incorrect array size and incorrect array index in convertNSColorToColor.
587 * rendering/RenderThemeMac.mm:
588 (WebCore::convertNSColorToColor):
590 2007-12-17 Darin Adler <darin@apple.com>
592 Reviewed by Mark Rowe.
594 - fix http://bugs.webkit.org/show_bug.cgi?id=16468
595 REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
597 * storage/DatabaseThread.cpp:
598 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
599 because there's no guarantee it won't lose its last reference otherwise.
601 2007-12-17 Dan Bernstein <mitz@apple.com>
603 Reviewed by Maciej Stachowiak.
605 - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
606 and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
608 * platform/graphics/win/FontCacheWin.cpp:
609 (WebCore::FontCache::getFontDataForCharacters): To ensure that font
610 linking gives consistent results for characters that are exclusive to
611 the simplified Chinese code page and characters that belong to that
612 code page and other code pages, always ask to map to simplified Chinese
615 2007-12-17 Christian Dywan <christian@twotoasts.de>
617 Reviewed by Alp Toker.
619 http://bugs.webkit.org/show_bug.cgi?id=16378
620 Implement Icon for Gtk
622 Icon provides a GdkPixbuf containing a themed icon.
623 The icon theme is probed for an icon name according to the
624 Icon Naming Specification or conventional Gnome icon names respectively.
626 See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
628 * platform/graphics/Icon.h:
629 * platform/graphics/gtk/IconGtk.cpp:
630 (WebCore::Icon::~Icon):
631 (WebCore::lookupIconName):
632 (WebCore::Icon::newIconForFile):
633 (WebCore::Icon::paint):
635 2007-12-16 Sam Weinig <sam@webkit.org>
639 Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
640 Move the JS Location object to its own file
642 - Move Location into its own file and rename it JSLocation.
644 * DerivedSources.make:
646 * WebCore.vcproj/WebCore.vcproj:
647 * WebCore.xcodeproj/project.pbxproj:
648 * WebCoreSources.bkl:
649 * bindings/js/JSDocumentCustom.cpp:
650 * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
652 (WebCore::JSLocation::JSLocation):
653 (WebCore::JSLocation::getValueProperty):
654 (WebCore::JSLocation::getOwnPropertySlot):
655 (WebCore::JSLocation::put):
656 (WebCore::JSLocationProtoFuncReplace::callAsFunction):
657 (WebCore::JSLocationProtoFuncReload::callAsFunction):
658 (WebCore::JSLocationProtoFuncAssign::callAsFunction):
659 (WebCore::JSLocationProtoFuncToString::callAsFunction):
660 * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
661 (WebCore::JSLocation::):
662 (WebCore::JSLocation::frame):
663 (WebCore::JSLocation::classInfo):
664 * bindings/js/kjs_window.cpp:
665 (KJS::Window::location):
666 * bindings/js/kjs_window.h:
667 * history/CachedPage.cpp:
669 2007-12-16 Dan Bernstein <mitz@apple.com>
671 Reviewed by Sam Weinig.
673 - make 'cursor: copy' and 'cursor: none' work.
675 Already covered by manual-tests/cursor.html
677 * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
678 needed for the 33rd and 34th cursor values.
680 2007-12-16 Mark Rowe <mrowe@apple.com>
682 Reviewed by Maciej Stachowiak.
684 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
687 * WebCore.xcodeproj/project.pbxproj:
688 * loader/NetscapePlugInStreamLoader.h:
689 * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
690 * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
692 2007-12-16 Sam Weinig <sam@webkit.org>
696 Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
699 - Move ScheduledAction into its own file and put it in the WebCore namespace.
702 * WebCore.vcproj/WebCore.vcproj:
703 * WebCore.xcodeproj/project.pbxproj:
704 * WebCoreSources.bkl:
705 * bindings/js/PausedTimeouts.cpp:
706 * bindings/js/PausedTimeouts.h:
707 * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
708 (WebCore::ScheduledAction::ScheduledAction):
709 (WebCore::ScheduledAction::execute):
710 * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
711 (WebCore::ScheduledAction::ScheduledAction):
712 * bindings/js/kjs_window.cpp:
713 (KJS::DOMWindowTimer::DOMWindowTimer):
714 (KJS::DOMWindowTimer::action):
715 (KJS::DOMWindowTimer::takeAction):
716 (KJS::Window::installTimeout):
717 (KJS::Window::timerFired):
718 * bindings/js/kjs_window.h:
720 2007-12-16 Alp Toker <alp@atoker.com>
724 http://bugs.webkit.org/show_bug.cgi?id=16356
725 [GTK] Integrate GStreamer video with the graphics backend
727 Integrate the GStreamer media backend with the Cairo graphics backend.
728 There are still some issues: Data is copied more often than necessary,
729 and repaint() is not called, causing transformed video not to update
733 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
734 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
735 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
736 (WebCore::MediaPlayerPrivate::currentTime):
737 (WebCore::MediaPlayerPrivate::setEndTime):
738 (WebCore::MediaPlayerPrivate::seeking):
739 (WebCore::MediaPlayerPrivate::naturalSize):
740 (WebCore::MediaPlayerPrivate::setMuted):
741 (WebCore::MediaPlayerPrivate::setRect):
742 (WebCore::MediaPlayerPrivate::setVisible):
743 (WebCore::MediaPlayerPrivate::repaint):
744 (WebCore::MediaPlayerPrivate::paint):
745 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
746 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
747 * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
748 (webkit_video_sink_base_init):
749 (webkit_video_sink_init):
750 (webkit_video_sink_idle_func):
751 (webkit_video_sink_render):
752 (webkit_video_sink_set_caps):
753 (webkit_video_sink_dispose):
754 (webkit_video_sink_finalize):
755 (webkit_video_sink_set_property):
756 (webkit_video_sink_get_property):
757 (webkit_video_sink_stop):
758 (webkit_video_sink_class_init):
759 (webkit_video_sink_new):
760 (webkit_video_sink_set_surface):
762 * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
764 2007-12-16 Mark Rowe <mrowe@apple.com>
768 * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
769 Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
770 new shared implementation.
772 2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com>
774 Reviewed by Maciej Stachowiak.
776 http://bugs.webkit.org/show_bug.cgi?id=16389
777 Bug 16389: Common Implementation of NetscapePlugInStreamLoader
779 * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
780 * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
781 * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
783 2007-12-16 Grace Kloba <klobag@gmail.com>
785 Reviewed by Darin Adler.
787 Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
788 Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
791 (WebCore::Document::Document):
792 * loader/FrameLoader.cpp:
793 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
794 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
796 2007-12-16 Darin Adler <darin@apple.com>
800 - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
802 Test: storage/execute-sql-args.html
804 * bindings/js/JSSQLTransactionCustom.cpp:
805 (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
806 exception happens, we won't try to do any more argument processing. Changed processing
807 of the second argument so that we allow an undefined value or null, and simply omit the
808 array. Changed processing of the second argument so that we don't require an actual
809 JavaScript array. Instead, as with the JavaScript array operations themselves, we use
810 the length property and corresponding numeric properties of the object, allowing other
811 objects to act as arrays. Changed processing of the third and fourth arguments to
812 allow the undefined value as well as null; we check the value of the argument rather
813 than looking at the size of the passed-in arguments list.
815 2007-12-16 Sam Weinig <sam@webkit.org>
819 More of http://bugs.webkit.org/show_bug.cgi?id=16385
822 - Move PausedTimeouts into its own file and put it in the WebCore namespace.
825 * WebCore.vcproj/WebCore.vcproj:
826 * WebCore.xcodeproj/project.pbxproj:
827 * WebCoreSources.bkl:
828 * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
829 * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
830 * bindings/js/kjs_window.cpp:
831 (KJS::Window::pauseTimeouts):
832 * bindings/js/kjs_window.h:
833 * history/CachedPage.cpp:
834 * history/CachedPage.h:
837 2007-12-16 Beth Dakin <bdakin@apple.com>
841 Make relative-size SVGs work in border-image.
843 * rendering/RenderBox.cpp:
844 (WebCore::RenderBox::calculateBackgroundSize):
845 * rendering/RenderObject.cpp:
846 (WebCore::RenderObject::paintBorderImage):
848 2007-12-16 Darin Adler <darin@apple.com>
850 - fix Tiger build (my fault it was broken)
852 * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
854 2007-12-16 Andrew Wellington <proton@wiretapped.net>
858 http://bugs.webkit.org/show_bug.cgi?id=6129
859 Incomplete implementation of CSS 2.1 system colors
861 Test: fast/css/css2-system-color.html
863 Based on original patch by Rob Buis.
865 System colors are retrieved from NSColor as appropriate. If the color is a pattern color
866 (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
867 color and sample that to get a solid color.
869 * css/CSSStyleSelector.cpp:
871 (WebCore::colorForCSSValue):
872 * rendering/RenderTheme.cpp:
873 (WebCore::RenderTheme::systemColor):
874 * rendering/RenderTheme.h:
875 * rendering/RenderThemeMac.h:
876 * rendering/RenderThemeMac.mm:
877 (WebCore::getSystemColor):
878 (WebCore::RenderThemeMac::platformColorsDidChange):
879 (WebCore::RenderThemeMac::systemColor):
881 2007-12-16 Dan Bernstein <mitz@apple.com>
883 Reviewed by Darin Adler.
885 - fix http://bugs.webkit.org/show_bug.cgi?id=16426
886 Divs with overflow:auto: scrollbars not correctly updated when contents change
888 Test: fast/overflow/scrollbar-position-update.html
890 * platform/mac/PlatformScrollBarMac.mm:
891 (WebCore::PlatformScrollbar::updateThumbProportion): Update the
892 NSScroller's value for the new proportions.
893 * rendering/RenderLayer.cpp:
894 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
895 repaint(). Scrollbars repaint themselves as needed.
897 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
901 http://bugs.webkit.org/show_bug.cgi?id=14140
902 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
904 * dom/KeyboardEvent.h:
905 (WebCore::KeypressCommand::KeypressCommand):
906 (WebCore::KeyboardEvent::keypressCommands):
907 Change stored command class to preserve complete information about commands.
909 * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
910 command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
913 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
914 a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
916 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
920 http://bugs.webkit.org/show_bug.cgi?id=16462
921 REGRESSION: access keys broken on Windows
923 * page/EventHandler.cpp:
924 (WebCore::EventHandler::handleAccessKey):
925 (WebCore::EventHandler::keyEvent):
926 * page/EventHandler.h:
927 Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
929 2007-12-16 Xan Lopez <xan@gnome.org>
931 Reviewed by Alexey Proskuryakov.
933 http://bugs.webkit.org/show_bug.cgi?id=16454
934 [GTK] Text input doesn't work consistently on PPC
936 * platform/gtk/KeyEventGtk.cpp:
937 (WebCore::singleCharacterString):
939 UChar is 2 bytes (UTF-16), so transform accordingly from
940 gunichar (UCS-4). Fixes keyboard input on big endian systems.
942 2007-12-15 Darin Adler <darin@apple.com>
944 Reviewed by Mark Rowe.
946 - better build fix for the problem affecting GTK and some other platforms
949 * WebCore.xcodeproj/project.pbxproj:
950 * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
951 * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
952 which won't work, declare the tables that are in the .lut.h file in the header.
954 2007-12-12 Kevin Watters <kevin@dotsyntax.com>
956 Reviewed by Darin Adler.
958 Fixed the Wx port's FontPlatformData for use in HashTable.
959 - FontPlatformData(Deleted) made unequal to FontPlatformData()
961 * platform/graphics/wx/FontPlatformData
963 2007-12-15 Dan Bernstein <mitz@apple.com>
965 Reviewed by Darin Adler.
967 - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
969 * platform/graphics/win/FontCacheWin.cpp:
970 (WebCore::metaFileEnumProc): Added. Called during metafile record
971 enumeration and extracts the font from the create font record.
972 (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
973 let Uniscribe draw the characters and see what font it chooses.
975 2007-12-15 Darin Adler <darin@apple.com>
977 * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
979 2007-12-15 Darin Adler <darin@apple.com>
981 Another try at a GTK build fix.
983 * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
985 2007-12-15 Sam Weinig <sam@webkit.org>
987 Force windows to regenerate COM DOM bindings.
989 * WebCore.vcproj/build-generated-files.sh: Add license.
990 * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
992 2007-12-15 Sam Weinig <sam@webkit.org>
994 Fix Windows and wx builds.
996 * WebCore.vcproj/WebCore.vcproj:
997 * WebCoreSources.bkl:
999 2007-12-15 Mark Rowe <mrowe@apple.com>
1001 Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
1005 2007-12-15 Sam Weinig <sam@webkit.org>
1009 * WebCoreSources.bkl:
1011 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
1013 Not reviewed. Build fix for Qt/Gtk.
1015 * WebCore.pro: Include JSEventTargetBase.lut.h in generation
1017 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
1021 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
1023 Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
1024 in the base class. Applied the same refactorization to EventTargetNode.
1026 This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
1027 to share as much code as possible with the EventTargetNode classes.
1029 * DerivedSources.make:
1030 * WebCore.xcodeproj/project.pbxproj:
1031 * bindings/js/JSEventTargetBase.cpp: Added.
1032 (WebCore::retrieveEventTargetAndCorrespondingNode):
1033 (WebCore::eventNameForPropertyToken):
1034 * bindings/js/JSEventTargetBase.h: Added.
1035 (WebCore::JSEventTargetProperties::):
1036 (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
1037 (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
1039 (WebCore::::create):
1040 (WebCore::JSEventTargetBase::JSEventTargetBase):
1041 (WebCore::JSEventTargetBase::getValueProperty):
1042 (WebCore::JSEventTargetBase::putValueProperty):
1043 (WebCore::JSEventTargetBase::getOwnPropertySlot):
1044 (WebCore::JSEventTargetBase::put):
1045 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
1046 (WebCore::JSEventTargetPrototype::self):
1047 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
1048 (WebCore::JSEventTargetPrototype::classInfo):
1049 * bindings/js/JSEventTargetNode.cpp:
1050 (WebCore::JSEventTargetNode::getOwnPropertySlot):
1051 (WebCore::JSEventTargetNode::getValueProperty):
1052 (WebCore::JSEventTargetNode::put):
1053 (WebCore::JSEventTargetNode::putValueProperty):
1054 (WebCore::JSEventTargetNode::setListener):
1055 (WebCore::toEventTargetNode):
1056 * bindings/js/JSEventTargetNode.h:
1057 (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
1058 (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
1059 * dom/EventTarget.cpp:
1060 (WebCore::EventTarget::addEventListener):
1061 (WebCore::EventTarget::removeEventListener):
1062 (WebCore::EventTarget::dispatchGenericEvent):
1063 (WebCore::EventTarget::removeAllEventListeners):
1064 (WebCore::EventTarget::insertedIntoDocument):
1065 (WebCore::EventTarget::removedFromDocument):
1066 (WebCore::EventTarget::handleLocalEvents):
1067 (WebCore::EventTarget::applySVGEventTargetRules):
1068 (WebCore::forbidEventDispatch):
1069 (WebCore::allowEventDispatch):
1070 (WebCore::eventDispatchForbidden):
1071 * dom/EventTarget.h:
1072 (WebCore::EventTarget::preDispatchEventHandler):
1073 (WebCore::EventTarget::postDispatchEventHandler):
1074 (WebCore::forbidEventDispatch):
1075 (WebCore::allowEventDispatch):
1076 * dom/EventTargetNode.cpp:
1077 (WebCore::EventTargetNode::~EventTargetNode):
1078 (WebCore::EventTargetNode::insertedIntoDocument):
1079 (WebCore::EventTargetNode::removedFromDocument):
1080 (WebCore::EventTargetNode::addEventListener):
1081 (WebCore::EventTargetNode::removeEventListener):
1082 (WebCore::EventTargetNode::removeAllEventListeners):
1083 (WebCore::EventTargetNode::handleLocalEvents):
1084 (WebCore::EventTargetNode::dispatchEvent):
1085 (WebCore::EventTargetNode::dispatchWindowEvent):
1086 * dom/EventTargetNode.h:
1087 (WebCore::EventTargetNode::localEventListeners):
1088 * svg/SVGElement.cpp:
1089 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
1090 (WebCore::SVGElement::dispatchEvent):
1092 2007-12-15 Eric Seidel <eric@webkit.org>
1096 Width of SVG elements not applied to container elements
1097 http://bugs.webkit.org/show_bug.cgi?id=16305
1098 Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
1099 This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
1101 svg/css/css-box-min-width.html
1103 * rendering/RenderSVGRoot.cpp:
1104 (WebCore::RenderSVGRoot::calcPrefWidths): Added.
1105 * rendering/RenderSVGRoot.h:
1106 * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
1108 2007-12-15 David Kilzer <ddkilzer@apple.com>
1110 Fix comment after isSafeScript() was renamed to allowsAccessFrom().
1112 * bindings/js/kjs_window.cpp:
1113 (KJS::createWindow):
1115 2007-12-15 Alp Toker <alp@atoker.com>
1117 Reviewed by Mark Rowe.
1119 http://bugs.webkit.org/show_bug.cgi?id=16449
1120 cairo_arc() functions hang or crash when passed inf as radius or start/end angle
1122 Add checks. This matches a similar workaround for a CG bug in the CG
1123 graphics backend: <rdar://problem/5189233>
1126 fast/canvas/arc-crash.html
1127 fast/canvas/canvas-with-incorrect-args.html
1129 * platform/graphics/cairo/PathCairo.cpp:
1130 (WebCore::Path::addArc):
1132 2007-12-15 Alexey Proskuryakov <ap@webkit.org>
1136 http://bugs.webkit.org/show_bug.cgi?id=16078
1137 Google Maps zooming via the scroll wheel (almost) always zooms IN only.
1139 * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
1140 Ensure that delta is never rounded down to zero - we are getting values less than 1 from
1141 many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
1143 2007-12-14 Dan Bernstein <mitz@apple.com>
1147 * WebCore.vcproj/WebCore.vcproj:
1149 2007-12-14 Alp Toker <alp@atoker.com>
1151 GTK+/Qt build fix. Track added files in r28722.
1155 2007-12-14 Sam Weinig <sam@webkit.org>
1159 Speed up getElementByClassName.
1160 - This makes getElementByClassName 33% faster on the stress test
1161 linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
1163 * platform/text/StringImpl.cpp:
1164 (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
1166 2007-12-14 Alp Toker <alp@atoker.com>
1170 http://bugs.webkit.org/show_bug.cgi?id=16432
1171 [GTK] Update license headers
1173 Consent has been given by the authors of these files to change license
1174 to the LGPL as outlined in the bug report.
1176 * platform/gtk/ClipboardGtk.cpp:
1177 * platform/gtk/ContextMenuGtk.cpp:
1178 * platform/gtk/ContextMenuItemGtk.cpp:
1179 * platform/gtk/CookieJarGtk.cpp:
1180 * platform/gtk/CursorGtk.cpp:
1181 * platform/gtk/DragDataGtk.cpp:
1182 * platform/gtk/DragImageGtk.cpp:
1183 * platform/gtk/PasteboardGtk.cpp:
1184 * platform/gtk/PlatformScreenGtk.cpp:
1185 * platform/gtk/PlatformScrollBarGtk.cpp:
1186 * platform/gtk/SearchPopupMenuGtk.cpp:
1187 * platform/gtk/WidgetGtk.cpp:
1189 2007-12-14 Darin Adler <darin@apple.com>
1193 - fix http://bugs.webkit.org/show_bug.cgi?id=16442
1194 navigation policy delegate gets called twice for each load
1196 * loader/MainResourceLoader.cpp:
1197 (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
1198 That's handled by FrameLoader.
1200 * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
1201 and continueAfterNavigationPolicy.
1203 2007-12-14 Anders Carlsson <andersca@apple.com>
1207 Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
1208 return nil in that case.
1210 * loader/FrameLoader.cpp:
1211 (WebCore::FrameLoader::didExplicitOpen):
1213 2007-12-14 David Smith <catfish.man@gmail.com>
1217 - fix http://bugs.webkit.org/show_bug.cgi?id=14955
1218 Implement getElementsByClassName.
1220 This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
1221 and takes advantage of admitting that it's class-specific to encapsulate class attribute
1222 parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
1223 list to store the class names.
1225 Tests: fast/dom/getElementsByClassName/001.html
1226 fast/dom/getElementsByClassName/002.html
1227 fast/dom/getElementsByClassName/003.html
1228 fast/dom/getElementsByClassName/004.html
1229 fast/dom/getElementsByClassName/005.html
1230 fast/dom/getElementsByClassName/006.html
1231 fast/dom/getElementsByClassName/007.html
1232 fast/dom/getElementsByClassName/008.html
1233 fast/dom/getElementsByClassName/009.html
1234 fast/dom/getElementsByClassName/010.xml
1235 fast/dom/getElementsByClassName/011.xml
1236 fast/dom/getElementsByClassName/012.html
1237 fast/dom/getElementsByClassName/013.html
1238 fast/dom/getElementsByClassName/014.html
1239 fast/dom/getElementsByClassName/array/001.html
1240 fast/dom/getElementsByClassName/array/002.html
1241 fast/dom/getElementsByClassName/array/003.html
1242 fast/dom/getElementsByClassName/array/004.html
1243 fast/dom/getElementsByClassName/dumpNodeList.html
1245 * WebCore.xcodeproj/project.pbxproj:
1246 * css/CSSStyleSelector.cpp:
1247 (WebCore::CSSStyleSelector::matchRules):
1248 (WebCore::CSSStyleSelector::checkOneSelector):
1249 * dom/AtomicStringList.h: Removed.
1250 * dom/ClassNames.cpp: Added.
1251 (WebCore::ClassNames::contains):
1252 (WebCore::ClassNames::parseClassAttribute):
1253 * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
1254 (WebCore::ClassNames::ClassNames):
1255 (WebCore::ClassNames::size):
1256 (WebCore::ClassNames::clear):
1257 (WebCore::ClassNames::operator[]):
1258 (WebCore::isClassWhitespace):
1259 * dom/ClassNodeList.cpp: Added.
1260 (WebCore::ClassNodeList::ClassNodeList):
1261 (WebCore::ClassNodeList::length):
1262 (WebCore::ClassNodeList::item):
1263 (WebCore::ClassNodeList::nodeMatches):
1264 * dom/ClassNodeList.h: Added.
1266 (WebCore::Document::getElementsByName):
1267 (WebCore::Document::getElementsByClassName):
1271 (WebCore::Element::getClassNames):
1272 (WebCore::Element::getElementsByClassName):
1275 * dom/NameNodeList.cpp:
1276 (WebCore::NameNodeList::NameNodeList):
1277 (WebCore::NameNodeList::item):
1278 (WebCore::NameNodeList::nodeMatches):
1279 * dom/NameNodeList.h:
1280 * dom/NamedMappedAttrMap.cpp:
1281 (WebCore::NamedMappedAttrMap::clearAttributes):
1282 (WebCore::NamedMappedAttrMap::parseClassAttribute):
1283 * dom/NamedMappedAttrMap.h:
1284 (WebCore::NamedMappedAttrMap::getClassNames):
1285 * dom/StyledElement.cpp:
1286 (WebCore::StyledElement::getClassNames):
1287 * dom/StyledElement.h:
1289 2007-12-14 Darin Adler <darin@apple.com>
1293 - fix http://bugs.webkit.org/show_bug.cgi?id=16351
1294 FontFallbackList.h doesn't include wtf/PassRefPtr.h
1296 * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
1297 * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
1299 2007-12-14 Darin Adler <darin@apple.com>
1303 - http://bugs.webkit.org/show_bug.cgi?id=16420
1304 change regression tests to use document.execCommand instead of textInputController.doCommand
1306 Add a few more operations to document.execCommand.
1308 Finished up the transition to the new Editor::Command, including removing
1309 the Editor::execCommand function.
1311 * WebCore.base.exp: Added Editor::Command::isSupported.
1312 * editing/Editor.h: Removed execCommand.
1313 * editing/EditorCommand.cpp:
1314 (WebCore::expandSelectionToGranularity): Added.
1315 (WebCore::verticalScrollDistance): Added; replaces canScroll.
1316 (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
1317 (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
1318 (WebCore::executeDeleteForward): Ditto.
1319 (WebCore::executeDeleteToBeginningOfLine): Ditto.
1320 (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
1321 (WebCore::executeDeleteToEndOfLine): Ditto.
1322 (WebCore::executeDeleteToEndOfParagraph): Ditto.
1323 (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
1324 Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
1325 removing the explicit scrolling, and letting it be done automatically by code that makes
1326 the caret visible. In some cases the old code would scroll twice which was harmless but
1328 (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
1329 (WebCore::executeMovePageUp): See MovePageDown above.
1330 (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
1331 (WebCore::executeSelectLine): Ditto.
1332 (WebCore::executeSelectParagraph): Ditto.
1333 (WebCore::executeSelectSentence): Ditto.
1334 (WebCore::executeSelectWord): Ditto.
1335 (WebCore::executeSwapWithMark): Some small tweaks.
1337 * page/ContextMenuController.cpp:
1338 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
1339 instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
1340 bit more, but I didn't do that this time.
1342 - Removed some obsolete unused code.
1344 * page/mac/EventHandlerMac.mm:
1345 (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
1346 NSTextView. This was left over from when we used NSTextField and NSTextView for form
1347 elements and is no longer used at all.
1349 * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
1350 of the bridge or another. We really need to find a time to tear down the rest of the
1351 bridge, but that's not this patch.
1353 * page/mac/WebCoreFrameBridge.mm:
1354 (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
1355 instead of using a method.
1356 (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
1357 Took out obsolete comment about matching enums (we use a single enum now and have for some
1359 (-[WebCoreFrameBridge selectionGranularity]): Ditto.
1361 2007-12-14 Justin Garcia <justin.garcia@apple.com>
1363 Reviewed by Darin Adler.
1365 <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
1367 * editing/CompositeEditCommand.cpp:
1368 (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
1369 * editing/CompositeEditCommand.h:
1370 * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
1371 * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
1372 * editing/InsertListCommand.cpp:
1373 (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
1374 it and listNode, if they exists, so that moving listChildNode doesn't put it out
1375 of order. Added a test case to cover each change.
1376 * editing/SplitElementCommand.cpp:
1377 (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
1378 tries to split a container at a bogus child, and an early return to avoid a
1381 2007-12-14 Anders Carlsson <andersca@apple.com>
1383 Reviewed by Darin and Geoff.
1385 <rdar://problem/5619295>
1386 REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
1388 _NPN_CreateScriptObject doesn't take an origin root object anymore.
1390 * html/HTMLPlugInElement.cpp:
1391 (WebCore::HTMLPlugInElement::createNPObject):
1393 (WebCore::Frame::windowScriptNPObject):
1395 2007-12-14 Dan Bernstein <mitz@apple.com>
1397 Reviewed by Darin Adler.
1399 - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
1400 which is the root cause of:
1401 http://bugs.webkit.org/show_bug.cgi?id=12943
1402 box-shadow: small values don't affect shadow position
1403 http://bugs.webkit.org/show_bug.cgi?id=14736
1404 Safari implementation of text-shadow off by 1px
1406 * platform/graphics/cg/GraphicsContextCG.cpp:
1407 (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
1408 of the offsets passed to CGContextSetShadow* to ensure that the end
1409 result after truncation is the desired integer offsets.
1411 2007-12-13 Alp Toker <alp@atoker.com>
1413 curl backend build fix for breakage introduced in r28709.
1415 * platform/network/ResourceHandleInternal.h:
1416 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1418 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1420 Reviewed by Oliver Hunt.
1422 <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
1424 * editing/InsertLineBreakCommand.cpp:
1425 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
1426 handle editing positions, like [input, 0];
1427 * editing/InsertParagraphSeparatorCommand.cpp:
1428 (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
1429 off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
1430 the input element itself.
1431 Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
1434 2007-12-13 Alp Toker <alp@atoker.com>
1436 Reviewed by Oliver Hunt.
1438 http://bugs.webkit.org/show_bug.cgi?id=16365
1439 [cURL] Acid2 test segmentation fault
1441 This patch makes the Acid2 test pass.
1443 Defer the cleanup of cancelled jobs and halt further transfer as early
1446 Bug found by and initial patch provided by Luca Bruno.
1448 * platform/network/curl/ResourceHandleManager.cpp:
1449 (WebCore::writeCallback):
1450 (WebCore::headerCallback):
1451 (WebCore::ResourceHandleManager::downloadTimerCallback):
1452 (WebCore::ResourceHandleManager::cancel):
1454 2007-12-13 Sam Weinig <sam@webkit.org>
1456 Reviewed by Mark Rowe.
1458 Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
1460 * page/InspectorController.cpp:
1461 (WebCore::moveByUnrestricted):
1462 (WebCore::InspectorController::windowScriptObjectAvailable):
1463 (WebCore::InspectorController::moveWindowBy):
1464 * page/InspectorController.h:
1465 * page/inspector/inspector.js:
1467 2007-12-13 Dan Bernstein <mitz@apple.com>
1469 Reviewed by Dave Hyatt.
1471 - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
1473 Test: fast/css/transition-timing-function.html
1475 * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
1476 not reject non-primitive non-list values, and instead made sure that the
1477 mapping functions rejected them if necessary. This allows non-primitive
1478 timing functions to be mapped.
1479 (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1480 (WebCore::CSSStyleSelector::mapBackgroundClip):
1481 (WebCore::CSSStyleSelector::mapBackgroundComposite):
1482 (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1483 (WebCore::CSSStyleSelector::mapBackgroundImage):
1484 (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1485 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1486 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1487 (WebCore::CSSStyleSelector::mapTransitionDuration):
1488 (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
1489 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
1490 (WebCore::CSSStyleSelector::mapTransitionProperty):
1491 * css/CSSTimingFunctionValue.cpp:
1492 (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
1494 * css/CSSTimingFunctionValue.h:
1495 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
1496 Added. Returns true.
1498 (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
1501 2007-12-13 Steve Falkenburg <sfalken@apple.com>
1503 Move source file generation into its own vcproj to fix build dependencies.
1507 * WebCore.vcproj/WebCore.make:
1508 * WebCore.vcproj/WebCore.sln:
1509 * WebCore.vcproj/WebCore.submit.sln:
1510 * WebCore.vcproj/WebCore.vcproj:
1511 * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
1513 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1515 Reviewed by Oliver Hunt.
1517 <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
1519 Some of the operations performed in removeHTMLFontStyle were non-undoable.
1521 I'm having trouble writing a layout test for this because I can't get DRT to
1522 perform editing operations in separate Undo steps without adding unacceptably long
1523 wait times between operations. I filed:
1525 <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
1527 * editing/ApplyStyleCommand.cpp:
1528 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1530 2007-12-13 Sam Weinig <sam@webkit.org>
1534 Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
1535 Toolbar dragged inspector cannot be moved beyond screen edges
1537 * page/InspectorController.cpp:
1538 (WebCore::moveByUnrestricted):
1539 (WebCore::InspectorController::windowScriptObjectAvailable):
1540 (WebCore::InspectorController::moveByUnrestricted):
1541 * page/InspectorController.h:
1542 * page/inspector/inspector.js:
1544 2007-12-13 Adam Roben <aroben@apple.com>
1546 Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1548 Windows Media Player has a modal message loop that will deliver
1549 messages to us at inappropriate times and we will crash if we handle
1550 them when they are delivered. In PluginViewWin, we add a quirk for
1551 Media Player to set a flag whenever we give the plugin a chance to
1552 execute code, and in SharedTimerWin we check if the plugin is
1553 executing code and repost messages if so.
1557 * platform/win/SharedTimerWin.cpp:
1558 (WebCore::TimerWindowWndProc): Repost messages if we're calling a
1560 * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
1561 setCallingPlugin(true/false).
1562 (WebCore::PluginViewWin::updateWindow):
1563 (WebCore::PluginViewWin::dispatchNPEvent):
1564 (WebCore::PluginViewWin::setNPWindowRect):
1565 (WebCore::PluginViewWin::start):
1566 (WebCore::PluginViewWin::stop):
1567 (WebCore::PluginViewWin::performRequest):
1568 (WebCore::PluginViewWin::bindingInstance):
1569 (WebCore::PluginViewWin::determineQuirks):
1570 (WebCore::PluginViewWin::setCallingPlugin): Added.
1571 (WebCore::PluginViewWin::isCallingPlugin): Added.
1572 * plugins/win/PluginViewWin.h: Added a new quirk.
1574 2007-12-13 Alp Toker <alp@atoker.com>
1576 Add a missing DEPENDPATH. Fixes non-clean builds following networking
1581 2007-12-13 Dan Bernstein <mitz@apple.com>
1583 Reviewed by Anders Carlsson.
1585 - fix regression in fast/text/international/bidi-override on Tiger
1587 * platform/graphics/GlyphPageTreeNode.cpp:
1588 (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
1589 too. I forgot to add them when I added them to treatAsZeroWidthSpace in
1592 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1594 Reviewed by Darin Adler.
1596 <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
1598 The code that checks the selected Range to see if it's inside an anchor
1599 checks ancestors of the Range's commonAncestor() but not the
1600 commonAncestor() itself, and so we'd fail to add markup for the enclosing
1601 anchor to the pasteboard.
1603 Some enclosing element getters check the node passed to the getter and some
1604 don't. There were a few places where we incorrectly assumed that enclosing
1605 element getters check the node passed to the getter, but this is the only
1606 case that I'm able to write a test case for at the moment.
1609 Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
1610 like the newer enclosing element getters. This is important because we must
1611 soon add code to the getters so that they understand that some editing positions
1612 inside nodes don't actually refer to positions inside those nodes but positions
1613 before and after them. Like [table, 0].
1614 Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
1615 n where [n, o] is the position passed to the getter, instead of starting the the parent
1616 of n. This makes all but a few of the enclosing element getters behave consistently.
1617 Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
1618 nodes if the input position was editable. This fixes a bug that that the above change
1620 Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
1621 this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
1622 unless doing so would affect readability, like it would in the case of enclosingTableCell.
1623 Ditto for enclosingBlock.
1625 * editing/AppendNodeCommand.cpp:
1626 (WebCore::AppendNodeCommand::doApply):
1627 * editing/DeleteButtonController.cpp:
1628 (WebCore::enclosingDeletableElement):
1629 * editing/DeleteSelectionCommand.cpp:
1630 (WebCore::DeleteSelectionCommand::initializePositionData):
1631 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
1632 * editing/Editor.cpp:
1633 (WebCore::Editor::selectionUnorderedListState):
1634 (WebCore::Editor::selectionOrderedListState):
1635 * editing/IndentOutdentCommand.cpp:
1636 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
1637 (WebCore::IndentOutdentCommand::outdentParagraph):
1638 * editing/InsertNodeBeforeCommand.cpp:
1639 (WebCore::InsertNodeBeforeCommand::doApply):
1640 * editing/InsertParagraphSeparatorCommand.cpp:
1641 (WebCore::InsertParagraphSeparatorCommand::doApply):
1642 * editing/ReplaceSelectionCommand.cpp:
1643 (WebCore::ReplaceSelectionCommand::shouldMerge):
1644 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1645 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
1646 * editing/TextIterator.cpp:
1647 * editing/htmlediting.cpp:
1648 (WebCore::enclosingBlock):
1649 (WebCore::enclosingNodeWithTag):
1650 (WebCore::enclosingNodeOfType):
1651 (WebCore::enclosingTableCell):
1652 (WebCore::isTableCell):
1653 * editing/htmlediting.h:
1654 * editing/markup.cpp:
1655 (WebCore::appendStartMarkup):
1656 (WebCore::createMarkup):
1658 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
1662 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
1665 * dom/KeyboardEvent.cpp:
1666 (WebCore::KeyboardEvent::charCode):
1667 * page/EventHandler.cpp:
1668 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1669 (WebCore::EventHandler::keyEvent):
1670 * page/EventHandler.h:
1671 * page/Settings.cpp:
1672 (WebCore::Settings::Settings):
1673 (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
1675 (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
1676 * page/mac/EventHandlerMac.mm:
1677 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1678 * platform/PlatformKeyboardEvent.h:
1679 * platform/mac/KeyEventMac.mm:
1680 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1681 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1683 2007-12-13 Dan Bernstein <mitz@apple.com>
1687 * platform/network/cf/ResourceErrorCF.cpp:
1689 2007-12-13 Antti Koivisto <antti@apple.com>
1691 Reviewed by Tim Hatcher.
1693 Fix <rdar://problem/5605674>
1694 Make <video> display WebKit context menu instead of the QTKit one.
1696 It doesn't really matter where the QTMovieView is.
1699 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1700 (WebCore::MediaPlayerPrivate::createQTMovieView):
1701 (WebCore::MediaPlayerPrivate::setRect):
1703 2007-12-13 Dan Bernstein <mitz@apple.com>
1705 Reviewed by Adam Roben.
1707 - ensure that Unicode bidi control characters are rendered as zero width
1710 Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
1712 * platform/graphics/Font.h:
1713 (WebCore::Font::treatAsZeroWidthSpace):
1714 * platform/graphics/GlyphPageTreeNode.cpp:
1715 (WebCore::GlyphPageTreeNode::initializePage):
1716 * platform/text/CharacterNames.h:
1718 2007-12-13 Brady Eidson <beidson@apple.com>
1722 * platform/wx/TemporaryLinkStubs.cpp:
1724 2007-12-12 Brady Eidson <beidson@apple.com>
1728 * platform/gtk/TemporaryLinkStubs.cpp:
1730 2007-12-12 Brady Eidson <beidson@apple.com>
1735 * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
1737 2007-12-12 Brady Eidson <beidson@apple.com>
1741 * platform/win/TemporaryLinkStubs.cpp:
1743 2007-12-12 Brady Eidson <beidson@apple.com>
1745 Reviewed by Sam Weinig
1747 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1749 All back/forward list and page cache related items used to be in WebKit.
1750 When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
1751 Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
1752 in CachedPage and having the Mac-only CachedPageMac.mm
1754 To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
1755 concept of "CachedPagePlatformData" which can contain anything the platform API wants.
1757 I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
1760 * WebCore.xcodeproj/project.pbxproj:
1762 * history/CachedPage.cpp:
1763 (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
1764 (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
1765 (WebCore::CachedPage::setCachedPagePlatformData):
1766 (WebCore::CachedPage::cachedPagePlatformData):
1767 * history/CachedPage.h:
1769 * history/CachedPagePlatformData.h: Added.
1770 (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
1771 (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
1773 * history/PageCache.cpp:
1774 (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
1776 * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
1778 * loader/FrameLoader.cpp:
1779 (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
1780 (setting the cached DocumentLoader to the Frame).
1781 (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
1783 * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
1784 become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
1786 * svg/graphics/SVGImageEmptyClients.h:
1787 (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
1788 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
1789 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
1791 2007-12-12 Dan Bernstein <mitz@apple.com>
1793 Reviewed by Oliver Hunt.
1795 - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
1797 * css/CSSStyleSelector.cpp:
1798 (WebCore::CSSStyleSelector::applyProperty): When the font property is
1799 set to 'initial', set the font size to its initial value, 'medium',
1800 and the font family to the standard family.
1802 2007-12-12 Justin Garcia <justin.garcia@apple.com>
1804 Reviewed by Darin Adler.
1806 <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
1808 * editing/DeleteSelectionCommand.cpp:
1809 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
1810 Don't remove the table row that contained the end of the selection if it is where we are
1811 about to place the ending selection.
1812 Don't remove all empty rows after the row that contained the start of the selection,
1813 they might come after the row that contained the end of the selection.
1815 2007-12-12 Sam Weinig <sam@webkit.org>
1817 Reviewed by Anders Carlsson.
1819 Add button to clear the Web Inspector's console.
1821 * English.lproj/InspectorLocalizedStrings.js:
1822 * page/inspector/ConsolePanel.js:
1823 * page/inspector/inspector.css:
1825 2007-12-12 Anders Carlsson <andersca@apple.com>
1827 Reviewed by Adam and Jon.
1829 <rdar://problem/5349282>
1830 popup blocking is not applied to plugins on Windows.
1832 Implement popup blocking. If the plug-in supports the new
1833 NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
1834 to determine if a plug-in request can open new windows.
1836 If a plug-in does not support the new API, we assume that a plug-in can open new windows
1837 in response to either mouse click or key press events.
1839 * plugins/win/PluginViewWin.cpp:
1840 (WebCore::PluginRequestWin::PluginRequestWin):
1841 (WebCore::PluginRequestWin::shouldAllowPopups):
1842 Add new shouldAllowPopups member.
1844 (WebCore::PluginViewWin::popPopupsStateTimerFired):
1845 Reset the popup state.
1847 (WebCore::isWindowsMessageUserGesture):
1848 New function that given a windows message id returns whether it's a user gesture or not.
1850 (WebCore::PluginViewWin::wndProc):
1851 Allow popups if the window message is a user gesture.
1853 (WebCore::PluginViewWin::dispatchNPEvent):
1854 New method that dispatches an NPEvent, turning on popups if necessary.
1856 (WebCore::PluginViewWin::paint):
1857 (WebCore::PluginViewWin::handleKeyboardEvent):
1858 (WebCore::PluginViewWin::handleMouseEvent):
1859 Call dispatchNPEvent().
1861 (WebCore::PluginViewWin::performRequest):
1862 (WebCore::PluginViewWin::load):
1863 Add calls to shouldAllowPopups().
1865 (WebCore::PluginViewWin::pushPopupsEnabledState):
1866 (WebCore::PluginViewWin::popPopupsEnabledState):
1867 New methods that maintain the popup state stack.
1869 (WebCore::PluginViewWin::arePopupsAllowed):
1870 New method that returns whether popups are allowed.
1872 (WebCore::PluginViewWin::PluginViewWin):
1873 * plugins/win/PluginViewWin.h:
1874 Add new instance variables.
1876 * plugins/win/npapi.cpp:
1877 (NPN_PushPopupsEnabledState):
1878 (NPN_PopPopupsEnabledState):
1881 2007-12-12 Dan Bernstein <mitz@apple.com>
1883 Reviewed by John Sullivan.
1885 - fix a bug in debug builds only where selecting an earlier item in
1886 a popup selects the first item
1888 Test: fast/forms/menulist-selection-reset.html
1890 * html/HTMLSelectElement.cpp:
1891 (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
1892 tells that function whether it should update the selected state of
1894 (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
1895 as the above argument.
1896 * html/HTMLSelectElement.h:
1898 2007-12-12 Adele Peterson <adele@apple.com>
1902 Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
1904 When the specification for cue ranges is more final, we will implement those.
1906 * html/HTMLMediaElement.cpp:
1907 (WebCore::HTMLMediaElement::~HTMLMediaElement):
1908 (WebCore::HTMLMediaElement::load):
1909 * html/HTMLMediaElement.h:
1910 * html/HTMLMediaElement.idl:
1911 * platform/graphics/MediaPlayer.cpp:
1912 * platform/graphics/MediaPlayer.h:
1913 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1914 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1915 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1916 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1917 (WebCore::MediaPlayerPrivate::load):
1918 (WebCore::MediaPlayerPrivate::play):
1919 (WebCore::MediaPlayerPrivate::pause):
1920 (WebCore::MediaPlayerPrivate::setEndTime):
1921 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1922 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1923 (WebCore::MediaPlayerPrivate::timeChanged):
1924 (WebCore::MediaPlayerPrivate::didEnd):
1925 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1926 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1927 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1928 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1929 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1931 2007-12-12 MorganL <morganl.webkit@yahoo.com>
1936 http://bugs.webkit.org/show_bug.cgi?id=16408
1938 When navigating back/forward to a http:// link, we should prefer to
1939 load from cache if possible.
1941 * loader/FrameLoader.cpp:
1943 2007-12-12 Anders Carlsson <andersca@apple.com>
1947 <rdar://problem/5132003>
1948 dumpResourceLoadCallbacks is not implemented in DRT on Windows.
1950 * platform/network/cf/ResourceErrorCF.cpp:
1951 (WebCore::ResourceError::unpackPlatformError):
1952 Handle kCFErrorDomainWinSock.
1954 * platform/network/cf/ResourceHandleCFNet.cpp:
1955 (WebCore::willSendRequest):
1956 Ignore willSendRequest calls where the redirect response is null, like we do in
1959 2007-12-12 Steve Falkenburg <sfalken@apple.com>
1961 <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
1965 * platform/win/SharedTimerWin.cpp:
1966 (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
1968 2007-12-12 Beth Dakin <bdakin@apple.com>
1972 Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
1973 with width and height 100% clip to 300 x 150
1975 Though it was correct in an earlier iteration of my patch, it is
1976 not sufficient in the final, committed version to ask if the
1977 relativeWidthValue() or relativeHeightValue() is greater than 0
1978 just to determine if one has been set, for, they are now
1979 initialized to 300 and 150 respectively! This patch instead adds a
1980 bool to keep track of whether a container size has been set, and
1981 only used the relative value if it has.
1983 * rendering/RenderSVGRoot.cpp:
1984 (WebCore::RenderSVGRoot::calcViewport):
1985 * svg/SVGSVGElement.cpp:
1986 (WebCore::SVGSVGElement::SVGSVGElement):
1987 * svg/SVGSVGElement.h:
1988 (WebCore::SVGSVGElement::setContainerSize):
1989 (WebCore::SVGSVGElement::hasSetContainerSize):
1991 2007-12-12 Brady Eidson <beidson@apple.com>
1993 Reviewed by Steve Falkenburg
1995 <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
1997 * platform/network/ProtectionSpace.cpp:
1998 (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
2000 2007-12-12 Alp Toker <alp@atoker.com>
2004 http://bugs.webkit.org/show_bug.cgi?id=16388
2005 [GTK] Widget::setCursor() gets called frequently
2007 Cache the current cursor to avoid calling gdk_window_set_cursor() when
2008 there's no change in cursor.
2010 * platform/gtk/WidgetGtk.cpp:
2011 (WebCore::Widget::Widget):
2012 (WebCore::Widget::cursor):
2013 (WebCore::Widget::setCursor):
2015 2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
2019 http://bugs.webkit.org/show_bug.cgi?id=16342
2020 Build Warning and Error fixes in WebCore GTK+
2022 Use C-style casts for casting function pointers to gpointer
2023 Use static_cast<int> to cast a float to int to fix a warning
2025 * platform/gtk/PlatformScrollBarGtk.cpp:
2026 (PlatformScrollbar::PlatformScrollbar):
2027 (PlatformScrollbar::~PlatformScrollbar):
2028 (PlatformScrollbar::gtkValueChanged):
2029 * platform/gtk/ThreadingGtk.cpp:
2030 (callFunctionOnMainThread):
2033 2007-12-12 Dan Bernstein <mitz@apple.com>
2035 Reviewed by Darin Adler.
2037 - better fix for a crash when pressing a key that is not associated
2040 * editing/EditorCommand.cpp:
2041 (WebCore::Editor::command): Return the empty command if the command name
2044 2007-12-12 Alexey Proskuryakov <ap@webkit.org>
2048 http://bugs.webkit.org/show_bug.cgi?id=16410
2049 Implement isKeypadEvent() on Windows
2051 Test: platform/win/fast/events/keyLocation-numpad.html
2053 * platform/win/KeyEventWin.cpp:
2054 (WebCore::isKeypadEvent): Added.
2055 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
2057 2007-12-12 Oliver Hunt <oliver@apple.com>
2061 <rdar://problem/5071781> window.mouseout events are not sent
2062 to window when mouse moves out of window
2064 Make PlatformMouseEvent recognise WM_MOUSELEAVE.
2066 * platform/win/PlatformMouseEventWin.cpp:
2067 (WebCore::messageToEventType):
2068 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2070 2007-12-12 Sam Weinig <sam@webkit.org>
2072 Fix Mac release build.
2076 2007-12-12 Sam Weinig <sam@webkit.org>
2078 Build fix for Qt, Gtk, and Wx.
2080 * css/CSSParser.cpp:
2081 (WebCore::CSSParser::parseValue):
2082 * loader/win/FrameLoaderWin.cpp:
2083 (WebCore::FrameLoader::urlSelected):
2084 * platform/network/curl/ResourceHandleManager.cpp:
2085 (WebCore::parseDataUrl):
2086 (WebCore::ResourceHandleManager::startJob):
2087 * platform/network/win/CookieJarWin.cpp:
2088 (WebCore::setCookies):
2090 * platform/network/win/ResourceHandleWin.cpp:
2091 (WebCore::ResourceHandle::start):
2092 * platform/qt/PasteboardQt.cpp:
2093 (WebCore::Pasteboard::writeURL):
2095 2007-12-11 Dan Bernstein <mitz@apple.com>
2097 Reviewed by Maciej Stachowiak.
2099 - allow non-integer font sizes on Windows for small caps
2101 * platform/graphics/win/FontDataWin.cpp:
2102 (WebCore::FontData::smallCapsFontData):
2103 * platform/graphics/win/FontPlatformData.h:
2104 (WebCore::FontPlatformData::size):
2105 (WebCore::FontPlatformData::setSize):
2106 * platform/graphics/win/FontPlatformDataWin.cpp:
2107 (WebCore::FontPlatformData::FontPlatformData):
2109 2007-12-11 Sam Weinig <sam@webkit.org>
2111 Build fix for Qt, Gtk, and Wx.
2113 * platform/gtk/CookieJarGtk.cpp:
2114 (WebCore::setCookies):
2116 * platform/qt/ClipboardQt.cpp:
2117 (WebCore::ClipboardQt::writeURL):
2118 * platform/qt/CookieJarQt.cpp:
2119 (WebCore::setCookies):
2121 * platform/wx/PasteboardWx.cpp:
2122 (WebCore::Pasteboard::writeURL):
2124 2007-12-11 Sam Weinig <sam@webkit.org>
2126 Reviewed by Darin Adler.
2128 Scrub URL out of the tree in preparation for renaming KURL to URL.
2129 - Renames Document::URL() -> Document::url()
2130 - Renames DocumentLoader::URL() -> DocumentLoader::url()
2131 - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
2132 - Remove FrameLoader::URL()
2133 - Various variable renames.
2135 The change from Document::URL() to Document::url() required changes
2136 to the bindings scripts as well, because URL() is the name of a DOM
2137 method. The code generation scripts now have code to special case URL()
2141 * bindings/js/kjs_events.cpp:
2142 (WebCore::JSLazyEventListener::parseCode):
2143 * bindings/js/kjs_navigator.cpp:
2144 (KJS::Navigator::getValueProperty):
2145 * bindings/js/kjs_proxy.cpp:
2146 (WebCore::KJSProxy::initScript):
2147 * bindings/js/kjs_window.cpp:
2149 (KJS::Window::allowsAccessFrom):
2150 (KJS::Location::put):
2151 (KJS::LocationProtoFuncReplace::callAsFunction):
2152 (KJS::LocationProtoFuncReload::callAsFunction):
2153 (KJS::LocationProtoFuncAssign::callAsFunction):
2154 * bindings/scripts/CodeGenerator.pm:
2155 * bindings/scripts/CodeGeneratorCOM.pm:
2156 * bindings/scripts/CodeGeneratorJS.pm:
2157 * bindings/scripts/CodeGeneratorObjC.pm:
2158 * css/CSSImportRule.cpp:
2159 (WebCore::CSSImportRule::insertedIntoParent):
2160 * css/CSSParser.cpp:
2161 (WebCore::CSSParser::parseValue):
2162 (WebCore::CSSParser::parseContent):
2163 (WebCore::CSSParser::parseBackgroundImage):
2164 (WebCore::CSSParser::parseFontFaceSrc):
2165 (WebCore::CSSParser::parseBorderImage):
2166 (WebCore::CSSParser::createImportRule):
2167 * css/CSSStyleSelector.cpp:
2168 (WebCore::CSSStyleSelector::setEncodedURL):
2170 (WebCore::Document::processHttpEquiv):
2171 (WebCore::Document::cookie):
2172 (WebCore::Document::setCookie):
2173 (WebCore::Document::domain):
2174 (WebCore::Document::setDomain):
2175 (WebCore::Document::getImageMap):
2176 (WebCore::Document::completeURL):
2178 (WebCore::Document::url):
2179 (WebCore::Document::baseURL):
2181 (WebCore::Element::baseURI):
2182 * dom/ProcessingInstruction.h:
2183 * dom/StyledElement.cpp:
2184 (WebCore::StyledElement::addCSSImageProperty):
2185 * dom/StyledElement.h:
2186 * dom/XMLTokenizer.cpp:
2187 (WebCore::XMLTokenizer::endElementNs):
2188 (WebCore::XMLTokenizer::end):
2190 * dom/XMLTokenizer.h:
2191 * editing/Editor.cpp:
2192 (WebCore::Editor::copy):
2193 * editing/markup.cpp:
2194 (WebCore::completeURLs):
2195 * history/CachedPage.h:
2196 (WebCore::CachedPage::url):
2197 * history/HistoryItem.cpp:
2198 (WebCore::HistoryItem::HistoryItem):
2199 (WebCore::HistoryItem::setURL):
2200 (WebCore::HistoryItem::isCurrentDocument):
2201 * html/HTMLBaseElement.cpp:
2202 (WebCore::HTMLBaseElement::process):
2203 * html/HTMLParser.cpp:
2204 (WebCore::HTMLParser::reportErrorToConsole):
2205 * html/HTMLScriptElement.cpp:
2206 (WebCore::HTMLScriptElement::childrenChanged):
2207 (WebCore::HTMLScriptElement::insertedIntoDocument):
2208 (WebCore::HTMLScriptElement::evaluateScript):
2209 * html/HTMLScriptElement.h:
2210 * html/HTMLTokenizer.cpp:
2211 (WebCore::HTMLTokenizer::scriptExecution):
2213 (WebCore::createResource):
2214 (WebCore::Cache::requestResource):
2215 * loader/CachedCSSStyleSheet.cpp:
2216 (WebCore::CachedCSSStyleSheet::checkNotify):
2217 * loader/CachedResource.cpp:
2218 (WebCore::CachedResource::CachedResource):
2219 * loader/CachedResource.h:
2220 (WebCore::CachedResource::):
2221 * loader/CachedScript.h:
2222 * loader/DocLoader.cpp:
2223 (WebCore::DocLoader::checkForReload):
2224 (WebCore::DocLoader::requestResource):
2225 * loader/DocumentLoader.cpp:
2226 (WebCore::DocumentLoader::url):
2227 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
2228 (WebCore::DocumentLoader::setRequest):
2229 (WebCore::DocumentLoader::startLoadingMainResource):
2230 * loader/DocumentLoader.h:
2231 * loader/FrameLoader.cpp:
2232 (WebCore::FormSubmission::FormSubmission):
2233 (WebCore::ScheduledRedirection::ScheduledRedirection):
2234 (WebCore::FrameLoader::changeLocation):
2235 (WebCore::FrameLoader::urlSelected):
2236 (WebCore::FrameLoader::requestFrame):
2237 (WebCore::FrameLoader::loadSubframe):
2238 (WebCore::FrameLoader::submitFormAgain):
2239 (WebCore::FrameLoader::submitForm):
2240 (WebCore::FrameLoader::didExplicitOpen):
2241 (WebCore::FrameLoader::replaceContentsWithScriptResult):
2242 (WebCore::FrameLoader::executeScript):
2243 (WebCore::FrameLoader::receivedFirstData):
2244 (WebCore::FrameLoader::begin):
2245 (WebCore::FrameLoader::startIconLoader):
2246 (WebCore::FrameLoader::commitIconURLToIconDatabase):
2247 (WebCore::FrameLoader::scheduleRefresh):
2248 (WebCore::FrameLoader::redirectionTimerFired):
2249 (WebCore::FrameLoader::loadPlugin):
2250 (WebCore::FrameLoader::didNotOpenURL):
2251 (WebCore::FrameLoader::updatePolicyBaseURL):
2252 (WebCore::FrameLoader::scrollToAnchor):
2253 (WebCore::FrameLoader::startRedirectionTimer):
2254 (WebCore::FrameLoader::load):
2255 (WebCore::FrameLoader::canLoad):
2256 (WebCore::FrameLoader::shouldHideReferrer):
2257 (WebCore::FrameLoader::shouldAllowNavigation):
2258 (WebCore::FrameLoader::commitProvisionalLoad):
2259 (WebCore::FrameLoader::clientRedirected):
2260 (WebCore::FrameLoader::open):
2261 (WebCore::FrameLoader::didTellBridgeAboutLoad):
2262 (WebCore::FrameLoader::haveToldBridgeAboutLoad):
2263 (WebCore::FrameLoader::post):
2264 (WebCore::FrameLoader::loadResourceSynchronously):
2265 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2266 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
2267 (WebCore::FrameLoader::createHistoryItem):
2268 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
2269 (WebCore::FrameLoader::loadItem):
2270 (WebCore::FrameLoader::urlsMatchItem):
2271 (WebCore::FrameLoader::recursiveGoToItem):
2272 (WebCore::FrameLoader::updateHistoryForStandardLoad):
2273 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
2274 * loader/FrameLoader.h:
2275 (WebCore::FrameLoader::url):
2276 * loader/ImageDocument.cpp:
2277 (WebCore::ImageDocument::createDocumentStructure):
2278 * loader/MainResourceLoader.cpp:
2279 (WebCore::shouldLoadAsEmptyDocument):
2280 (WebCore::MainResourceLoader::didFinishLoading):
2281 * loader/NavigationAction.cpp:
2282 (WebCore::NavigationAction::NavigationAction):
2283 * loader/NavigationAction.h:
2284 (WebCore::NavigationAction::url):
2285 * loader/PluginDocument.cpp:
2286 (WebCore::PluginTokenizer::createDocumentStructure):
2287 * loader/SubresourceLoader.cpp:
2288 (WebCore::SubresourceLoader::load):
2289 (WebCore::SubresourceLoader::create):
2290 * loader/icon/IconLoader.cpp:
2291 (WebCore::IconLoader::startLoading):
2292 (WebCore::IconLoader::finishLoading):
2293 * loader/loader.cpp:
2294 (WebCore::Loader::servePendingRequests):
2295 * loader/mac/LoaderNSURLExtras.m:
2298 (WebCore::Chrome::setToolTip):
2299 * page/ContextMenuController.cpp:
2300 (WebCore::ContextMenuController::contextMenuItemSelected):
2302 (WebCore::Frame::setUserStyleSheetLocation):
2303 * page/InspectorController.cpp:
2304 (WebCore::InspectorResource::type):
2305 (WebCore::addSourceToFrame):
2306 (WebCore::InspectorController::addScriptResource):
2307 (WebCore::InspectorController::updateScriptResourceRequest):
2308 (WebCore::InspectorController::didCommitLoad):
2309 * page/mac/WebCoreFrameBridge.mm:
2310 (-[WebCoreFrameBridge getData:andResponse:forURL:]):
2312 (WebCore::KURL::string):
2313 (WebCore::KURL::deprecatedString):
2314 * platform/mac/ClipboardMac.mm:
2315 (WebCore::ClipboardMac::getData):
2316 * platform/mac/CookieJar.mm:
2318 (WebCore::setCookies):
2319 * platform/mac/PasteboardMac.mm:
2320 (WebCore::Pasteboard::writeURL):
2321 (WebCore::fileWrapperForImage):
2322 (WebCore::Pasteboard::writeImage):
2323 (WebCore::Pasteboard::plainText):
2324 * platform/network/ResourceHandle.cpp:
2325 (WebCore::ResourceHandle::portAllowed):
2326 * platform/network/ResourceRequestBase.cpp:
2327 (WebCore::ResourceRequestBase::isNull):
2328 * platform/network/cf/ResourceHandleCFNet.cpp:
2329 (WebCore::willSendRequest):
2330 (WebCore::didReceiveResponse):
2331 (WebCore::didReceiveData):
2332 (WebCore::didFinishLoading):
2334 (WebCore::didReceiveChallenge):
2335 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2336 (WebCore::ResourceHandle::~ResourceHandle):
2337 (WebCore::ResourceHandle::start):
2338 * platform/win/ClipboardUtilitiesWin.cpp:
2339 (WebCore::createGlobalData):
2340 (WebCore::urlToMarkup):
2341 * platform/win/ClipboardWin.cpp:
2342 (WebCore::writeURL):
2343 (WebCore::writeImageToDataObject):
2344 (WebCore::ClipboardWin::writeURL):
2345 (WebCore::ClipboardWin::writeRange):
2346 * platform/win/PasteboardWin.cpp:
2347 (WebCore::Pasteboard::writeSelection):
2348 (WebCore::Pasteboard::writeURL):
2349 * plugins/win/PluginDatabaseWin.cpp:
2350 (WebCore::PluginDatabaseWin::findPlugin):
2351 * plugins/win/PluginStreamWin.cpp:
2352 (WebCore::PluginStreamWin::startStream):
2353 (WebCore::PluginStreamWin::destroyStream):
2354 * plugins/win/PluginViewWin.cpp:
2355 (WebCore::scriptStringIfJavaScriptURL):
2356 (WebCore::PluginViewWin::performRequest):
2357 * svg/SVGImageLoader.cpp:
2358 (WebCore::SVGImageLoader::updateFromElement):
2359 * xml/XMLHttpRequest.cpp:
2360 (WebCore::XMLHttpRequest::getResponseXML):
2361 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
2362 * xml/XSLImportRule.cpp:
2363 (WebCore::XSLImportRule::loadSheet):
2364 * xml/XSLTProcessor.cpp:
2365 (WebCore::XSLTProcessor::createDocumentFromSource):
2366 (WebCore::xsltStylesheetPointer):
2367 (WebCore::xmlDocPtrFromNode):
2369 2007-12-11 Beth Dakin <bdakin@apple.com>
2373 Fix for <rdar://problem/5641255> SVGs with width and height 100%
2374 fail to render when used as background images
2376 CachedImage now has a setImageContainerSize function. It is only
2377 needed for SVG right now.
2378 * loader/CachedImage.cpp:
2379 (WebCore::CachedImage::setImageContainerSize):
2380 * loader/CachedImage.h:
2382 Relatively sized SVGs have no intrinsic size. Because this call is
2383 low-level enough that we cannot pass in the container size and get
2384 the real size of the SVG, we need to know if it has relative
2385 dimensions, and if so, we need to get the size from scaledTileSize.
2386 * platform/graphics/Image.cpp:
2387 (WebCore::Image::drawTiled):
2388 * platform/graphics/Image.h:
2389 (WebCore::Image::setContainerSize):
2390 (WebCore::Image::hasRelativeWidth):
2391 (WebCore::Image::hasRelativeHeight):
2393 Re-factored calculateBackgroundSize a bit so that it returns an
2394 IntSize. Made it a member function so that it can send m_width and
2395 m_height along to setImageContainerSize.
2396 * rendering/RenderBox.cpp:
2397 (WebCore::RenderBox::calculateBackgroundSize):
2398 (WebCore::RenderBox::calculateBackgroundImageGeometry):
2399 * rendering/RenderBox.h:
2401 Need to account for relatively sized SVGs in calcViewport()
2402 * rendering/RenderSVGRoot.cpp:
2403 (WebCore::RenderSVGRoot::calcViewport):
2405 Added new member variables to store the size of the SVG container.
2406 relativeWidthValue() and relativeHeightValue() use the stored SVG
2407 container size to correctly calculate the width and height of a
2408 relatively sized SVG.
2409 * svg/SVGSVGElement.cpp:
2410 (WebCore::SVGSVGElement::SVGSVGElement):
2411 (WebCore::SVGSVGElement::setContainerSize):
2412 (WebCore::SVGSVGElement::relativeWidthValue):
2413 (WebCore::SVGSVGElement::relativeHeightValue):
2414 * svg/SVGSVGElement.h:
2415 (WebCore::SVGSVGElement::containerSize):
2417 Re-factored size calculations to use the size of the container.
2418 * svg/graphics/SVGImage.cpp:
2419 (WebCore::SVGImage::setContainerSize):
2420 (WebCore::SVGImage::size):
2421 (WebCore::SVGImage::hasRelativeWidth):
2422 (WebCore::SVGImage::hasRelativeHeight):
2423 * svg/graphics/SVGImage.h:
2425 2007-12-11 Darin Adler <darin@apple.com>
2427 * editing/Editor.cpp:
2428 (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
2429 a missing return statement.
2431 2007-12-11 Darin Adler <darin@apple.com>
2435 - exposed many new commands to the DOM Document executeCommand function by
2436 merging the JSEditor and Editor executeCommand implementations
2437 - replaced the execCommand function with a EditorCommand class
2438 - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
2439 - replaced the WTF::CaseInsensitiveHash<> class template with the
2440 WebCore::CaseFoldingHash class
2442 * WebCore.base.exp: Updated.
2443 * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
2444 * WebCore.vcproj/WebCore.vcproj: Ditto.
2445 * WebCore.xcodeproj/project.pbxproj: Ditto.
2446 * WebCoreSources.bkl: Ditto.
2449 (WebCore::Document::Document): Removed code to set up m_jsEditor.
2450 (WebCore::Document::~Document): Removed code to delete m_jsEditor.
2451 (WebCore::command): Added. Helper function that gets an Editor::Command.
2452 (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
2454 (WebCore::Document::queryCommandEnabled): Ditto.
2455 (WebCore::Document::queryCommandIndeterm):
2456 (WebCore::Document::queryCommandState): Ditto.
2457 (WebCore::Document::queryCommandSupported): Ditto.
2458 (WebCore::Document::queryCommandValue): Ditto.
2460 * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
2461 use CaseFoldingHash.
2463 * editing/Editor.cpp:
2464 (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
2465 made into a member function so it is accessible from the new EditorCommand.cpp file.
2466 Also changed to get the selection from the passed-in frame instead of from the
2467 page, because this should work on the targeted frame unless the event overrides it.
2468 (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
2469 (WebCore::Editor::handleInputMethodKeypress): Ditto.
2470 (WebCore::imageElementFromImageDocument): Renamed and changed to return
2471 a HTMLImageElement instead of a Node*.
2472 (WebCore::Editor::canCopy): Updated for name change.
2473 (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
2474 (WebCore::Editor::selectionOrderedListState): Ditto.
2475 (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
2476 (WebCore::updateState): Moved here from Frame.
2477 (WebCore::Editor::selectionHasStyle): Ditto.
2478 (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
2479 (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
2480 selectionForCommand change.
2481 (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
2482 (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
2483 machinery since it's no longer in this file as a local function.
2484 (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
2485 (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
2487 (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
2488 without a kill ring, but it's relatively straightforward to implement one.
2489 (WebCore::Editor::appendToKillRing): Put default implementation here for
2490 platforms other than Mac. We should probably put a simple kill ring
2491 implementation here -- doesn't need to be shared with the OS oh platforms
2493 (WebCore::Editor::prependToKillRing): Ditto.
2494 (WebCore::Editor::yankFromKillRing): Ditto.
2495 (WebCore::Editor::startNewKillRingSequence): Ditto.
2496 (WebCore::Editor::setKillRingToYankedState): Ditto.
2498 * editing/Editor.h: Moved the TriState enum here instead of inside the
2499 Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
2500 here from the Frame class. Added Editor::Command class with five functions
2501 for the various things you can do with a command (execute it, check if it
2502 can be used, and its state and value). Changed hte parameter of
2503 setBaseWritingDirection to be a const String& rather than a String.
2504 Got rid of the kill-ring-related operations, but added the kill ring
2505 functions themselves. Made selectedRange() public. Made the
2506 m_startNewKillRingSequence not Mac-specific and added "should" to its
2509 * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
2510 Retained only the editing commands.
2511 (WebCore::targetFrame): Moved to the top of the file.
2512 (WebCore::executeApplyStyle): Added. Helper function for commands
2513 that need to apply styles.
2514 (WebCore::executeToggleStyle): Added. Helper function for commands
2515 that need to toggle styles based on the style of the start of selection.
2516 (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
2517 for paragraph styles.
2518 (WebCore::executeInsertFragment): Added. Helper function for commands
2519 that need to insert a DOM fragment.
2520 (WebCore::executeInsertNode): Added. Helper function for commands that
2521 need to insert a tree rooted in a single DOM node.
2522 (WebCore::stateStyle): Added. Helper function for the state of commands
2523 that represent style.
2524 (WebCore::valueStyle): Added. Helper function for the value of commands
2525 that represent style.
2526 (WebCore::canScroll): Added. Helper functions for some move and scroll
2527 commands that need to determine if the renderer they are in can scroll.
2528 (WebCore::unionDOMRanges): Moved here from EditorMac.
2529 (WebCore::executeBackColor):
2530 (WebCore::executeBackwardDelete):
2531 (WebCore::executeCopy):
2532 (WebCore::executeCreateLink):
2533 (WebCore::executeCut):
2534 (WebCore::executeDelete):
2535 (WebCore::executeDeleteToMark):
2536 (WebCore::executeDeleteWordBackward):
2537 (WebCore::executeDeleteWordForward):
2538 (WebCore::executeFindString):
2539 (WebCore::executeFontName):
2540 (WebCore::executeFontSize):
2541 (WebCore::executeFontSizeDelta):
2542 (WebCore::executeForeColor):
2543 (WebCore::executeFormatBlock):
2544 (WebCore::executeForwardDelete):
2545 (WebCore::executeIndent):
2546 (WebCore::executeInsertBacktab):
2547 (WebCore::executeInsertHorizontalRule):
2548 (WebCore::executeInsertHTML):
2549 (WebCore::executeInsertImage):
2550 (WebCore::executeInsertLineBreak):
2551 (WebCore::executeInsertNewline):
2552 (WebCore::executeInsertNewlineInQuotedContent):
2553 (WebCore::executeInsertOrderedList):
2554 (WebCore::executeInsertParagraph):
2555 (WebCore::executeInsertTab):
2556 (WebCore::executeInsertText):
2557 (WebCore::executeInsertUnorderedList):
2558 (WebCore::executeJustifyCenter):
2559 (WebCore::executeJustifyFull):
2560 (WebCore::executeJustifyLeft):
2561 (WebCore::executeJustifyRight):
2562 (WebCore::executeMoveBackward):
2563 (WebCore::executeMoveBackwardAndModifySelection):
2564 (WebCore::executeMoveDown):
2565 (WebCore::executeMoveDownAndModifySelection):
2566 (WebCore::executeMoveDownByPageAndModifyCaret):
2567 (WebCore::executeMoveForward):
2568 (WebCore::executeMoveForwardAndModifySelection):
2569 (WebCore::executeMoveLeft):
2570 (WebCore::executeMoveLeftAndModifySelection):
2571 (WebCore::executeMoveRight):
2572 (WebCore::executeMoveRightAndModifySelection):
2573 (WebCore::executeMoveToBeginningOfDocument):
2574 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
2575 (WebCore::executeMoveToBeginningOfLine):
2576 (WebCore::executeMoveToBeginningOfLineAndModifySelection):
2577 (WebCore::executeMoveToBeginningOfParagraph):
2578 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
2579 (WebCore::executeMoveToBeginningOfSentence):
2580 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
2581 (WebCore::executeMoveToEndOfDocument):
2582 (WebCore::executeMoveToEndOfDocumentAndModifySelection):
2583 (WebCore::executeMoveToEndOfSentence):
2584 (WebCore::executeMoveToEndOfSentenceAndModifySelection):
2585 (WebCore::executeMoveToEndOfLine):
2586 (WebCore::executeMoveToEndOfLineAndModifySelection):
2587 (WebCore::executeMoveToEndOfParagraph):
2588 (WebCore::executeMoveToEndOfParagraphAndModifySelection):
2589 (WebCore::executeMoveParagraphBackwardAndModifySelection):
2590 (WebCore::executeMoveParagraphForwardAndModifySelection):
2591 (WebCore::executeMoveUp):
2592 (WebCore::executeMoveUpAndModifySelection):
2593 (WebCore::executeMoveUpByPageAndModifyCaret):
2594 (WebCore::executeMoveWordBackward):
2595 (WebCore::executeMoveWordBackwardAndModifySelection):
2596 (WebCore::executeMoveWordForward):
2597 (WebCore::executeMoveWordForwardAndModifySelection):
2598 (WebCore::executeMoveWordLeft):
2599 (WebCore::executeMoveWordLeftAndModifySelection):
2600 (WebCore::executeMoveWordRight):
2601 (WebCore::executeMoveWordRightAndModifySelection):
2602 (WebCore::executeOutdent):
2603 (WebCore::executePaste):
2604 (WebCore::executePasteAndMatchStyle):
2605 (WebCore::executePrint):
2606 (WebCore::executeRedo):
2607 (WebCore::executeRemoveFormat):
2608 (WebCore::executeSelectAll):
2609 (WebCore::executeSelectToMark):
2610 (WebCore::executeSetMark):
2611 (WebCore::executeStrikethrough):
2612 (WebCore::executeSubscript):
2613 (WebCore::executeSuperscript):
2614 (WebCore::executeSwapWithMark):
2615 (WebCore::executeToggleBold):
2616 (WebCore::executeToggleItalic):
2617 (WebCore::executeTranspose):
2618 (WebCore::executeUnderline):
2619 (WebCore::executeUndo):
2620 (WebCore::executeUnlink):
2621 (WebCore::executeUnscript):
2622 (WebCore::executeUnselect):
2623 (WebCore::executeYank):
2624 (WebCore::executeYankAndSelect):
2625 (WebCore::supported):
2626 (WebCore::supportedPaste):
2628 (WebCore::enabledAnySelection):
2629 (WebCore::enabledAnySelectionAndMark):
2630 (WebCore::enableCaretInEditableText):
2631 (WebCore::enabledCopy):
2632 (WebCore::enabledCut):
2633 (WebCore::enabledInEditableText):
2634 (WebCore::enabledInRichlyEditableText):
2635 (WebCore::enabledPaste):
2636 (WebCore::enabledRangeInEditableText):
2637 (WebCore::enabledRangeInRichlyEditableText):
2638 (WebCore::enabledRedo):
2639 (WebCore::enabledUndo):
2640 (WebCore::stateNone):
2641 (WebCore::stateBold):
2642 (WebCore::stateItalic):
2643 (WebCore::stateOrderedList):
2644 (WebCore::stateStrikethrough):
2645 (WebCore::stateSubscript):
2646 (WebCore::stateSuperscript):
2647 (WebCore::stateUnderline):
2648 (WebCore::stateUnorderedList):
2649 (WebCore::valueNull):
2650 (WebCore::valueBackColor):
2651 (WebCore::valueFontName):
2652 (WebCore::valueFontSize):
2653 (WebCore::valueFontSizeDelta):
2654 (WebCore::valueForeColor):
2655 (WebCore::createCommandMap): Added lots of commands, including all the commands
2656 from JSEditor. A few commands needed different behavior based on whether they are
2657 invoked from the DOM or a keyboard binding.
2658 (WebCore::Editor::command): Added. Gets a command object given a name.
2659 (WebCore::Editor::Command::Command): Added.
2660 (WebCore::Editor::Command::execute): Added.
2661 (WebCore::Editor::Command::isSupported): Added.
2662 (WebCore::Editor::Command::isEnabled): Added.
2663 (WebCore::Editor::Command::state): Added.
2664 (WebCore::Editor::Command::value): Added.
2665 (WebCore::Editor::execCommand): Changed to call command().execute().
2667 * editing/JSEditor.cpp: Removed.
2668 * editing/JSEditor.h: Removed.
2670 * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
2671 kill ring commands, so the kill ring commands can be cross-platform.
2672 (WebCore::Editor::appendToKillRing): Added.
2673 (WebCore::Editor::prependToKillRing): Added.
2674 (WebCore::Editor::yankFromKillRing): Added.
2675 (WebCore::Editor::startNewKillRingSequence): Added.
2676 (WebCore::Editor::setKillRingToYankedState): Added.
2678 * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
2679 * page/Frame.h: Ditto.
2681 * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
2682 * page/mac/WebCoreFrameBridge.h: Ditto.
2684 * platform/ContextMenu.cpp:
2685 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
2687 * platform/text/StringHash.h:
2688 (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
2689 (WebCore::StringHash::equal): Ditto.
2690 (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
2692 (WebCore::CaseFoldingHash::equal): Ditto.
2694 * platform/text/StringImpl.cpp:
2695 (WebCore::equal): Changed to invoke StringHash.
2696 (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
2698 * dom/DOMImplementation.cpp:
2699 (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
2700 (WebCore::isSVG10Feature): Ditto.
2701 (WebCore::isSVG11Feature): Ditto.
2702 * loader/FrameLoader.cpp:
2703 (WebCore::localSchemes): Ditto.
2704 * platform/graphics/FontCache.cpp:
2705 (WebCore::computeHash): Ditto.
2706 * platform/network/HTTPHeaderMap.h: Ditto.
2707 * platform/text/PlatformString.h: Ditto.
2708 * platform/text/StringImpl.h: Ditto.
2709 * rendering/RenderPartObject.cpp:
2710 (WebCore::RenderPartObject::updateWidget): Ditto.
2711 * xml/XMLHttpRequest.cpp:
2712 (WebCore::canSetRequestHeader): Ditto.
2714 * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
2716 2007-12-11 Darin Adler <darin@apple.com>
2718 * platform/wx/KeyboardEventWx.cpp:
2719 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
2720 WX build. Changes the code around a little bit.
2722 2007-12-11 Darin Adler <darin@apple.com>
2724 * platform/wx/KeyboardEventWx.cpp:
2725 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
2727 2007-12-11 Dan Bernstein <mitz@apple.com>
2729 Reviewed by Darin Adler.
2731 - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
2733 Test: fast/text/international/complex-character-based-fallback.html
2735 * platform/graphics/Font.cpp:
2736 (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
2737 that forces this function to use the small caps font. It is used for
2738 combining marks that need to combine with a small cap.
2739 * platform/graphics/Font.h:
2740 * platform/win/UniscribeController.cpp:
2741 (WebCore::UniscribeController::advance): Changed to split the string
2742 into runs of characters that will be rendered using the same FontData.
2743 This is done by calling glyphDataForCharacter() for each cahracter to
2744 find the FontData it should be rendered with.
2745 (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
2746 argument that is passed on to shapeAndPlaceItem() instead of the
2748 (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
2749 argument and removed the font fallback logic from this function, as
2750 it is now expected to be called with an item all of whose characters
2751 can be rendered with the given fontData.
2752 * platform/win/UniscribeController.h:
2754 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
2758 <rdar://problem/5535636>
2759 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2761 http://bugs.webkit.org/show_bug.cgi?id=13916
2762 JavaScript detects Tab as a character input on a textfield validation
2764 Test: platform/win/fast/events/double-dead-char.html
2766 * platform/PlatformKeyboardEvent.h:
2767 (WebCore::PlatformKeyboardEvent::):
2768 (WebCore::PlatformKeyboardEvent::type):
2769 (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
2770 (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
2771 (WebCore::PlatformKeyboardEvent::keyIdentifier):
2772 (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2773 Added an explicit type member to differentiate different kinds of events:
2774 RawKeyDown == keydown == WM_KEYDOWN
2775 KeyUp == keyup == WM_KEYUP
2776 Char == keypress == WM_CHAR
2777 KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
2778 event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
2780 * platform/mac/KeyEventMac.mm:
2781 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2782 Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
2783 (WebCore::windowsKeyCodeForKeyEvent):
2784 (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
2785 that it still fails.
2786 (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
2787 should not be available in those (because it cannot be provided on Windows).
2789 * platform/win/KeyEventWin.cpp:
2790 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2791 Used standard Windows constants for bit masks instead of our own ones.
2792 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
2794 * platform/gtk/KeyEventGtk.cpp:
2795 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2796 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2797 * platform/qt/PlatformKeyboardEventQt.cpp:
2798 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2799 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2800 * platform/wx/KeyboardEventWx.cpp:
2801 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2802 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2803 Updated for cross-platform changes as much as it was possible without appropriate build
2806 * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
2807 convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
2809 * bridge/EditorClient.h:
2810 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2811 Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
2815 (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
2817 * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
2819 * dom/KeyboardEvent.cpp:
2820 (WebCore::eventTypeForKeyboardEventType):
2821 (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
2822 now straightforward, so scary hacks such as using autorepeat to distinguish types are
2824 (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
2825 (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
2826 Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
2830 * editing/Editor.cpp:
2831 (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
2832 (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
2833 (WebCore::Editor::handleInputMethodKeydown): Ditto.
2835 * html/HTMLButtonElement.cpp:
2836 (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
2837 appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
2838 not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
2839 highlighted when Space is pressed.
2841 * html/HTMLInputElement.cpp:
2842 (WebCore::HTMLInputElement::defaultEventHandler):
2843 * html/HTMLSelectElement.cpp:
2844 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2845 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2846 Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
2849 * page/EventHandler.cpp:
2850 (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
2851 to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
2852 handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
2853 now being handleInputMethodKeydown().
2854 (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
2855 (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
2856 as default tab handling happens when processing keydown.
2857 (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
2858 event handling. Fixed accesskey processing to use information that's available in a raw keydown
2861 (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
2862 handle tabs during keydown processing.
2864 * page/mac/EventHandlerMac.mm:
2865 (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
2868 * platform/text/PlatformString.h:
2869 * platform/text/String.cpp:
2870 (WebCore::String::characterStartingAt):
2871 * platform/text/StringImpl.cpp:
2872 (WebCore::StringImpl::characterStartingAt):
2873 * platform/text/StringImpl.h:
2874 Added a UChar32 accessor.
2876 * svg/graphics/SVGImageEmptyClients.h:
2877 (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
2878 (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
2879 Updated for new function names.
2881 2007-12-11 John Sullivan <sullivan@apple.com>
2885 Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
2887 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2888 (WebCore::MediaPlayerPrivate::createQTMovieView):
2889 (WebCore::MediaPlayerPrivate::detachQTMovieView):
2891 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
2895 http://bugs.webkit.org/show_bug.cgi?id=16325
2896 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2898 Fix this on Windows, too!
2900 Test: http/tests/misc/empty-cookie.html
2902 * platform/network/win/CookieJarWin.cpp:
2903 (WebCore::setCookies):
2905 Same fix as on Mac, translated into CF.
2907 * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2909 2007-12-11 Christian Dywan <christian@twotoasts.de>
2911 Reviewed by Alp Toker.
2913 http://bugs.webkit.org/show_bug.cgi?id=16371
2914 Implement additional mouse cursors for Gtk
2916 Added cursor bitmaps from Mozilla:
2917 http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
2919 * platform/gtk/CursorGtk.cpp:
2920 (WebCore::customCursorNew):
2921 (WebCore::verticalTextCursor):
2922 (WebCore::cellCursor):
2923 (WebCore::contextMenuCursor):
2924 (WebCore::noDropCursor):
2925 (WebCore::copyCursor):
2926 (WebCore::progressCursor):
2927 (WebCore::aliasCursor):
2928 (WebCore::noneCursor):
2929 (WebCore::notAllowedCursor):
2930 (WebCore::zoomInCursor):
2931 (WebCore::zoomOutCursor):
2932 * platform/gtk/CursorGtk.h: Added.
2934 2007-12-10 Oliver Hunt <oliver@apple.com>
2936 Reviewed by Weinig, Dan, and Alexey.
2938 Fix character set used for dynamically loaded scripts.
2941 <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
2942 <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
2943 <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
2945 Use the same logic to determine the charset for a script loaded dynamically
2946 as we do for a statically loaded script.
2948 * html/HTMLScriptElement.cpp:
2949 (WebCore::HTMLScriptElement::insertedIntoDocument):
2951 2007-12-10 Justin Garcia <justin.garcia@apple.com>
2953 Reviewed by Oliver Hunt.
2955 <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
2957 We were trying to insert a block of the requested type before the body element.
2959 * editing/FormatBlockCommand.cpp:
2960 (WebCore::FormatBlockCommand::doApply):
2961 Removed unnecessary ()s in the if condition.
2962 Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
2963 a) upstreamStart will never be outside the root editable element, since in that case
2964 there would be no block inside the editable root to Format, and b) if upstreamStart.node()
2965 *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
2967 Added comments to explain the use of upstream() in the second if-clause.
2968 Added an early return for case where there is nothing selected, in that case, there is nothing
2971 2007-12-10 Adele Peterson <adele@apple.com>
2973 Reviewed and partially fixed by Tim Hatcher.
2975 Remaining part of fix for <rdar://problem/5633400>
2976 Transformed <video> is not clipped correctly until a repaint is forced
2978 Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
2979 from clobbering the WebCore repaints.
2981 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
2982 * html/HTMLMediaElement.h:
2983 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
2984 * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
2986 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2987 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2988 (method_setImplementation): Added for Tiger.
2990 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
2991 (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
2992 (WebCore::MediaPlayerPrivate::setVisible): ditto.
2993 (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
2995 (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
2996 (-[WebCoreMovieObserver repaint]): ditto.
2998 (WebCore::mainThreadSetNeedsDisplay): Added.
2999 Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
3000 (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
3002 2007-12-10 Geoffrey Garen <ggaren@apple.com>
3004 Reviewed by Sam Weinig.
3006 Updated for rename in JavaScriptCore.
3008 * bridge/mac/WebCoreScriptDebugger.mm:
3009 (-[WebCoreScriptCallFrame scopeChain]):
3010 (-[WebCoreScriptCallFrame functionName]):
3011 (-[WebCoreScriptCallFrame evaluateWebScript:]):
3013 2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
3015 Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
3016 <http://bugs.webkit.org/show_bug.cgi?id=16383>
3018 Use KJS::Window not the ambiguous Window
3020 Reviewed by ddkilzer.
3022 * bindings/js/kjs_dom.cpp (checkNodeSecurity):
3024 2007-12-10 Sam Weinig <sam@webkit.org>
3028 * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
3030 2007-12-10 Marvin Decker <marv.decker@gmail.com>
3034 Fix a divide by 0 in the progress tracker.
3035 http://bugs.webkit.org/show_bug.cgi?id=15055
3037 * loader/ProgressTracker.cpp:
3038 (WebCore::ProgressTracker::incrementProgress):
3040 2007-12-09 Sam Weinig <sam@webkit.org>
3044 More cleanup of kjs_window.
3045 - Move WindowFeatures from bridge/ to page/
3046 - Move functions related to WindowFeatures (boolFeature,
3047 floatFeature, setWindowFeature, parseWindowFeatures) into the class.
3048 - Fix up whitespace.
3050 * WebCore.vcproj/WebCore.vcproj:
3051 * WebCore.xcodeproj/project.pbxproj:
3052 * bindings/js/kjs_window.cpp:
3053 (KJS::DOMWindowTimer::~DOMWindowTimer):
3054 (KJS::createWindow):
3055 (KJS::showModalDialog):
3056 (KJS::Window::getOwnPropertySlot):
3057 (KJS::Window::allowsAccessFrom):
3058 (KJS::Window::shouldInterruptScript):
3059 (KJS::WindowProtoFuncAToB::callAsFunction):
3060 (KJS::WindowProtoFuncOpen::callAsFunction):
3061 (KJS::Window::setReturnValueSlot):
3062 (KJS::ScheduledAction::execute):
3063 (KJS::Window::timerFired):
3064 (KJS::Location::Location):
3065 (KJS::Location::getValueProperty):
3066 (KJS::Location::getOwnPropertySlot):
3067 (KJS::Location::put):
3068 (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
3069 (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
3070 (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
3071 allowsAccessFrom, cleanup the function a little.
3072 (KJS::PausedTimeouts::~PausedTimeouts):
3073 * bridge/WindowFeatures.h: Removed.
3074 * page/WindowFeatures.cpp: Added.
3075 (WebCore::isSeparator):
3076 (WebCore::WindowFeatures::WindowFeatures):
3077 (WebCore::WindowFeatures::setWindowFeature):
3078 (WebCore::WindowFeatures::boolFeature):
3079 (WebCore::WindowFeatures::floatFeature):
3080 * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
3081 (WebCore::WindowFeatures::WindowFeatures):
3083 2007-12-10 Timothy Hatcher <timothy@apple.com>
3085 Reviewed by Mark Rowe.
3087 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
3089 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
3090 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
3092 2007-12-10 Alp Toker <alp@atoker.com>
3096 Cairo implementation of GraphicsContext::setUseAntialiasing().
3098 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3099 (WebCore::GraphicsContext::setUseAntialiasing):
3101 2007-12-10 Rob Buis <buis@kde.org>
3105 http://bugs.webkit.org/show_bug.cgi?id=16182
3106 SVG should disable antialiasing for shape-rendering="crispEdges"
3108 Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
3110 * platform/graphics/GraphicsContext.h:
3111 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3112 (WebCore::GraphicsContext::setUseAntialiasing):
3113 * platform/graphics/cg/GraphicsContextCG.cpp:
3114 (WebCore::GraphicsContext::setUseAntialiasing):
3115 * platform/graphics/qt/GraphicsContextQt.cpp:
3116 (WebCore::GraphicsContext::setUseAntialiasing):
3117 * platform/graphics/wx/GraphicsContextWx.cpp:
3118 (WebCore::GraphicsContext::setUseAntialiasing):
3119 * rendering/RenderPath.cpp:
3120 (WebCore::RenderPath::paint):
3122 2007-12-09 Rob Buis <buis@kde.org>
3126 http://bugs.webkit.org/show_bug.cgi?id=16163
3127 SVG crash in Node::setChanged() on Debug builds only (trashed parent)
3129 Fix the crash by properly unregistering as client from SVGResource
3130 when deleting a styled svg node.
3132 * svg/SVGStyledElement.cpp:
3133 (WebCore::SVGStyledElement::~SVGStyledElement):
3135 2007-12-10 Brady Eidson <beidson@apple.com>
3137 Rubberstamped by John
3139 * storage/DatabaseTracker.cpp:
3140 (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
3141 for the new quota, we should allow the database to be created
3143 2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
3145 Bug 9683: Implement select.options.remove() method
3146 <http://bugs.webkit.org/show_bug.cgi?id=9683>
3150 Implement select.options.remove() by calling select.remove()
3151 with the same arguments. This is what MSIE 7 does, although its
3152 select.remove() method differs from WebKit's by throwing an
3153 exception when called with no arguments or with a negative
3154 integer argument. Note that the DOM Level 1 documentation
3155 specifies that select.remove() does not throw an exception.
3157 Tests: fast/js/select-options-remove-gc.html
3158 fast/js/select-options-remove.html
3160 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3161 (WebCore::JSHTMLOptionsCollection::remove): Added.
3162 * html/HTMLOptionsCollection.cpp:
3163 (WebCore::HTMLOptionsCollection::remove): Added.
3164 * html/HTMLOptionsCollection.h:
3165 * html/HTMLOptionsCollection.idl:
3167 2007-12-09 Sam Weinig <sam@webkit.org>
3169 Rubber stamped by Mark Rowe.
3171 * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
3173 2007-12-09 Oliver Hunt <oliver@apple.com>
3177 Correction, 'z' and 'Z' are the only commands that cannot have an extended
3180 * svg/SVGParserUtilities.cpp:
3181 (WebCore::SVGPathParser::parseSVG):
3183 2007-12-09 Oliver Hunt <oliver@apple.com>
3187 Prevent unlimited iteration in the case of invalid path data.
3189 The only path commands that can leave numbers trailing the command processing
3190 are 'm' and 'M', in which trailing numbers are parsed as arguments to an
3191 implicit lineto command. In any case we should just terminate as an invalid
3194 * svg/SVGParserUtilities.cpp:
3195 (WebCore::SVGPathParser::parseSVG):
3197 2007-12-09 Luca Bruno <lethalman88@gmail.com>
3199 Reviewed by Alp Toker.
3201 http://bugs.webkit.org/show_bug.cgi?id=15825
3202 [GTK] curl - slow dns causing hangs.
3204 Create a vector of jobs, to satisfy requests in the right order.
3205 Set a limit to the number of simultaneous connections.
3207 * platform/network/curl/ResourceHandleManager.cpp:
3208 (WebCore::maxRunningJobs): added
3209 (WebCore::ResourceHandleManager::ResourceHandleManager):
3210 (WebCore::ResourceHandleManager::removeFromCurl):
3211 (WebCore::ResourceHandleManager::startScheduledJobs):
3213 * platform/network/curl/ResourceHandleManager.h:
3214 (WebCore::ResourceHandleList): removed
3215 (WebCore::ResourceHandleManager::m_runningJobs): added
3216 (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
3217 (WebCore::ResourceHandleManager::m_resourceHandleList): added
3219 2007-12-08 Sam Weinig <sam@webkit.org>
3223 Cleanup kjs_window.h/cpp.
3225 * bindings/js/kjs_window.cpp:
3226 (KJS::WindowPrivate::WindowPrivate):
3227 (KJS::DOMWindowTimer::DOMWindowTimer):
3228 (KJS::Window::Window):
3229 (KJS::Window::retrieveWindow):
3230 (KJS::Window::retrieveActive):
3231 (KJS::Window::retrieve):
3232 (KJS::Window::location):
3233 (KJS::Window::mark):
3235 (KJS::parseModalDialogFeatures):
3236 (KJS::floatFeature):
3237 (KJS::canShowModalDialog):
3238 (KJS::canShowModalDialogNow):
3239 (KJS::showModalDialog):
3240 (KJS::Window::getValueProperty):
3241 (KJS::Window::getOwnPropertySlot):
3242 (KJS::Window::globalExec):
3243 (KJS::Window::setListener):
3244 (KJS::Window::getListener):
3245 (KJS::Window::findOrCreateJSEventListener):
3246 (KJS::Window::findOrCreateJSUnprotectedEventListener):
3247 (KJS::Window::clearHelperObjectProperties):
3248 (KJS::Window::setCurrentEvent):
3249 (KJS::WindowProtoFuncAToB::callAsFunction):
3250 (KJS::WindowProtoFuncBToA::callAsFunction):
3251 (KJS::WindowProtoFuncOpen::callAsFunction):
3252 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
3253 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
3254 (KJS::WindowProtoFuncSetInterval::callAsFunction):
3255 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
3256 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
3257 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
3258 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
3259 * bindings/js/kjs_window.h:
3260 (KJS::PausedTimeouts::PausedTimeouts):
3261 (KJS::PausedTimeouts::takeTimeouts):
3262 (KJS::ScheduledAction::ScheduledAction):
3264 2007-12-08 Sam Weinig <sam@webkit.org>
3268 Move window scrolling, moving and resizing methods from KJS::Window
3269 to WebCore::DOMWindow so that there bindings can be autogenerated.
3271 Tests: fast/dom/Window/window-resize-and-move-arguments.html
3272 fast/dom/Window/window-scroll-arguments.html
3274 * WebCore.xcodeproj/project.pbxproj:
3275 * bindings/js/kjs_window.cpp:
3276 (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
3277 (KJS::WindowProtoFuncOpen::callAsFunction):
3278 (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
3279 * bindings/js/kjs_window.h:
3280 * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
3281 to ensure that the no less than the declared number of attributes
3283 * page/DOMWindow.cpp:
3284 (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
3285 (WebCore::DOMWindow::scrollBy):
3286 (WebCore::DOMWindow::scrollTo):
3287 (WebCore::DOMWindow::moveBy):
3288 (WebCore::DOMWindow::moveTo):
3289 (WebCore::DOMWindow::resizeBy):
3290 (WebCore::DOMWindow::resizeTo):
3292 (WebCore::DOMWindow::scroll):
3293 * page/DOMWindow.idl:
3295 2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
3297 Reviewed by Alp Toker.
3299 http://bugs.webkit.org/show_bug.cgi?id=14651
3300 [CURL] didReceiveResponse() only called for HTTP loads
3302 http://bugs.webkit.org/show_bug.cgi?id=14583
3303 [GDK] file:// relative CSS include URLs handled incorrectly
3305 Make sure CURL sets the ResourceResponse URL and calls
3306 didReceiveResponse for local files too.
3308 * platform/network/curl/ResourceHandleManager.cpp:
3309 (WebCore::writeCallback):
3311 2007-12-08 Oliver Hunt <oliver@apple.com>
3315 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
3317 Fixes <rdar://problem/5620249> Must disable SVG animation
3318 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
3320 In order to allow finer grained control over the set of SVG features
3321 this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
3323 ENABLE_SVG_ANIMATION
3329 by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
3331 * Configurations/WebCore.xcconfig:
3332 * DerivedSources.make:
3333 Handle the increased number of build flags that may be necessary
3335 * WebCore.SVG.Animation.exp: Added.
3336 * WebCore.SVG.Filters.exp: Added.
3338 We now may not need the animation or filter exports so
3339 these need to be separate.
3341 * WebCore.vcproj/WebCore.vcproj:
3342 * WebCore.vcproj/build-generated-files.sh:
3343 Update for new flags
3345 Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES)
3346 with the appropriate specific feature flag.
3347 * bindings/js/JSSVGElementWrapperFactory.cpp:
3348 (WebCore::createJSSVGWrapper):
3349 * bindings/objc/DOM.mm:
3350 (WebCore::createElementClassMap):
3351 * dom/make_names.pl:
3352 * loader/CachedImage.cpp:
3353 (WebCore::CachedImage::createImage):
3354 * page/DOMWindow.idl:
3355 * rendering/RenderPath.cpp:
3356 (WebCore::RenderPath::absoluteClippedOverflowRect):
3357 * rendering/RenderSVGContainer.cpp:
3358 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
3359 * rendering/RenderSVGImage.cpp:
3360 (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
3361 * rendering/RenderSVGRoot.cpp:
3362 (WebCore::RenderSVGRoot::paint):
3363 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
3364 * rendering/RenderSVGText.cpp:
3365 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
3366 * rendering/SVGRenderSupport.cpp:
3367 (WebCore::prepareToRenderSVGContent):
3368 (WebCore::finishRenderSVGContent):
3369 * svg/SVGAnimateElement.cpp:
3370 * svg/SVGAnimateElement.h:
3371 * svg/SVGAnimateElement.idl:
3372 * svg/SVGAnimateMotionElement.cpp:
3373 * svg/SVGAnimateMotionElement.h:
3374 * svg/SVGAnimateTransformElement.cpp:
3375 * svg/SVGAnimateTransformElement.h:
3376 * svg/SVGAnimateTransformElement.idl:
3377 * svg/SVGComponentTransferFunctionElement.cpp:
3378 * svg/SVGComponentTransferFunctionElement.h:
3379 * svg/SVGComponentTransferFunctionElement.idl:
3380 * svg/SVGDocumentExtensions.cpp:
3381 (WebCore::SVGDocumentExtensions::startAnimations):
3382 * svg/SVGFEBlendElement.cpp:
3383 * svg/SVGFEBlendElement.h:
3384 * svg/SVGFEBlendElement.idl:
3385 * svg/SVGFEColorMatrixElement.cpp:
3386 * svg/SVGFEColorMatrixElement.h:
3387 * svg/SVGFEColorMatrixElement.idl:
3388 * svg/SVGFEComponentTransferElement.cpp:
3389 * svg/SVGFEComponentTransferElement.h:
3390 * svg/SVGFEComponentTransferElement.idl:
3391 * svg/SVGFECompositeElement.cpp:
3392 * svg/SVGFECompositeElement.h:
3393 * svg/SVGFECompositeElement.idl:
3394 * svg/SVGFEDiffuseLightingElement.cpp:
3395 * svg/SVGFEDiffuseLightingElement.h:
3396 * svg/SVGFEDiffuseLightingElement.idl:
3397 * svg/SVGFEDisplacementMapElement.cpp:
3398 * svg/SVGFEDisplacementMapElement.h:
3399 * svg/SVGFEDisplacementMapElement.idl:
3400 * svg/SVGFEDistantLightElement.cpp:
3401 * svg/SVGFEDistantLightElement.h:
3402 * svg/SVGFEDistantLightElement.idl:
3403 * svg/SVGFEFloodElement.cpp:
3404 * svg/SVGFEFloodElement.h:
3405 * svg/SVGFEFloodElement.idl:
3406 * svg/SVGFEFuncAElement.cpp:
3407 * svg/SVGFEFuncAElement.h:
3408 * svg/SVGFEFuncAElement.idl:
3409 * svg/SVGFEFuncBElement.cpp:
3410 * svg/SVGFEFuncBElement.h:
3411 * svg/SVGFEFuncBElement.idl:
3412 * svg/SVGFEFuncGElement.cpp:
3413 * svg/SVGFEFuncGElement.h:
3414 * svg/SVGFEFuncGElement.idl:
3415 * svg/SVGFEFuncRElement.cpp:
3416 * svg/SVGFEFuncRElement.h:
3417 * svg/SVGFEFuncRElement.idl:
3418 * svg/SVGFEGaussianBlurElement.cpp:
3419 * svg/SVGFEGaussianBlurElement.h:
3420 * svg/SVGFEGaussianBlurElement.idl:
3421 * svg/SVGFEImageElement.cpp:
3422 * svg/SVGFEImageElement.h:
3423 * svg/SVGFEImageElement.idl:
3424 * svg/SVGFELightElement.cpp:
3425 * svg/SVGFELightElement.h:
3426 * svg/SVGFEMergeElement.cpp:
3427 * svg/SVGFEMergeElement.h:
3428 * svg/SVGFEMergeElement.idl:
3429 * svg/SVGFEMergeNodeElement.cpp:
3430 * svg/SVGFEMergeNodeElement.h:
3431 * svg/SVGFEMergeNodeElement.idl:
3432 * svg/SVGFEOffsetElement.cpp:
3433 * svg/SVGFEOffsetElement.h:
3434 * svg/SVGFEOffsetElement.idl:
3435 * svg/SVGFEPointLightElement.cpp:
3436 * svg/SVGFEPointLightElement.h:
3437 * svg/SVGFEPointLightElement.idl:
3438 * svg/SVGFESpecularLightingElement.cpp:
3439 * svg/SVGFESpecularLightingElement.h:
3440 * svg/SVGFESpecularLightingElement.idl:
3441 * svg/SVGFESpotLightElement.cpp:
3442 * svg/SVGFESpotLightElement.h:
3443 * svg/SVGFESpotLightElement.idl:
3444 * svg/SVGFETileElement.cpp:
3445 * svg/SVGFETileElement.h:
3446 * svg/SVGFETileElement.idl:
3447 * svg/SVGFETurbulenceElement.cpp:
3448 * svg/SVGFETurbulenceElement.h:
3449 * svg/SVGFETurbulenceElement.idl:
3450 * svg/SVGFilterElement.cpp:
3451 * svg/SVGFilterElement.h:
3452 * svg/SVGFilterElement.idl:
3453 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3455 (WebCore::SVGTimer::animationsByElement):
3456 * svg/SVGUseElement.cpp:
3457 (WebCore::SVGUseElement::buildPendingResource):
3458 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3459 * svg/SVGUseElement.h:
3460 * svg/TimeScheduler.cpp:
3461 (WebCore::TimeScheduler::connectIntervalTimer):
3462 (WebCore::TimeScheduler::disconnectIntervalTimer):
3463 * svg/graphics/SVGResourceFilter.cpp:
3464 * svg/graphics/SVGResourceFilter.h:
3465 * svg/graphics/cg/SVGResourceFilterCg.cpp:
3466 * svg/graphics/cg/SVGResourceFilterCg.mm:
3467 * svg/graphics/filters/SVGDistantLightSource.h:
3468 * svg/graphics/filters/SVGFEBlend.cpp:
3469 * svg/graphics/filters/SVGFEBlend.h:
3470 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3471 * svg/graphics/filters/SVGFEColorMatrix.h:
3472 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3473 * svg/graphics/filters/SVGFEComponentTransfer.h:
3474 * svg/graphics/filters/SVGFEComposite.cpp:
3475 * svg/graphics/filters/SVGFEComposite.h:
3476 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3477 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3478 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3479 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3480 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3481 * svg/graphics/filters/SVGFEDisplacementMap.h:
3482 * svg/graphics/filters/SVGFEFlood.cpp:
3483 * svg/graphics/filters/SVGFEFlood.h:
3484 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3485 * svg/graphics/filters/SVGFEGaussianBlur.h:
3486 * svg/graphics/filters/SVGFEImage.cpp:
3487 * svg/graphics/filters/SVGFEImage.h:
3488 * svg/graphics/filters/SVGFEMerge.cpp:
3489 * svg/graphics/filters/SVGFEMerge.h:
3490 * svg/graphics/filters/SVGFEMorphology.cpp:
3491 * svg/graphics/filters/SVGFEMorphology.h:
3492 * svg/graphics/filters/SVGFEOffset.cpp:
3493 * svg/graphics/filters/SVGFEOffset.h:
3494 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3495 * svg/graphics/filters/SVGFESpecularLighting.h:
3496 * svg/graphics/filters/SVGFETile.h:
3497 * svg/graphics/filters/SVGFETurbulence.cpp:
3498 * svg/graphics/filters/SVGFETurbulence.h:
3499 * svg/graphics/filters/SVGFilterEffect.cpp:
3500 * svg/graphics/filters/SVGFilterEffect.h:
3501 * svg/graphics/filters/SVGLightSource.cpp:
3502 * svg/graphics/filters/SVGLightSource.h:
3503 * svg/graphics/filters/SVGPointLightSource.h:
3504 * svg/graphics/filters/SVGSpotLightSource.h:
3505 * svg/graphics/filters/cg/SVGFEBlendCg.mm:
3506 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
3507 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
3508 * svg/graphics/filters/cg/SVGFECompositeCg.mm:
3509 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3510 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3511 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3512 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3513 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3514 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3515 * svg/graphics/filters/cg/SVGFEImageCg.mm:
3516 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3517 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3518 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3519 * svg/graphics/filters/cg/SVGFETileCg.mm:
3520 * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
3521 * svg/graphics/filters/cg/WKArithmeticFilter.h:
3522 * svg/graphics/filters/cg/WKArithmeticFilter.m:
3523 * svg/graphics/filters/cg/WKComponentMergeFilter.h:
3524 * svg/graphics/filters/cg/WKComponentMergeFilter.m:
3525 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
3526 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
3527 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
3528 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
3529 * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
3530 * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
3531 * svg/graphics/filters/cg/WKDistantLightFilter.h:
3532 * svg/graphics/filters/cg/WKDistantLightFilter.m:
3533 * svg/graphics/filters/cg/WKGammaTransferFilter.h:
3534 * svg/graphics/filters/cg/WKGammaTransferFilter.m:
3535 * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
3536 * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
3537 * svg/graphics/filters/cg/WKLinearTransferFilter.h:
3538 * svg/graphics/filters/cg/WKLinearTransferFilter.m:
3539 * svg/graphics/filters/cg/WKNormalMapFilter.h:
3540 * svg/graphics/filters/cg/WKNormalMapFilter.m:
3541 * svg/graphics/filters/cg/WKPointLightFilter.h:
3542 * svg/graphics/filters/cg/WKPointLightFilter.m:
3543 * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
3544 * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
3545 * svg/graphics/filters/cg/WKSpotLightFilter.h:
3546 * svg/graphics/filters/cg/WKSpotLightFilter.m:
3547 * svg/graphics/filters/cg/WKTableTransferFilter.h:
3548 * svg/graphics/filters/cg/WKTableTransferFilter.m:
3549 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
3550 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
3553 2007-12-08 Dan Bernstein <mitz@apple.com>
3555 Reviewed by Adele Peterson.
3557 - fix two bugs in parsing of stylesheets in <style> elements created by
3559 1. each such stylesheet is parsed twice, once when the text node is
3560 added and again when the </style> tag is reached
3561 2. re-inserting such a <style> element into the document fails to
3562 re-parse and apply its stylesheet.
3564 Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
3566 * html/HTMLStyleElement.cpp:
3567 (WebCore::HTMLStyleElement::finishedParsing):
3568 * svg/SVGStyleElement.cpp:
3569 (WebCore::SVGStyleElement::finishedParsing):
3571 2007-12-07 Sam Weinig <sam@webkit.org>
3575 - Removes the faulty isSafeScript implementation that was only
3577 - Renames isSafeScript to allowsAccessFrom.
3579 * bindings/js/JSDOMWindowCustom.cpp:
3580 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3581 (WebCore::JSDOMWindow::customPut):
3582 * bindings/js/kjs_dom.cpp:
3583 (WebCore::checkNodeSecurity):
3584 * bindings/js/kjs_window.cpp:
3585 (KJS::createWindow):
3586 (KJS::Window::getValueProperty):
3587 (KJS::Window::namedItemGetter):
3588 (KJS::Window::getOwnPropertySlot):
3590 (KJS::Window::allowsAccessFrom):
3591 (KJS::Window::setListener):
3592 (KJS::Window::getListener):
3593 (KJS::WindowProtoFuncOpen::callAsFunction):
3594 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
3595 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
3596 (KJS::WindowProtoFuncSetInterval::callAsFunction):
3597 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
3598 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
3599 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
3600 (KJS::Location::getOwnPropertySlot):
3601 (KJS::Location::put):
3602 (KJS::LocationProtoFuncReplace::callAsFunction):
3603 (KJS::LocationProtoFuncReload::callAsFunction):
3604 (KJS::LocationProtoFuncAssign::callAsFunction):
3605 (KJS::LocationProtoFuncToString::callAsFunction):
3606 * bindings/js/kjs_window.h:
3607 (KJS::Window::allowsAccessFrom):
3608 * bindings/objc/WebScriptObject.mm:
3609 (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
3611 * bindings/scripts/CodeGeneratorJS.pm:
3613 2007-12-08 Rob Buis <buis@kde.org>
3617 http://bugs.webkit.org/show_bug.cgi?id=15464
3618 SVGLengthList allows bad values
3620 Be more strict with svg lengths without a unit identifier.
3622 Test: svg/custom/invalid-lengthlist.svg
3624 * svg/SVGLength.cpp:
3625 (WebCore::SVGLength::setValueAsString):
3627 2007-12-08 Rob Buis <buis@kde.org>
3629 Mac Tiger build fix.
3631 Use the wtf prefix when including MathExtras.h.
3633 * rendering/RenderMedia.cpp:
3635 2007-12-08 Alp Toker <alp@atoker.com>
3637 GTK+ build fix (for ENABLE_VIDEO builds):
3639 Include MathExtras.h to get isfinite().
3641 * rendering/RenderMedia.cpp:
3643 2007-12-08 Rob Buis <buis@kde.org>
3647 http://bugs.webkit.org/show_bug.cgi?id=15528
3648 svg_dynamic_cast should be removed
3650 Replace svg_dynamic_cast with a combination of
3651 isSVGElement and static_cast.
3653 * rendering/SVGRootInlineBox.cpp:
3654 (WebCore::SVGRootInlineBox::buildLayoutInformation):
3655 (WebCore::SVGRootInlineBox::buildTextChunks):
3656 * svg/SVGAnimationElement.cpp:
3657 (WebCore::SVGAnimationElement::targetElement):
3659 * svg/SVGElementInstance.cpp:
3660 (WebCore::SVGElementInstance::updateInstance):
3661 * svg/SVGFilterElement.cpp:
3662 (WebCore::SVGFilterElement::canvasResource):
3663 * svg/SVGGradientElement.cpp:
3664 (WebCore::SVGGradientElement::buildStops):
3665 * svg/SVGLocatable.cpp:
3666 (WebCore::SVGLocatable::getTransformToElement):
3667 * svg/SVGMaskElement.cpp:
3668 (WebCore::SVGMaskElement::drawMaskerContent):
3669 * svg/SVGSwitchElement.cpp:
3670 (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3671 * svg/SVGUseElement.cpp:
3672 (WebCore::SVGUseElement::insertedIntoDocument):
3673 (WebCore::SVGUseElement::buildPendingResource):
3674 (WebCore::SVGUseElement::buildInstanceTree):
3675 (WebCore::SVGUseElement::handleDeepUseReferencing):
3676 (WebCore::SVGUseElement::buildShadowTree):
3677 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3678 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3679 * svg/graphics/SVGResource.cpp:
3680 (WebCore::getResourceById):
3682 2007-12-07 Antti Koivisto <antti@apple.com>
3686 Partial fix for <rdar://problem/5633400>
3687 Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
3689 Fix video painting when transform is applied.
3691 Test: media/video-transformed.html
3693 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3694 (WebCore::MediaPlayerPrivate::paint):
3696 2007-12-07 Dan Bernstein <mitz@apple.com>
3698 Reviewed by Sam Weinig.
3700 - fix http://bugs.webkit.org/show_bug.cgi?id=16348
3701 @font-face does not affect the default style
3703 Test: fast/css/font-face-default-font.html
3706 (WebCore::Document::recalcStyle): Pass our font selector to
3707 Font::update() if we already have one.
3709 2007-12-07 Darin Adler <darin@apple.com>
3713 * bridge/win/GlobalHistoryWin.cpp:
3714 (WebCore::historyContains): Missed a rename.
3716 2007-12-07 Brady Eidson <beidson@apple.com>
3718 Reviewed by Anders and Darin
3720 When a statement bumps up against the quota and the UI Delegate grants more space, we need to
3721 actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
3722 in the DatabaseTracker, which was already done)
3724 * storage/SQLTransaction.cpp:
3725 (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
3726 the SQLiteDatabase to the new maximum size
3728 2007-12-07 Darin Adler <darin@apple.com>
3732 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
3733 QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
3735 2007-12-07 Darin Adler <darin@apple.com>
3737 - fix 64-bit build, hopefully without breaking Tiger build
3739 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3740 (WebCore::MediaPlayerPrivate::updateStates):
3741 Don't use Movies.h constants that are nonexistent in 64-bit.
3742 Define the new QTMovie.h constants, though, when using an older QTKit.
3744 2007-12-07 Brady Eidson <beidson@apple.com>
3748 Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
3750 * storage/DatabaseTracker.cpp:
3751 (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
3752 (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
3753 * storage/DatabaseTracker.h:
3755 2007-12-07 Darin Adler <darin@apple.com>
3759 - http://bugs.webkit.org/show_bug.cgi?id=15981
3760 speed up visited-link code a bit
3762 * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
3763 instead of requiring a DeprecatedString.
3765 * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
3766 Also removes pointless "fast Latin-1" case that was never used.
3767 * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
3768 * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3769 * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3771 * css/CSSStyleSelector.cpp:
3772 (WebCore::findHash): Added. Helper for cleanpath.
3773 (WebCore::findSlashDotDotSlash): Ditto.
3774 (WebCore::findSlashSlash): Ditto.
3775 (WebCore::findSlashDotSlash): Ditto.
3776 (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
3777 DeprecatedString find function.
3778 (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
3779 (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
3780 instead of an AtomicString for the attribute value. Changed to use fast helper function
3781 instead of slower DeprecatedString::contains function, and also made the fast case not
3782 bother allocating a DeprecatedConstString.
3784 - unrelated tiny cleanup
3786 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3787 (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
3788 (WebCore::cgGradientCallback): Ditto.
3790 2007-12-07 Darin Adler <darin@apple.com>
3792 Fix build on Tiger (Mark Rowe told me how).
3794 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3795 Include <objc/objc-runtime.h>, which existed back on Tiger,
3796 rather than <objc/runtime.h>, which did not.
3798 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3800 Build fix: rolling out last build fix to change #include path.
3802 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3804 2007-12-07 Steve Falkenburg <sfalken@apple.com>
3806 Re-named our B&I flag from BUILDBOT to PRODUCTION.
3808 Reviewed by Sam Weinig.
3810 * WebCore.vcproj/WebCore.make:
3812 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3814 Build fix: corrected #include path.
3816 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3818 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3820 Reviewed by Sam Weinig.
3822 Added some namespace qualifications and a forwarding header, now that
3823 KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
3825 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
3826 * bindings/js/JSXSLTProcessor.cpp:
3827 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
3828 * bindings/js/kjs_binding.cpp:
3829 (KJS::ScriptInterpreter::getDOMNodeForDocument):
3830 (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3831 (KJS::ScriptInterpreter::putDOMNodeForDocument):
3832 (KJS::ScriptInterpreter::markDOMNodesForDocument):
3833 (KJS::ScriptInterpreter::updateDOMNodeDocument):
3835 2007-12-07 Adam Roben <aroben@apple.com>
3837 Add SoftLinking.h for Windows and use it in a few places
3841 * WebCore.vcproj/WebCore.vcproj: Added new file to project.
3842 * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
3843 (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
3845 (WebCore::PlatformScrollbar::paintButton): Check for the presence of
3846 the SafariTheme library now that we can't check for the presence of
3847 paintThemePart directly.
3848 (WebCore::PlatformScrollbar::paintTrack): Ditto.
3849 (WebCore::PlatformScrollbar::paintThumb): Ditto.
3850 * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
3851 * rendering/RenderThemeSafari.cpp: Same basic changes as to
3852 PlatformScrollBarSafari.cpp.
3853 (WebCore::RenderThemeSafari::RenderThemeSafari):
3854 (WebCore::RenderThemeSafari::isControlStyled):
3855 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3856 * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
3858 2007-12-07 Darin Adler <darin@apple.com>
3862 - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
3863 at WebCore::HTMLSelectElement::saveState const + 152
3865 Test: fast/forms/select-set-inner.html
3867 * dom/ContainerNode.cpp:
3868 (WebCore::ContainerNode::removeChildren): Added a return value, as with other
3869 calls that change children, so we can optimize for the case where it does nothing.
3870 (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
3871 * dom/ContainerNode.h: See above.
3873 * html/HTMLOptGroupElement.cpp:
3874 (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
3875 recalcSelectOptions in that case.
3876 (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
3877 addChild, for consistency with HTMLSelectElement; no need to override both.
3878 (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
3879 * html/HTMLOptGroupElement.h: See above.
3881 * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
3882 override childrenChanged, and addChild calls that.
3883 (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
3884 recalcSelectOptions in that case.
3885 (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
3886 by using a for loop and traverseNextSibling. Also added some new comments and
3887 removed some obsolete ones.
3888 (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
3889 sure we don't have a stale list items vector.
3890 * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
3891 This will help us catch cases where we have too few calls to setRecalcListItems.
3893 2007-12-07 Dan Bernstein <mitz@apple.com>
3895 Reviewed by Darin Adler.
3897 - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3899 Test: fast/repaint/focus-ring.html
3901 * editing/SelectionController.cpp:
3902 (WebCore::SelectionController::caretRepaintRect): Changed to return just
3903 the caret rect without any padding.
3904 (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
3905 just the caret rect without any padding.
3906 * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
3907 clearFocusRingClip().
3908 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3909 * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
3910 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
3911 m_focusRingClip member.
3912 * platform/graphics/mac/GraphicsContextMac.mm:
3913 (WebCore::GraphicsContext::drawFocusRing): Changed to call
3914 wkDrawFocusRing() once without setting up additional clip. On Leopard,
3915 wkDrawFocusRing() respects the context clip now. On Tiger, a
3916 transparency layer is used to apply clipping to the focus ring.
3917 * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
3919 * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
3920 * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
3921 to wkDrawFocusRing().
3922 * platform/mac/WebCoreSystemInterface.mm: Ditto.
3923 * rendering/RenderLayer.cpp:
3924 (WebCore::setClip): Removed call to set the focus ring clip.
3925 (WebCore::restoreClip): Removed call to reset the focus ring clip.
3927 2007-12-07 Darin Adler <darin@apple.com>
3929 Reviewed by Antti Koivisto and Kevin Decker.
3931 - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
3933 Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
3935 * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
3937 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
3938 Made a lot more functions const. Made a few more members private and a couple inline.
3939 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
3940 things we currently use in QTKit. It's a little more awkward for classes and other data objects
3941 than it is for functions, but still relatively straightforward, with no changes needed to the
3942 client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
3943 it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
3944 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
3946 (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
3947 (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
3948 (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
3949 Changed to use long instead of int because that's the type for a QTTime time scale anyway.
3950 (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
3951 (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
3952 (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
3953 points set to avoid a potential problem with a set being modified as we iterate it.
3954 (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
3955 (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
3956 values, used the constants from the headers directly.
3957 (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
3958 pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
3959 of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
3960 no better). Used RetainPtr instead of explicit CFRelease calls.
3962 * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
3963 It's not quite as automatic as the soft linking we can do for functions, since these define
3964 functions to get the values, so you need to define macros to make what look like variable
3965 accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
3967 * html/HTMLMediaElement.h:
3968 * html/TimeRanges.h:
3969 * html/VoidCallback.h:
3970 * platform/graphics/MediaPlayer.h:
3971 Use angle brackets for wtf includes. Omit unneeded includes.
3973 2007-12-07 Dan Bernstein <mitz@apple.com>
3975 Reviewed by Darin Adler.
3977 - fix http://bugs.webkit.org/show_bug.cgi?id=16334
3978 <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
3980 Test: fast/dynamic/subtree-no-common-root-static-y.html
3982 * rendering/RenderObject.cpp:
3983 (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
3984 to setChildNeedsLayout() to not mark containing blocks and added a
3985 separate call to markContainingBlocksForLayout() that will not schedule
3986 a layout if we are already in the middle of scheduleRelayoutOfSubtree().
3988 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
3992 http://bugs.webkit.org/show_bug.cgi?id=16325
3993 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
3995 Test: http/tests/misc/empty-cookie.html
3997 * platform/mac/CookieJar.mm:
3998 (WebCore::setCookies): Don't store empty cookies.
3999 (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
4000 with an earlier version of Leopard!
4002 2007-12-06 Ada Chan <adachan@apple.com>
4004 Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
4005 returning true when there's an error).
4009 * platform/win/FileSystemWin.cpp:
4010 (WebCore::makeAllDirectories):
4012 2007-12-06 Darin Adler <darin@apple.com>
4014 - fix broken regression test
4016 * bindings/js/kjs_binding.cpp:
4017 (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
4019 2007-12-06 Darin Adler <darin@apple.com>
4021 Reviewed by Sam Weinig.
4023 - fix http://bugs.webkit.org/show_bug.cgi?id=16332
4024 ObjC DOM exception object descriptions should include the exception name
4026 * WebCore.pro: Added ExceptionCode.cpp.
4027 * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
4028 * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
4029 * WebCoreSources.bkl: Added ExceptionCode.cpp.
4031 * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
4032 ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
4033 the many unneeded includes that were here. Had to keep one special case here, for
4036 * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
4037 new getExceptionCodeDescription function so that this shares the exception name
4038 information that was previously only available to JavaScript.
4040 * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
4041 (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
4042 handle exception names in a slightly more robust way that is not subject to integer
4043 overflow. (Not a real world issue since we should never receive a bad exception code.)
4045 * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
4046 getExceptionCodeDescription function.
4048 * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
4049 the comments were mildly helpful, but others were incorrect. This now matches the other
4050 exception-related headers such as RangeException.h.
4052 2007-12-06 Brady Eidson <beidson@apple.com>
4056 Fixed a glaring bug that would prevent a statement from getting run a second time
4058 * storage/SQLStatement.cpp:
4059 (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
4061 (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
4063 2007-12-06 Timothy Hatcher <timothy@apple.com>
4065 Reviewed by Oliver Hunt.
4067 Use keydown instead of keypress so keyIdentifier can be used.
4069 * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
4070 * page/inspector/DatabasePanel.js: Ditto.
4071 * page/inspector/inspector.js: Ditto. Plus call removeEventListener
4072 before deleting windowLoaded.
4074 2007-12-06 Adam Roben <aroben@apple.com>
4076 Rename FontsTable.plist to FontsList.plist
4078 Rubberstamped by Hyatt.
4080 * platform/graphics/win/FontDatabase.cpp:
4082 2007-12-06 Brady Eidson <beidson@apple.com>
4086 Tweaked a comment and a few assertions from my last checkin
4088 * storage/SQLStatement.cpp:
4089 (WebCore::SQLStatement::execute):
4090 (WebCore::SQLStatement::clearFailureDueToQuota):
4091 (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
4093 2007-12-06 Brady Eidson <beidson@apple.com>
4097 Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
4098 will ask the UI Delegate for more space when that quota is met
4100 * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
4101 * platform/sql/SQLiteDatabase.h: Ditto
4103 * storage/Database.cpp:
4104 (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
4105 (WebCore::Database::stringIdentifier): Ditto
4106 * storage/Database.h:
4108 * storage/SQLStatement.cpp:
4109 (WebCore::SQLStatement::SQLStatement):
4110 (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
4111 If the result is quota, this statement expects that it might be run again, presumably after the user increases
4113 (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
4114 (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
4115 (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
4116 * storage/SQLStatement.h:
4118 * storage/SQLTransaction.cpp:
4119 (WebCore::SQLTransaction::SQLTransaction):
4120 (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
4121 (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this
4122 transaction. Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
4123 (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
4124 decision and whether the current statement was already run
4125 (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
4126 (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
4127 that handles a statement error was moved here
4128 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then
4129 reschedule the current statement on the database thread
4130 * storage/SQLTransaction.h:
4132 2007-12-06 Steve Falkenburg <sfalken@apple.com>
4134 <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
4136 Don't use callback-based timers, since these cause Windows to eat Windows crashes
4137 in code the timers call.
4139 Windows appears to be defending against "shatter" attacks partially by setting
4140 up a structured exception block while dispatching callback-based WM_TIMERs.
4142 I verified this by adding a divide by zero into some timer callback code.
4143 In the case where the timer was dispatched via a callback, the divide by zero
4144 exception was silently handled and ignored, with execution continuing after
4145 our call to DispatchMessage. When processed via the WNDPROC, no SEH
4146 block was established by Windows, and our divide by zero generated a real
4147 crash (which is what we wanted).
4149 Windows handling our crashes for us led us to leave the timer data structures
4150 in an invalid state so the next time a timer was set, we'd crash accessing an
4151 invalid HashMap of timer data.
4155 * platform/win/SharedTimerWin.cpp:
4156 (WebCore::TimerWindowWndProc):
4157 (WebCore::setSharedTimerFireTime):
4159 2007-12-06 Adam Roben <aroben@apple.com>
4161 Fix <rdar://5108390> Feed title is too low in blue banner
4163 Way back in r23069 we started applying the same font ascent hack that
4164 Mac WebKit applies to Helvetica, Times, and Courier. We did this so
4165 that those fonts would match the Mac metrics when we run the
4166 regression tests. However, this hack was applying to Arial on Windows
4167 when a site would specify the Helvetica font face because Windows will
4168 alias the font names. Instead of removing the hack entirely, we
4169 turn it off by default but provide some SPI so that DumpRenderTree can
4176 * platform/graphics/FontData.h: Add a new static method to turn on the
4177 hack on Windows only.
4178 * platform/graphics/win/FontDataWin.cpp:
4179 (WebCore::FontData::setShouldApplyMacAscentHack): Added.
4180 (WebCore::FontData::platformInit): Only perform the hack if
4181 shouldApplyMacAscentHack is true.
4183 2007-12-06 Geoffrey Garen <ggaren@apple.co