1 2007-12-18 John Sullivan <sullivan@apple.com>
5 - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
7 * storage/DatabaseTracker.cpp:
8 (WebCore::DatabaseTracker::canEstablishDatabase):
9 pass "name" instead of "displayName" if there's no displayName
11 2007-12-17 Dan Bernstein <mitz@apple.com>
13 Reviewed by Maciej Stachowiak.
15 - restore ButtonFace and ThreeDFace to their previous values for non-Mac
16 platforms. The Mac port also uses the same values for now instead
17 of NSColor-based ones.
19 * rendering/RenderTheme.cpp:
20 (WebCore::RenderTheme::systemColor):
22 2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com>
24 Reviewed by Maciej Stachowiak.
26 Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
27 Add required Frame::createScriptInstanceForWidget to FrameGtk
30 * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
32 2007-12-17 Alice Liu <alice.liu@apple.com>
36 Fixed <rdar://5566435> window with no scrollbars can be scrolled
38 * platform/win/ScrollViewWin.cpp:
39 (WebCore::ScrollView::maximumScroll):
40 corrected maximumScroll() to account for scrolling not allowed.
41 (WebCore::ScrollView::wheelEvent):
43 2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
45 Reviewed by Alp Toker.
47 http://bugs.webkit.org/show_bug.cgi?id=16042
48 [GTK] Eliminate webkit_init()
50 Move webkit initialization to WebView class init.
54 2007-12-17 Jon Honeycutt <jhoneycutt@apple.com>
58 <rdar://problem/5651291> REGRESSION: Flash content doesn't display
61 We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
63 * plugins/win/PluginViewWin.cpp:
64 (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
66 (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
67 (WebCore::PluginViewWin::handleKeyboardEvent): same
68 (WebCore::PluginViewWin::handleMouseEvent): same
69 * plugins/win/PluginViewWin.h:
71 2007-12-17 Alexey Proskuryakov <ap@webkit.org>
75 Live to the promise of never making AppKit special character codes visible via DOM.
77 Test: fast/events/arrow-keys-on-body.html
79 * page/EventHandler.cpp:
80 (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
81 to let quirks-aware code strip special charactrers.
82 * platform/mac/KeyEventMac.mm:
83 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
84 mode, remove the text if it's a special character.
86 2007-12-17 Mark Rowe <mrowe@apple.com>
88 Reviewed by Darin Adler.
90 Fix incorrect array size and incorrect array index in convertNSColorToColor.
92 * rendering/RenderThemeMac.mm:
93 (WebCore::convertNSColorToColor):
95 2007-12-17 Darin Adler <darin@apple.com>
97 Reviewed by Mark Rowe.
99 - fix http://bugs.webkit.org/show_bug.cgi?id=16468
100 REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
102 * storage/DatabaseThread.cpp:
103 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
104 because there's no guarantee it won't lose its last reference otherwise.
106 2007-12-17 Dan Bernstein <mitz@apple.com>
108 Reviewed by Maciej Stachowiak.
110 - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
111 and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
113 * platform/graphics/win/FontCacheWin.cpp:
114 (WebCore::FontCache::getFontDataForCharacters): To ensure that font
115 linking gives consistent results for characters that are exclusive to
116 the simplified Chinese code page and characters that belong to that
117 code page and other code pages, always ask to map to simplified Chinese
120 2007-12-17 Christian Dywan <christian@twotoasts.de>
122 Reviewed by Alp Toker.
124 http://bugs.webkit.org/show_bug.cgi?id=16378
125 Implement Icon for Gtk
127 Icon provides a GdkPixbuf containing a themed icon.
128 The icon theme is probed for an icon name according to the
129 Icon Naming Specification or conventional Gnome icon names respectively.
131 See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
133 * platform/graphics/Icon.h:
134 * platform/graphics/gtk/IconGtk.cpp:
135 (WebCore::Icon::~Icon):
136 (WebCore::lookupIconName):
137 (WebCore::Icon::newIconForFile):
138 (WebCore::Icon::paint):
140 2007-12-16 Sam Weinig <sam@webkit.org>
144 Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
145 Move the JS Location object to its own file
147 - Move Location into its own file and rename it JSLocation.
149 * DerivedSources.make:
151 * WebCore.vcproj/WebCore.vcproj:
152 * WebCore.xcodeproj/project.pbxproj:
153 * WebCoreSources.bkl:
154 * bindings/js/JSDocumentCustom.cpp:
155 * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
157 (WebCore::JSLocation::JSLocation):
158 (WebCore::JSLocation::getValueProperty):
159 (WebCore::JSLocation::getOwnPropertySlot):
160 (WebCore::JSLocation::put):
161 (WebCore::JSLocationProtoFuncReplace::callAsFunction):
162 (WebCore::JSLocationProtoFuncReload::callAsFunction):
163 (WebCore::JSLocationProtoFuncAssign::callAsFunction):
164 (WebCore::JSLocationProtoFuncToString::callAsFunction):
165 * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
166 (WebCore::JSLocation::):
167 (WebCore::JSLocation::frame):
168 (WebCore::JSLocation::classInfo):
169 * bindings/js/kjs_window.cpp:
170 (KJS::Window::location):
171 * bindings/js/kjs_window.h:
172 * history/CachedPage.cpp:
174 2007-12-16 Dan Bernstein <mitz@apple.com>
176 Reviewed by Sam Weinig.
178 - make 'cursor: copy' and 'cursor: none' work.
180 Already covered by manual-tests/cursor.html
182 * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
183 needed for the 33rd and 34th cursor values.
185 2007-12-16 Mark Rowe <mrowe@apple.com>
187 Reviewed by Maciej Stachowiak.
189 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
192 * WebCore.xcodeproj/project.pbxproj:
193 * loader/NetscapePlugInStreamLoader.h:
194 * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
195 * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
197 2007-12-16 Sam Weinig <sam@webkit.org>
201 Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
204 - Move ScheduledAction into its own file and put it in the WebCore namespace.
207 * WebCore.vcproj/WebCore.vcproj:
208 * WebCore.xcodeproj/project.pbxproj:
209 * WebCoreSources.bkl:
210 * bindings/js/PausedTimeouts.cpp:
211 * bindings/js/PausedTimeouts.h:
212 * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
213 (WebCore::ScheduledAction::ScheduledAction):
214 (WebCore::ScheduledAction::execute):
215 * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
216 (WebCore::ScheduledAction::ScheduledAction):
217 * bindings/js/kjs_window.cpp:
218 (KJS::DOMWindowTimer::DOMWindowTimer):
219 (KJS::DOMWindowTimer::action):
220 (KJS::DOMWindowTimer::takeAction):
221 (KJS::Window::installTimeout):
222 (KJS::Window::timerFired):
223 * bindings/js/kjs_window.h:
225 2007-12-16 Alp Toker <alp@atoker.com>
229 http://bugs.webkit.org/show_bug.cgi?id=16356
230 [GTK] Integrate GStreamer video with the graphics backend
232 Integrate the GStreamer media backend with the Cairo graphics backend.
233 There are still some issues: Data is copied more often than necessary,
234 and repaint() is not called, causing transformed video not to update
238 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
239 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
240 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
241 (WebCore::MediaPlayerPrivate::currentTime):
242 (WebCore::MediaPlayerPrivate::setEndTime):
243 (WebCore::MediaPlayerPrivate::seeking):
244 (WebCore::MediaPlayerPrivate::naturalSize):
245 (WebCore::MediaPlayerPrivate::setMuted):
246 (WebCore::MediaPlayerPrivate::setRect):
247 (WebCore::MediaPlayerPrivate::setVisible):
248 (WebCore::MediaPlayerPrivate::repaint):
249 (WebCore::MediaPlayerPrivate::paint):
250 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
251 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
252 * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
253 (webkit_video_sink_base_init):
254 (webkit_video_sink_init):
255 (webkit_video_sink_idle_func):
256 (webkit_video_sink_render):
257 (webkit_video_sink_set_caps):
258 (webkit_video_sink_dispose):
259 (webkit_video_sink_finalize):
260 (webkit_video_sink_set_property):
261 (webkit_video_sink_get_property):
262 (webkit_video_sink_stop):
263 (webkit_video_sink_class_init):
264 (webkit_video_sink_new):
265 (webkit_video_sink_set_surface):
267 * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
269 2007-12-16 Mark Rowe <mrowe@apple.com>
273 * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
274 Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
275 new shared implementation.
277 2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com>
279 Reviewed by Maciej Stachowiak.
281 http://bugs.webkit.org/show_bug.cgi?id=16389
282 Bug 16389: Common Implementation of NetscapePlugInStreamLoader
284 * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
285 * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
286 * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
288 2007-12-16 Grace Kloba <klobag@gmail.com>
290 Reviewed by Darin Adler.
292 Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
293 Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
296 (WebCore::Document::Document):
297 * loader/FrameLoader.cpp:
298 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
299 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
301 2007-12-16 Darin Adler <darin@apple.com>
305 - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
307 Test: storage/execute-sql-args.html
309 * bindings/js/JSSQLTransactionCustom.cpp:
310 (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
311 exception happens, we won't try to do any more argument processing. Changed processing
312 of the second argument so that we allow an undefined value or null, and simply omit the
313 array. Changed processing of the second argument so that we don't require an actual
314 JavaScript array. Instead, as with the JavaScript array operations themselves, we use
315 the length property and corresponding numeric properties of the object, allowing other
316 objects to act as arrays. Changed processing of the third and fourth arguments to
317 allow the undefined value as well as null; we check the value of the argument rather
318 than looking at the size of the passed-in arguments list.
320 2007-12-16 Sam Weinig <sam@webkit.org>
324 More of http://bugs.webkit.org/show_bug.cgi?id=16385
327 - Move PausedTimeouts into its own file and put it in the WebCore namespace.
330 * WebCore.vcproj/WebCore.vcproj:
331 * WebCore.xcodeproj/project.pbxproj:
332 * WebCoreSources.bkl:
333 * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
334 * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
335 * bindings/js/kjs_window.cpp:
336 (KJS::Window::pauseTimeouts):
337 * bindings/js/kjs_window.h:
338 * history/CachedPage.cpp:
339 * history/CachedPage.h:
342 2007-12-16 Beth Dakin <bdakin@apple.com>
346 Make relative-size SVGs work in border-image.
348 * rendering/RenderBox.cpp:
349 (WebCore::RenderBox::calculateBackgroundSize):
350 * rendering/RenderObject.cpp:
351 (WebCore::RenderObject::paintBorderImage):
353 2007-12-16 Darin Adler <darin@apple.com>
355 - fix Tiger build (my fault it was broken)
357 * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
359 2007-12-16 Andrew Wellington <proton@wiretapped.net>
363 http://bugs.webkit.org/show_bug.cgi?id=6129
364 Incomplete implementation of CSS 2.1 system colors
366 Test: fast/css/css2-system-color.html
368 Based on original patch by Rob Buis.
370 System colors are retrieved from NSColor as appropriate. If the color is a pattern color
371 (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
372 color and sample that to get a solid color.
374 * css/CSSStyleSelector.cpp:
376 (WebCore::colorForCSSValue):
377 * rendering/RenderTheme.cpp:
378 (WebCore::RenderTheme::systemColor):
379 * rendering/RenderTheme.h:
380 * rendering/RenderThemeMac.h:
381 * rendering/RenderThemeMac.mm:
382 (WebCore::getSystemColor):
383 (WebCore::RenderThemeMac::platformColorsDidChange):
384 (WebCore::RenderThemeMac::systemColor):
386 2007-12-16 Dan Bernstein <mitz@apple.com>
388 Reviewed by Darin Adler.
390 - fix http://bugs.webkit.org/show_bug.cgi?id=16426
391 Divs with overflow:auto: scrollbars not correctly updated when contents change
393 Test: fast/overflow/scrollbar-position-update.html
395 * platform/mac/PlatformScrollBarMac.mm:
396 (WebCore::PlatformScrollbar::updateThumbProportion): Update the
397 NSScroller's value for the new proportions.
398 * rendering/RenderLayer.cpp:
399 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
400 repaint(). Scrollbars repaint themselves as needed.
402 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
406 http://bugs.webkit.org/show_bug.cgi?id=14140
407 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
409 * dom/KeyboardEvent.h:
410 (WebCore::KeypressCommand::KeypressCommand):
411 (WebCore::KeyboardEvent::keypressCommands):
412 Change stored command class to preserve complete information about commands.
414 * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
415 command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
418 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
419 a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
421 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
425 http://bugs.webkit.org/show_bug.cgi?id=16462
426 REGRESSION: access keys broken on Windows
428 * page/EventHandler.cpp:
429 (WebCore::EventHandler::handleAccessKey):
430 (WebCore::EventHandler::keyEvent):
431 * page/EventHandler.h:
432 Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
434 2007-12-16 Xan Lopez <xan@gnome.org>
436 Reviewed by Alexey Proskuryakov.
438 http://bugs.webkit.org/show_bug.cgi?id=16454
439 [GTK] Text input doesn't work consistently on PPC
441 * platform/gtk/KeyEventGtk.cpp:
442 (WebCore::singleCharacterString):
444 UChar is 2 bytes (UTF-16), so transform accordingly from
445 gunichar (UCS-4). Fixes keyboard input on big endian systems.
447 2007-12-15 Darin Adler <darin@apple.com>
449 Reviewed by Mark Rowe.
451 - better build fix for the problem affecting GTK and some other platforms
454 * WebCore.xcodeproj/project.pbxproj:
455 * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
456 * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
457 which won't work, declare the tables that are in the .lut.h file in the header.
459 2007-12-12 Kevin Watters <kevin@dotsyntax.com>
461 Reviewed by Darin Adler.
463 Fixed the Wx port's FontPlatformData for use in HashTable.
464 - FontPlatformData(Deleted) made unequal to FontPlatformData()
466 * platform/graphics/wx/FontPlatformData
468 2007-12-15 Dan Bernstein <mitz@apple.com>
470 Reviewed by Darin Adler.
472 - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
474 * platform/graphics/win/FontCacheWin.cpp:
475 (WebCore::metaFileEnumProc): Added. Called during metafile record
476 enumeration and extracts the font from the create font record.
477 (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
478 let Uniscribe draw the characters and see what font it chooses.
480 2007-12-15 Darin Adler <darin@apple.com>
482 * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
484 2007-12-15 Darin Adler <darin@apple.com>
486 Another try at a GTK build fix.
488 * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
490 2007-12-15 Sam Weinig <sam@webkit.org>
492 Force windows to regenerate COM DOM bindings.
494 * WebCore.vcproj/build-generated-files.sh: Add license.
495 * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
497 2007-12-15 Sam Weinig <sam@webkit.org>
499 Fix Windows and wx builds.
501 * WebCore.vcproj/WebCore.vcproj:
502 * WebCoreSources.bkl:
504 2007-12-15 Mark Rowe <mrowe@apple.com>
506 Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
510 2007-12-15 Sam Weinig <sam@webkit.org>
514 * WebCoreSources.bkl:
516 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
518 Not reviewed. Build fix for Qt/Gtk.
520 * WebCore.pro: Include JSEventTargetBase.lut.h in generation
522 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
526 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
528 Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
529 in the base class. Applied the same refactorization to EventTargetNode.
531 This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
532 to share as much code as possible with the EventTargetNode classes.
534 * DerivedSources.make:
535 * WebCore.xcodeproj/project.pbxproj:
536 * bindings/js/JSEventTargetBase.cpp: Added.
537 (WebCore::retrieveEventTargetAndCorrespondingNode):
538 (WebCore::eventNameForPropertyToken):
539 * bindings/js/JSEventTargetBase.h: Added.
540 (WebCore::JSEventTargetProperties::):
541 (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
542 (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
545 (WebCore::JSEventTargetBase::JSEventTargetBase):
546 (WebCore::JSEventTargetBase::getValueProperty):
547 (WebCore::JSEventTargetBase::putValueProperty):
548 (WebCore::JSEventTargetBase::getOwnPropertySlot):
549 (WebCore::JSEventTargetBase::put):
550 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
551 (WebCore::JSEventTargetPrototype::self):
552 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
553 (WebCore::JSEventTargetPrototype::classInfo):
554 * bindings/js/JSEventTargetNode.cpp:
555 (WebCore::JSEventTargetNode::getOwnPropertySlot):
556 (WebCore::JSEventTargetNode::getValueProperty):
557 (WebCore::JSEventTargetNode::put):
558 (WebCore::JSEventTargetNode::putValueProperty):
559 (WebCore::JSEventTargetNode::setListener):
560 (WebCore::toEventTargetNode):
561 * bindings/js/JSEventTargetNode.h:
562 (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
563 (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
564 * dom/EventTarget.cpp:
565 (WebCore::EventTarget::addEventListener):
566 (WebCore::EventTarget::removeEventListener):
567 (WebCore::EventTarget::dispatchGenericEvent):
568 (WebCore::EventTarget::removeAllEventListeners):
569 (WebCore::EventTarget::insertedIntoDocument):
570 (WebCore::EventTarget::removedFromDocument):
571 (WebCore::EventTarget::handleLocalEvents):
572 (WebCore::EventTarget::applySVGEventTargetRules):
573 (WebCore::forbidEventDispatch):
574 (WebCore::allowEventDispatch):
575 (WebCore::eventDispatchForbidden):
577 (WebCore::EventTarget::preDispatchEventHandler):
578 (WebCore::EventTarget::postDispatchEventHandler):
579 (WebCore::forbidEventDispatch):
580 (WebCore::allowEventDispatch):
581 * dom/EventTargetNode.cpp:
582 (WebCore::EventTargetNode::~EventTargetNode):
583 (WebCore::EventTargetNode::insertedIntoDocument):
584 (WebCore::EventTargetNode::removedFromDocument):
585 (WebCore::EventTargetNode::addEventListener):
586 (WebCore::EventTargetNode::removeEventListener):
587 (WebCore::EventTargetNode::removeAllEventListeners):
588 (WebCore::EventTargetNode::handleLocalEvents):
589 (WebCore::EventTargetNode::dispatchEvent):
590 (WebCore::EventTargetNode::dispatchWindowEvent):
591 * dom/EventTargetNode.h:
592 (WebCore::EventTargetNode::localEventListeners):
593 * svg/SVGElement.cpp:
594 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
595 (WebCore::SVGElement::dispatchEvent):
597 2007-12-15 Eric Seidel <eric@webkit.org>
601 Width of SVG elements not applied to container elements
602 http://bugs.webkit.org/show_bug.cgi?id=16305
603 Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
604 This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
606 svg/css/css-box-min-width.html
608 * rendering/RenderSVGRoot.cpp:
609 (WebCore::RenderSVGRoot::calcPrefWidths): Added.
610 * rendering/RenderSVGRoot.h:
611 * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
613 2007-12-15 David Kilzer <ddkilzer@apple.com>
615 Fix comment after isSafeScript() was renamed to allowsAccessFrom().
617 * bindings/js/kjs_window.cpp:
620 2007-12-15 Alp Toker <alp@atoker.com>
622 Reviewed by Mark Rowe.
624 http://bugs.webkit.org/show_bug.cgi?id=16449
625 cairo_arc() functions hang or crash when passed inf as radius or start/end angle
627 Add checks. This matches a similar workaround for a CG bug in the CG
628 graphics backend: <rdar://problem/5189233>
631 fast/canvas/arc-crash.html
632 fast/canvas/canvas-with-incorrect-args.html
634 * platform/graphics/cairo/PathCairo.cpp:
635 (WebCore::Path::addArc):
637 2007-12-15 Alexey Proskuryakov <ap@webkit.org>
641 http://bugs.webkit.org/show_bug.cgi?id=16078
642 Google Maps zooming via the scroll wheel (almost) always zooms IN only.
644 * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
645 Ensure that delta is never rounded down to zero - we are getting values less than 1 from
646 many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
648 2007-12-14 Dan Bernstein <mitz@apple.com>
652 * WebCore.vcproj/WebCore.vcproj:
654 2007-12-14 Alp Toker <alp@atoker.com>
656 GTK+/Qt build fix. Track added files in r28722.
660 2007-12-14 Sam Weinig <sam@webkit.org>
664 Speed up getElementByClassName.
665 - This makes getElementByClassName 33% faster on the stress test
666 linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
668 * platform/text/StringImpl.cpp:
669 (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
671 2007-12-14 Alp Toker <alp@atoker.com>
675 http://bugs.webkit.org/show_bug.cgi?id=16432
676 [GTK] Update license headers
678 Consent has been given by the authors of these files to change license
679 to the LGPL as outlined in the bug report.
681 * platform/gtk/ClipboardGtk.cpp:
682 * platform/gtk/ContextMenuGtk.cpp:
683 * platform/gtk/ContextMenuItemGtk.cpp:
684 * platform/gtk/CookieJarGtk.cpp:
685 * platform/gtk/CursorGtk.cpp:
686 * platform/gtk/DragDataGtk.cpp:
687 * platform/gtk/DragImageGtk.cpp:
688 * platform/gtk/PasteboardGtk.cpp:
689 * platform/gtk/PlatformScreenGtk.cpp:
690 * platform/gtk/PlatformScrollBarGtk.cpp:
691 * platform/gtk/SearchPopupMenuGtk.cpp:
692 * platform/gtk/WidgetGtk.cpp:
694 2007-12-14 Darin Adler <darin@apple.com>
698 - fix http://bugs.webkit.org/show_bug.cgi?id=16442
699 navigation policy delegate gets called twice for each load
701 * loader/MainResourceLoader.cpp:
702 (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
703 That's handled by FrameLoader.
705 * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
706 and continueAfterNavigationPolicy.
708 2007-12-14 Anders Carlsson <andersca@apple.com>
712 Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
713 return nil in that case.
715 * loader/FrameLoader.cpp:
716 (WebCore::FrameLoader::didExplicitOpen):
718 2007-12-14 David Smith <catfish.man@gmail.com>
722 - fix http://bugs.webkit.org/show_bug.cgi?id=14955
723 Implement getElementsByClassName.
725 This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
726 and takes advantage of admitting that it's class-specific to encapsulate class attribute
727 parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
728 list to store the class names.
730 Tests: fast/dom/getElementsByClassName/001.html
731 fast/dom/getElementsByClassName/002.html
732 fast/dom/getElementsByClassName/003.html
733 fast/dom/getElementsByClassName/004.html
734 fast/dom/getElementsByClassName/005.html
735 fast/dom/getElementsByClassName/006.html
736 fast/dom/getElementsByClassName/007.html
737 fast/dom/getElementsByClassName/008.html
738 fast/dom/getElementsByClassName/009.html
739 fast/dom/getElementsByClassName/010.xml
740 fast/dom/getElementsByClassName/011.xml
741 fast/dom/getElementsByClassName/012.html
742 fast/dom/getElementsByClassName/013.html
743 fast/dom/getElementsByClassName/014.html
744 fast/dom/getElementsByClassName/array/001.html
745 fast/dom/getElementsByClassName/array/002.html
746 fast/dom/getElementsByClassName/array/003.html
747 fast/dom/getElementsByClassName/array/004.html
748 fast/dom/getElementsByClassName/dumpNodeList.html
750 * WebCore.xcodeproj/project.pbxproj:
751 * css/CSSStyleSelector.cpp:
752 (WebCore::CSSStyleSelector::matchRules):
753 (WebCore::CSSStyleSelector::checkOneSelector):
754 * dom/AtomicStringList.h: Removed.
755 * dom/ClassNames.cpp: Added.
756 (WebCore::ClassNames::contains):
757 (WebCore::ClassNames::parseClassAttribute):
758 * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
759 (WebCore::ClassNames::ClassNames):
760 (WebCore::ClassNames::size):
761 (WebCore::ClassNames::clear):
762 (WebCore::ClassNames::operator[]):
763 (WebCore::isClassWhitespace):
764 * dom/ClassNodeList.cpp: Added.
765 (WebCore::ClassNodeList::ClassNodeList):
766 (WebCore::ClassNodeList::length):
767 (WebCore::ClassNodeList::item):
768 (WebCore::ClassNodeList::nodeMatches):
769 * dom/ClassNodeList.h: Added.
771 (WebCore::Document::getElementsByName):
772 (WebCore::Document::getElementsByClassName):
776 (WebCore::Element::getClassNames):
777 (WebCore::Element::getElementsByClassName):
780 * dom/NameNodeList.cpp:
781 (WebCore::NameNodeList::NameNodeList):
782 (WebCore::NameNodeList::item):
783 (WebCore::NameNodeList::nodeMatches):
784 * dom/NameNodeList.h:
785 * dom/NamedMappedAttrMap.cpp:
786 (WebCore::NamedMappedAttrMap::clearAttributes):
787 (WebCore::NamedMappedAttrMap::parseClassAttribute):
788 * dom/NamedMappedAttrMap.h:
789 (WebCore::NamedMappedAttrMap::getClassNames):
790 * dom/StyledElement.cpp:
791 (WebCore::StyledElement::getClassNames):
792 * dom/StyledElement.h:
794 2007-12-14 Darin Adler <darin@apple.com>
798 - fix http://bugs.webkit.org/show_bug.cgi?id=16351
799 FontFallbackList.h doesn't include wtf/PassRefPtr.h
801 * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
802 * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
804 2007-12-14 Darin Adler <darin@apple.com>
808 - http://bugs.webkit.org/show_bug.cgi?id=16420
809 change regression tests to use document.execCommand instead of textInputController.doCommand
811 Add a few more operations to document.execCommand.
813 Finished up the transition to the new Editor::Command, including removing
814 the Editor::execCommand function.
816 * WebCore.base.exp: Added Editor::Command::isSupported.
817 * editing/Editor.h: Removed execCommand.
818 * editing/EditorCommand.cpp:
819 (WebCore::expandSelectionToGranularity): Added.
820 (WebCore::verticalScrollDistance): Added; replaces canScroll.
821 (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
822 (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
823 (WebCore::executeDeleteForward): Ditto.
824 (WebCore::executeDeleteToBeginningOfLine): Ditto.
825 (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
826 (WebCore::executeDeleteToEndOfLine): Ditto.
827 (WebCore::executeDeleteToEndOfParagraph): Ditto.
828 (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
829 Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
830 removing the explicit scrolling, and letting it be done automatically by code that makes
831 the caret visible. In some cases the old code would scroll twice which was harmless but
833 (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
834 (WebCore::executeMovePageUp): See MovePageDown above.
835 (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
836 (WebCore::executeSelectLine): Ditto.
837 (WebCore::executeSelectParagraph): Ditto.
838 (WebCore::executeSelectSentence): Ditto.
839 (WebCore::executeSelectWord): Ditto.
840 (WebCore::executeSwapWithMark): Some small tweaks.
842 * page/ContextMenuController.cpp:
843 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
844 instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
845 bit more, but I didn't do that this time.
847 - Removed some obsolete unused code.
849 * page/mac/EventHandlerMac.mm:
850 (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
851 NSTextView. This was left over from when we used NSTextField and NSTextView for form
852 elements and is no longer used at all.
854 * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
855 of the bridge or another. We really need to find a time to tear down the rest of the
856 bridge, but that's not this patch.
858 * page/mac/WebCoreFrameBridge.mm:
859 (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
860 instead of using a method.
861 (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
862 Took out obsolete comment about matching enums (we use a single enum now and have for some
864 (-[WebCoreFrameBridge selectionGranularity]): Ditto.
866 2007-12-14 Justin Garcia <justin.garcia@apple.com>
868 Reviewed by Darin Adler.
870 <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
872 * editing/CompositeEditCommand.cpp:
873 (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
874 * editing/CompositeEditCommand.h:
875 * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
876 * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
877 * editing/InsertListCommand.cpp:
878 (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
879 it and listNode, if they exists, so that moving listChildNode doesn't put it out
880 of order. Added a test case to cover each change.
881 * editing/SplitElementCommand.cpp:
882 (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
883 tries to split a container at a bogus child, and an early return to avoid a
886 2007-12-14 Anders Carlsson <andersca@apple.com>
888 Reviewed by Darin and Geoff.
890 <rdar://problem/5619295>
891 REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
893 _NPN_CreateScriptObject doesn't take an origin root object anymore.
895 * html/HTMLPlugInElement.cpp:
896 (WebCore::HTMLPlugInElement::createNPObject):
898 (WebCore::Frame::windowScriptNPObject):
900 2007-12-14 Dan Bernstein <mitz@apple.com>
902 Reviewed by Darin Adler.
904 - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
905 which is the root cause of:
906 http://bugs.webkit.org/show_bug.cgi?id=12943
907 box-shadow: small values don't affect shadow position
908 http://bugs.webkit.org/show_bug.cgi?id=14736
909 Safari implementation of text-shadow off by 1px
911 * platform/graphics/cg/GraphicsContextCG.cpp:
912 (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
913 of the offsets passed to CGContextSetShadow* to ensure that the end
914 result after truncation is the desired integer offsets.
916 2007-12-13 Alp Toker <alp@atoker.com>
918 curl backend build fix for breakage introduced in r28709.
920 * platform/network/ResourceHandleInternal.h:
921 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
923 2007-12-13 Justin Garcia <justin.garcia@apple.com>
925 Reviewed by Oliver Hunt.
927 <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
929 * editing/InsertLineBreakCommand.cpp:
930 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
931 handle editing positions, like [input, 0];
932 * editing/InsertParagraphSeparatorCommand.cpp:
933 (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
934 off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
935 the input element itself.
936 Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
939 2007-12-13 Alp Toker <alp@atoker.com>
941 Reviewed by Oliver Hunt.
943 http://bugs.webkit.org/show_bug.cgi?id=16365
944 [cURL] Acid2 test segmentation fault
946 This patch makes the Acid2 test pass.
948 Defer the cleanup of cancelled jobs and halt further transfer as early
951 Bug found by and initial patch provided by Luca Bruno.
953 * platform/network/curl/ResourceHandleManager.cpp:
954 (WebCore::writeCallback):
955 (WebCore::headerCallback):
956 (WebCore::ResourceHandleManager::downloadTimerCallback):
957 (WebCore::ResourceHandleManager::cancel):
959 2007-12-13 Sam Weinig <sam@webkit.org>
961 Reviewed by Mark Rowe.
963 Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
965 * page/InspectorController.cpp:
966 (WebCore::moveByUnrestricted):
967 (WebCore::InspectorController::windowScriptObjectAvailable):
968 (WebCore::InspectorController::moveWindowBy):
969 * page/InspectorController.h:
970 * page/inspector/inspector.js:
972 2007-12-13 Dan Bernstein <mitz@apple.com>
974 Reviewed by Dave Hyatt.
976 - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
978 Test: fast/css/transition-timing-function.html
980 * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
981 not reject non-primitive non-list values, and instead made sure that the
982 mapping functions rejected them if necessary. This allows non-primitive
983 timing functions to be mapped.
984 (WebCore::CSSStyleSelector::mapBackgroundAttachment):
985 (WebCore::CSSStyleSelector::mapBackgroundClip):
986 (WebCore::CSSStyleSelector::mapBackgroundComposite):
987 (WebCore::CSSStyleSelector::mapBackgroundOrigin):
988 (WebCore::CSSStyleSelector::mapBackgroundImage):
989 (WebCore::CSSStyleSelector::mapBackgroundRepeat):
990 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
991 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
992 (WebCore::CSSStyleSelector::mapTransitionDuration):
993 (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
994 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
995 (WebCore::CSSStyleSelector::mapTransitionProperty):
996 * css/CSSTimingFunctionValue.cpp:
997 (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
999 * css/CSSTimingFunctionValue.h:
1000 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
1001 Added. Returns true.
1003 (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
1006 2007-12-13 Steve Falkenburg <sfalken@apple.com>
1008 Move source file generation into its own vcproj to fix build dependencies.
1012 * WebCore.vcproj/WebCore.make:
1013 * WebCore.vcproj/WebCore.sln:
1014 * WebCore.vcproj/WebCore.submit.sln:
1015 * WebCore.vcproj/WebCore.vcproj:
1016 * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
1018 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1020 Reviewed by Oliver Hunt.
1022 <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
1024 Some of the operations performed in removeHTMLFontStyle were non-undoable.
1026 I'm having trouble writing a layout test for this because I can't get DRT to
1027 perform editing operations in separate Undo steps without adding unacceptably long
1028 wait times between operations. I filed:
1030 <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
1032 * editing/ApplyStyleCommand.cpp:
1033 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1035 2007-12-13 Sam Weinig <sam@webkit.org>
1039 Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
1040 Toolbar dragged inspector cannot be moved beyond screen edges
1042 * page/InspectorController.cpp:
1043 (WebCore::moveByUnrestricted):
1044 (WebCore::InspectorController::windowScriptObjectAvailable):
1045 (WebCore::InspectorController::moveByUnrestricted):
1046 * page/InspectorController.h:
1047 * page/inspector/inspector.js:
1049 2007-12-13 Adam Roben <aroben@apple.com>
1051 Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1053 Windows Media Player has a modal message loop that will deliver
1054 messages to us at inappropriate times and we will crash if we handle
1055 them when they are delivered. In PluginViewWin, we add a quirk for
1056 Media Player to set a flag whenever we give the plugin a chance to
1057 execute code, and in SharedTimerWin we check if the plugin is
1058 executing code and repost messages if so.
1062 * platform/win/SharedTimerWin.cpp:
1063 (WebCore::TimerWindowWndProc): Repost messages if we're calling a
1065 * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
1066 setCallingPlugin(true/false).
1067 (WebCore::PluginViewWin::updateWindow):
1068 (WebCore::PluginViewWin::dispatchNPEvent):
1069 (WebCore::PluginViewWin::setNPWindowRect):
1070 (WebCore::PluginViewWin::start):
1071 (WebCore::PluginViewWin::stop):
1072 (WebCore::PluginViewWin::performRequest):
1073 (WebCore::PluginViewWin::bindingInstance):
1074 (WebCore::PluginViewWin::determineQuirks):
1075 (WebCore::PluginViewWin::setCallingPlugin): Added.
1076 (WebCore::PluginViewWin::isCallingPlugin): Added.
1077 * plugins/win/PluginViewWin.h: Added a new quirk.
1079 2007-12-13 Alp Toker <alp@atoker.com>
1081 Add a missing DEPENDPATH. Fixes non-clean builds following networking
1086 2007-12-13 Dan Bernstein <mitz@apple.com>
1088 Reviewed by Anders Carlsson.
1090 - fix regression in fast/text/international/bidi-override on Tiger
1092 * platform/graphics/GlyphPageTreeNode.cpp:
1093 (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
1094 too. I forgot to add them when I added them to treatAsZeroWidthSpace in
1097 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1099 Reviewed by Darin Adler.
1101 <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
1103 The code that checks the selected Range to see if it's inside an anchor
1104 checks ancestors of the Range's commonAncestor() but not the
1105 commonAncestor() itself, and so we'd fail to add markup for the enclosing
1106 anchor to the pasteboard.
1108 Some enclosing element getters check the node passed to the getter and some
1109 don't. There were a few places where we incorrectly assumed that enclosing
1110 element getters check the node passed to the getter, but this is the only
1111 case that I'm able to write a test case for at the moment.
1114 Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
1115 like the newer enclosing element getters. This is important because we must
1116 soon add code to the getters so that they understand that some editing positions
1117 inside nodes don't actually refer to positions inside those nodes but positions
1118 before and after them. Like [table, 0].
1119 Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
1120 n where [n, o] is the position passed to the getter, instead of starting the the parent
1121 of n. This makes all but a few of the enclosing element getters behave consistently.
1122 Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
1123 nodes if the input position was editable. This fixes a bug that that the above change
1125 Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
1126 this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
1127 unless doing so would affect readability, like it would in the case of enclosingTableCell.
1128 Ditto for enclosingBlock.
1130 * editing/AppendNodeCommand.cpp:
1131 (WebCore::AppendNodeCommand::doApply):
1132 * editing/DeleteButtonController.cpp:
1133 (WebCore::enclosingDeletableElement):
1134 * editing/DeleteSelectionCommand.cpp:
1135 (WebCore::DeleteSelectionCommand::initializePositionData):
1136 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
1137 * editing/Editor.cpp:
1138 (WebCore::Editor::selectionUnorderedListState):
1139 (WebCore::Editor::selectionOrderedListState):
1140 * editing/IndentOutdentCommand.cpp:
1141 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
1142 (WebCore::IndentOutdentCommand::outdentParagraph):
1143 * editing/InsertNodeBeforeCommand.cpp:
1144 (WebCore::InsertNodeBeforeCommand::doApply):
1145 * editing/InsertParagraphSeparatorCommand.cpp:
1146 (WebCore::InsertParagraphSeparatorCommand::doApply):
1147 * editing/ReplaceSelectionCommand.cpp:
1148 (WebCore::ReplaceSelectionCommand::shouldMerge):
1149 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1150 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
1151 * editing/TextIterator.cpp:
1152 * editing/htmlediting.cpp:
1153 (WebCore::enclosingBlock):
1154 (WebCore::enclosingNodeWithTag):
1155 (WebCore::enclosingNodeOfType):
1156 (WebCore::enclosingTableCell):
1157 (WebCore::isTableCell):
1158 * editing/htmlediting.h:
1159 * editing/markup.cpp:
1160 (WebCore::appendStartMarkup):
1161 (WebCore::createMarkup):
1163 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
1167 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
1170 * dom/KeyboardEvent.cpp:
1171 (WebCore::KeyboardEvent::charCode):
1172 * page/EventHandler.cpp:
1173 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1174 (WebCore::EventHandler::keyEvent):
1175 * page/EventHandler.h:
1176 * page/Settings.cpp:
1177 (WebCore::Settings::Settings):
1178 (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
1180 (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
1181 * page/mac/EventHandlerMac.mm:
1182 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1183 * platform/PlatformKeyboardEvent.h:
1184 * platform/mac/KeyEventMac.mm:
1185 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1186 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1188 2007-12-13 Dan Bernstein <mitz@apple.com>
1192 * platform/network/cf/ResourceErrorCF.cpp:
1194 2007-12-13 Antti Koivisto <antti@apple.com>
1196 Reviewed by Tim Hatcher.
1198 Fix <rdar://problem/5605674>
1199 Make <video> display WebKit context menu instead of the QTKit one.
1201 It doesn't really matter where the QTMovieView is.
1204 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1205 (WebCore::MediaPlayerPrivate::createQTMovieView):
1206 (WebCore::MediaPlayerPrivate::setRect):
1208 2007-12-13 Dan Bernstein <mitz@apple.com>
1210 Reviewed by Adam Roben.
1212 - ensure that Unicode bidi control characters are rendered as zero width
1215 Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
1217 * platform/graphics/Font.h:
1218 (WebCore::Font::treatAsZeroWidthSpace):
1219 * platform/graphics/GlyphPageTreeNode.cpp:
1220 (WebCore::GlyphPageTreeNode::initializePage):
1221 * platform/text/CharacterNames.h:
1223 2007-12-13 Brady Eidson <beidson@apple.com>
1227 * platform/wx/TemporaryLinkStubs.cpp:
1229 2007-12-12 Brady Eidson <beidson@apple.com>
1233 * platform/gtk/TemporaryLinkStubs.cpp:
1235 2007-12-12 Brady Eidson <beidson@apple.com>
1240 * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
1242 2007-12-12 Brady Eidson <beidson@apple.com>
1246 * platform/win/TemporaryLinkStubs.cpp:
1248 2007-12-12 Brady Eidson <beidson@apple.com>
1250 Reviewed by Sam Weinig
1252 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1254 All back/forward list and page cache related items used to be in WebKit.
1255 When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
1256 Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
1257 in CachedPage and having the Mac-only CachedPageMac.mm
1259 To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
1260 concept of "CachedPagePlatformData" which can contain anything the platform API wants.
1262 I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
1265 * WebCore.xcodeproj/project.pbxproj:
1267 * history/CachedPage.cpp:
1268 (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
1269 (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
1270 (WebCore::CachedPage::setCachedPagePlatformData):
1271 (WebCore::CachedPage::cachedPagePlatformData):
1272 * history/CachedPage.h:
1274 * history/CachedPagePlatformData.h: Added.
1275 (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
1276 (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
1278 * history/PageCache.cpp:
1279 (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
1281 * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
1283 * loader/FrameLoader.cpp:
1284 (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
1285 (setting the cached DocumentLoader to the Frame).
1286 (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
1288 * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
1289 become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
1291 * svg/graphics/SVGImageEmptyClients.h:
1292 (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
1293 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
1294 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
1296 2007-12-12 Dan Bernstein <mitz@apple.com>
1298 Reviewed by Oliver Hunt.
1300 - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
1302 * css/CSSStyleSelector.cpp:
1303 (WebCore::CSSStyleSelector::applyProperty): When the font property is
1304 set to 'initial', set the font size to its initial value, 'medium',
1305 and the font family to the standard family.
1307 2007-12-12 Justin Garcia <justin.garcia@apple.com>
1309 Reviewed by Darin Adler.
1311 <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
1313 * editing/DeleteSelectionCommand.cpp:
1314 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
1315 Don't remove the table row that contained the end of the selection if it is where we are
1316 about to place the ending selection.
1317 Don't remove all empty rows after the row that contained the start of the selection,
1318 they might come after the row that contained the end of the selection.
1320 2007-12-12 Sam Weinig <sam@webkit.org>
1322 Reviewed by Anders Carlsson.
1324 Add button to clear the Web Inspector's console.
1326 * English.lproj/InspectorLocalizedStrings.js:
1327 * page/inspector/ConsolePanel.js:
1328 * page/inspector/inspector.css:
1330 2007-12-12 Anders Carlsson <andersca@apple.com>
1332 Reviewed by Adam and Jon.
1334 <rdar://problem/5349282>
1335 popup blocking is not applied to plugins on Windows.
1337 Implement popup blocking. If the plug-in supports the new
1338 NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
1339 to determine if a plug-in request can open new windows.
1341 If a plug-in does not support the new API, we assume that a plug-in can open new windows
1342 in response to either mouse click or key press events.
1344 * plugins/win/PluginViewWin.cpp:
1345 (WebCore::PluginRequestWin::PluginRequestWin):
1346 (WebCore::PluginRequestWin::shouldAllowPopups):
1347 Add new shouldAllowPopups member.
1349 (WebCore::PluginViewWin::popPopupsStateTimerFired):
1350 Reset the popup state.
1352 (WebCore::isWindowsMessageUserGesture):
1353 New function that given a windows message id returns whether it's a user gesture or not.
1355 (WebCore::PluginViewWin::wndProc):
1356 Allow popups if the window message is a user gesture.
1358 (WebCore::PluginViewWin::dispatchNPEvent):
1359 New method that dispatches an NPEvent, turning on popups if necessary.
1361 (WebCore::PluginViewWin::paint):
1362 (WebCore::PluginViewWin::handleKeyboardEvent):
1363 (WebCore::PluginViewWin::handleMouseEvent):
1364 Call dispatchNPEvent().
1366 (WebCore::PluginViewWin::performRequest):
1367 (WebCore::PluginViewWin::load):
1368 Add calls to shouldAllowPopups().
1370 (WebCore::PluginViewWin::pushPopupsEnabledState):
1371 (WebCore::PluginViewWin::popPopupsEnabledState):
1372 New methods that maintain the popup state stack.
1374 (WebCore::PluginViewWin::arePopupsAllowed):
1375 New method that returns whether popups are allowed.
1377 (WebCore::PluginViewWin::PluginViewWin):
1378 * plugins/win/PluginViewWin.h:
1379 Add new instance variables.
1381 * plugins/win/npapi.cpp:
1382 (NPN_PushPopupsEnabledState):
1383 (NPN_PopPopupsEnabledState):
1386 2007-12-12 Dan Bernstein <mitz@apple.com>
1388 Reviewed by John Sullivan.
1390 - fix a bug in debug builds only where selecting an earlier item in
1391 a popup selects the first item
1393 Test: fast/forms/menulist-selection-reset.html
1395 * html/HTMLSelectElement.cpp:
1396 (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
1397 tells that function whether it should update the selected state of
1399 (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
1400 as the above argument.
1401 * html/HTMLSelectElement.h:
1403 2007-12-12 Adele Peterson <adele@apple.com>
1407 Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
1409 When the specification for cue ranges is more final, we will implement those.
1411 * html/HTMLMediaElement.cpp:
1412 (WebCore::HTMLMediaElement::~HTMLMediaElement):
1413 (WebCore::HTMLMediaElement::load):
1414 * html/HTMLMediaElement.h:
1415 * html/HTMLMediaElement.idl:
1416 * platform/graphics/MediaPlayer.cpp:
1417 * platform/graphics/MediaPlayer.h:
1418 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1419 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1420 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1421 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1422 (WebCore::MediaPlayerPrivate::load):
1423 (WebCore::MediaPlayerPrivate::play):
1424 (WebCore::MediaPlayerPrivate::pause):
1425 (WebCore::MediaPlayerPrivate::setEndTime):
1426 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1427 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1428 (WebCore::MediaPlayerPrivate::timeChanged):
1429 (WebCore::MediaPlayerPrivate::didEnd):
1430 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1431 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1432 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1433 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1434 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1436 2007-12-12 MorganL <morganl.webkit@yahoo.com>
1441 http://bugs.webkit.org/show_bug.cgi?id=16408
1443 When navigating back/forward to a http:// link, we should prefer to
1444 load from cache if possible.
1446 * loader/FrameLoader.cpp:
1448 2007-12-12 Anders Carlsson <andersca@apple.com>
1452 <rdar://problem/5132003>
1453 dumpResourceLoadCallbacks is not implemented in DRT on Windows.
1455 * platform/network/cf/ResourceErrorCF.cpp:
1456 (WebCore::ResourceError::unpackPlatformError):
1457 Handle kCFErrorDomainWinSock.
1459 * platform/network/cf/ResourceHandleCFNet.cpp:
1460 (WebCore::willSendRequest):
1461 Ignore willSendRequest calls where the redirect response is null, like we do in
1464 2007-12-12 Steve Falkenburg <sfalken@apple.com>
1466 <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
1470 * platform/win/SharedTimerWin.cpp:
1471 (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
1473 2007-12-12 Beth Dakin <bdakin@apple.com>
1477 Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
1478 with width and height 100% clip to 300 x 150
1480 Though it was correct in an earlier iteration of my patch, it is
1481 not sufficient in the final, committed version to ask if the
1482 relativeWidthValue() or relativeHeightValue() is greater than 0
1483 just to determine if one has been set, for, they are now
1484 initialized to 300 and 150 respectively! This patch instead adds a
1485 bool to keep track of whether a container size has been set, and
1486 only used the relative value if it has.
1488 * rendering/RenderSVGRoot.cpp:
1489 (WebCore::RenderSVGRoot::calcViewport):
1490 * svg/SVGSVGElement.cpp:
1491 (WebCore::SVGSVGElement::SVGSVGElement):
1492 * svg/SVGSVGElement.h:
1493 (WebCore::SVGSVGElement::setContainerSize):
1494 (WebCore::SVGSVGElement::hasSetContainerSize):
1496 2007-12-12 Brady Eidson <beidson@apple.com>
1498 Reviewed by Steve Falkenburg
1500 <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
1502 * platform/network/ProtectionSpace.cpp:
1503 (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
1505 2007-12-12 Alp Toker <alp@atoker.com>
1509 http://bugs.webkit.org/show_bug.cgi?id=16388
1510 [GTK] Widget::setCursor() gets called frequently
1512 Cache the current cursor to avoid calling gdk_window_set_cursor() when
1513 there's no change in cursor.
1515 * platform/gtk/WidgetGtk.cpp:
1516 (WebCore::Widget::Widget):
1517 (WebCore::Widget::cursor):
1518 (WebCore::Widget::setCursor):
1520 2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
1524 http://bugs.webkit.org/show_bug.cgi?id=16342
1525 Build Warning and Error fixes in WebCore GTK+
1527 Use C-style casts for casting function pointers to gpointer
1528 Use static_cast<int> to cast a float to int to fix a warning
1530 * platform/gtk/PlatformScrollBarGtk.cpp:
1531 (PlatformScrollbar::PlatformScrollbar):
1532 (PlatformScrollbar::~PlatformScrollbar):
1533 (PlatformScrollbar::gtkValueChanged):
1534 * platform/gtk/ThreadingGtk.cpp:
1535 (callFunctionOnMainThread):
1538 2007-12-12 Dan Bernstein <mitz@apple.com>
1540 Reviewed by Darin Adler.
1542 - better fix for a crash when pressing a key that is not associated
1545 * editing/EditorCommand.cpp:
1546 (WebCore::Editor::command): Return the empty command if the command name
1549 2007-12-12 Alexey Proskuryakov <ap@webkit.org>
1553 http://bugs.webkit.org/show_bug.cgi?id=16410
1554 Implement isKeypadEvent() on Windows
1556 Test: platform/win/fast/events/keyLocation-numpad.html
1558 * platform/win/KeyEventWin.cpp:
1559 (WebCore::isKeypadEvent): Added.
1560 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
1562 2007-12-12 Oliver Hunt <oliver@apple.com>
1566 <rdar://problem/5071781> window.mouseout events are not sent
1567 to window when mouse moves out of window
1569 Make PlatformMouseEvent recognise WM_MOUSELEAVE.
1571 * platform/win/PlatformMouseEventWin.cpp:
1572 (WebCore::messageToEventType):
1573 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1575 2007-12-12 Sam Weinig <sam@webkit.org>
1577 Fix Mac release build.
1581 2007-12-12 Sam Weinig <sam@webkit.org>
1583 Build fix for Qt, Gtk, and Wx.
1585 * css/CSSParser.cpp:
1586 (WebCore::CSSParser::parseValue):
1587 * loader/win/FrameLoaderWin.cpp:
1588 (WebCore::FrameLoader::urlSelected):
1589 * platform/network/curl/ResourceHandleManager.cpp:
1590 (WebCore::parseDataUrl):
1591 (WebCore::ResourceHandleManager::startJob):
1592 * platform/network/win/CookieJarWin.cpp:
1593 (WebCore::setCookies):
1595 * platform/network/win/ResourceHandleWin.cpp:
1596 (WebCore::ResourceHandle::start):
1597 * platform/qt/PasteboardQt.cpp:
1598 (WebCore::Pasteboard::writeURL):
1600 2007-12-11 Dan Bernstein <mitz@apple.com>
1602 Reviewed by Maciej Stachowiak.
1604 - allow non-integer font sizes on Windows for small caps
1606 * platform/graphics/win/FontDataWin.cpp:
1607 (WebCore::FontData::smallCapsFontData):
1608 * platform/graphics/win/FontPlatformData.h:
1609 (WebCore::FontPlatformData::size):
1610 (WebCore::FontPlatformData::setSize):
1611 * platform/graphics/win/FontPlatformDataWin.cpp:
1612 (WebCore::FontPlatformData::FontPlatformData):
1614 2007-12-11 Sam Weinig <sam@webkit.org>
1616 Build fix for Qt, Gtk, and Wx.
1618 * platform/gtk/CookieJarGtk.cpp:
1619 (WebCore::setCookies):
1621 * platform/qt/ClipboardQt.cpp:
1622 (WebCore::ClipboardQt::writeURL):
1623 * platform/qt/CookieJarQt.cpp:
1624 (WebCore::setCookies):
1626 * platform/wx/PasteboardWx.cpp:
1627 (WebCore::Pasteboard::writeURL):
1629 2007-12-11 Sam Weinig <sam@webkit.org>
1631 Reviewed by Darin Adler.
1633 Scrub URL out of the tree in preparation for renaming KURL to URL.
1634 - Renames Document::URL() -> Document::url()
1635 - Renames DocumentLoader::URL() -> DocumentLoader::url()
1636 - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
1637 - Remove FrameLoader::URL()
1638 - Various variable renames.
1640 The change from Document::URL() to Document::url() required changes
1641 to the bindings scripts as well, because URL() is the name of a DOM
1642 method. The code generation scripts now have code to special case URL()
1646 * bindings/js/kjs_events.cpp:
1647 (WebCore::JSLazyEventListener::parseCode):
1648 * bindings/js/kjs_navigator.cpp:
1649 (KJS::Navigator::getValueProperty):
1650 * bindings/js/kjs_proxy.cpp:
1651 (WebCore::KJSProxy::initScript):
1652 * bindings/js/kjs_window.cpp:
1654 (KJS::Window::allowsAccessFrom):
1655 (KJS::Location::put):
1656 (KJS::LocationProtoFuncReplace::callAsFunction):
1657 (KJS::LocationProtoFuncReload::callAsFunction):
1658 (KJS::LocationProtoFuncAssign::callAsFunction):
1659 * bindings/scripts/CodeGenerator.pm:
1660 * bindings/scripts/CodeGeneratorCOM.pm:
1661 * bindings/scripts/CodeGeneratorJS.pm:
1662 * bindings/scripts/CodeGeneratorObjC.pm:
1663 * css/CSSImportRule.cpp:
1664 (WebCore::CSSImportRule::insertedIntoParent):
1665 * css/CSSParser.cpp:
1666 (WebCore::CSSParser::parseValue):
1667 (WebCore::CSSParser::parseContent):
1668 (WebCore::CSSParser::parseBackgroundImage):
1669 (WebCore::CSSParser::parseFontFaceSrc):
1670 (WebCore::CSSParser::parseBorderImage):
1671 (WebCore::CSSParser::createImportRule):
1672 * css/CSSStyleSelector.cpp:
1673 (WebCore::CSSStyleSelector::setEncodedURL):
1675 (WebCore::Document::processHttpEquiv):
1676 (WebCore::Document::cookie):
1677 (WebCore::Document::setCookie):
1678 (WebCore::Document::domain):
1679 (WebCore::Document::setDomain):
1680 (WebCore::Document::getImageMap):
1681 (WebCore::Document::completeURL):
1683 (WebCore::Document::url):
1684 (WebCore::Document::baseURL):
1686 (WebCore::Element::baseURI):
1687 * dom/ProcessingInstruction.h:
1688 * dom/StyledElement.cpp:
1689 (WebCore::StyledElement::addCSSImageProperty):
1690 * dom/StyledElement.h:
1691 * dom/XMLTokenizer.cpp:
1692 (WebCore::XMLTokenizer::endElementNs):
1693 (WebCore::XMLTokenizer::end):
1695 * dom/XMLTokenizer.h:
1696 * editing/Editor.cpp:
1697 (WebCore::Editor::copy):
1698 * editing/markup.cpp:
1699 (WebCore::completeURLs):
1700 * history/CachedPage.h:
1701 (WebCore::CachedPage::url):
1702 * history/HistoryItem.cpp:
1703 (WebCore::HistoryItem::HistoryItem):
1704 (WebCore::HistoryItem::setURL):
1705 (WebCore::HistoryItem::isCurrentDocument):
1706 * html/HTMLBaseElement.cpp:
1707 (WebCore::HTMLBaseElement::process):
1708 * html/HTMLParser.cpp:
1709 (WebCore::HTMLParser::reportErrorToConsole):
1710 * html/HTMLScriptElement.cpp:
1711 (WebCore::HTMLScriptElement::childrenChanged):
1712 (WebCore::HTMLScriptElement::insertedIntoDocument):
1713 (WebCore::HTMLScriptElement::evaluateScript):
1714 * html/HTMLScriptElement.h:
1715 * html/HTMLTokenizer.cpp:
1716 (WebCore::HTMLTokenizer::scriptExecution):
1718 (WebCore::createResource):
1719 (WebCore::Cache::requestResource):
1720 * loader/CachedCSSStyleSheet.cpp:
1721 (WebCore::CachedCSSStyleSheet::checkNotify):
1722 * loader/CachedResource.cpp:
1723 (WebCore::CachedResource::CachedResource):
1724 * loader/CachedResource.h:
1725 (WebCore::CachedResource::):
1726 * loader/CachedScript.h:
1727 * loader/DocLoader.cpp:
1728 (WebCore::DocLoader::checkForReload):
1729 (WebCore::DocLoader::requestResource):
1730 * loader/DocumentLoader.cpp:
1731 (WebCore::DocumentLoader::url):
1732 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1733 (WebCore::DocumentLoader::setRequest):
1734 (WebCore::DocumentLoader::startLoadingMainResource):
1735 * loader/DocumentLoader.h:
1736 * loader/FrameLoader.cpp:
1737 (WebCore::FormSubmission::FormSubmission):
1738 (WebCore::ScheduledRedirection::ScheduledRedirection):
1739 (WebCore::FrameLoader::changeLocation):
1740 (WebCore::FrameLoader::urlSelected):
1741 (WebCore::FrameLoader::requestFrame):
1742 (WebCore::FrameLoader::loadSubframe):
1743 (WebCore::FrameLoader::submitFormAgain):
1744 (WebCore::FrameLoader::submitForm):
1745 (WebCore::FrameLoader::didExplicitOpen):
1746 (WebCore::FrameLoader::replaceContentsWithScriptResult):
1747 (WebCore::FrameLoader::executeScript):
1748 (WebCore::FrameLoader::receivedFirstData):
1749 (WebCore::FrameLoader::begin):
1750 (WebCore::FrameLoader::startIconLoader):
1751 (WebCore::FrameLoader::commitIconURLToIconDatabase):
1752 (WebCore::FrameLoader::scheduleRefresh):
1753 (WebCore::FrameLoader::redirectionTimerFired):
1754 (WebCore::FrameLoader::loadPlugin):
1755 (WebCore::FrameLoader::didNotOpenURL):
1756 (WebCore::FrameLoader::updatePolicyBaseURL):
1757 (WebCore::FrameLoader::scrollToAnchor):
1758 (WebCore::FrameLoader::startRedirectionTimer):
1759 (WebCore::FrameLoader::load):
1760 (WebCore::FrameLoader::canLoad):
1761 (WebCore::FrameLoader::shouldHideReferrer):
1762 (WebCore::FrameLoader::shouldAllowNavigation):
1763 (WebCore::FrameLoader::commitProvisionalLoad):
1764 (WebCore::FrameLoader::clientRedirected):
1765 (WebCore::FrameLoader::open):
1766 (WebCore::FrameLoader::didTellBridgeAboutLoad):
1767 (WebCore::FrameLoader::haveToldBridgeAboutLoad):
1768 (WebCore::FrameLoader::post):
1769 (WebCore::FrameLoader::loadResourceSynchronously):
1770 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1771 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
1772 (WebCore::FrameLoader::createHistoryItem):
1773 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
1774 (WebCore::FrameLoader::loadItem):
1775 (WebCore::FrameLoader::urlsMatchItem):
1776 (WebCore::FrameLoader::recursiveGoToItem):
1777 (WebCore::FrameLoader::updateHistoryForStandardLoad):
1778 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1779 * loader/FrameLoader.h:
1780 (WebCore::FrameLoader::url):
1781 * loader/ImageDocument.cpp:
1782 (WebCore::ImageDocument::createDocumentStructure):
1783 * loader/MainResourceLoader.cpp:
1784 (WebCore::shouldLoadAsEmptyDocument):
1785 (WebCore::MainResourceLoader::didFinishLoading):
1786 * loader/NavigationAction.cpp:
1787 (WebCore::NavigationAction::NavigationAction):
1788 * loader/NavigationAction.h:
1789 (WebCore::NavigationAction::url):
1790 * loader/PluginDocument.cpp:
1791 (WebCore::PluginTokenizer::createDocumentStructure):
1792 * loader/SubresourceLoader.cpp:
1793 (WebCore::SubresourceLoader::load):
1794 (WebCore::SubresourceLoader::create):
1795 * loader/icon/IconLoader.cpp:
1796 (WebCore::IconLoader::startLoading):
1797 (WebCore::IconLoader::finishLoading):
1798 * loader/loader.cpp:
1799 (WebCore::Loader::servePendingRequests):
1800 * loader/mac/LoaderNSURLExtras.m:
1803 (WebCore::Chrome::setToolTip):
1804 * page/ContextMenuController.cpp:
1805 (WebCore::ContextMenuController::contextMenuItemSelected):
1807 (WebCore::Frame::setUserStyleSheetLocation):
1808 * page/InspectorController.cpp:
1809 (WebCore::InspectorResource::type):
1810 (WebCore::addSourceToFrame):
1811 (WebCore::InspectorController::addScriptResource):
1812 (WebCore::InspectorController::updateScriptResourceRequest):
1813 (WebCore::InspectorController::didCommitLoad):
1814 * page/mac/WebCoreFrameBridge.mm:
1815 (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1817 (WebCore::KURL::string):
1818 (WebCore::KURL::deprecatedString):
1819 * platform/mac/ClipboardMac.mm:
1820 (WebCore::ClipboardMac::getData):
1821 * platform/mac/CookieJar.mm:
1823 (WebCore::setCookies):
1824 * platform/mac/PasteboardMac.mm:
1825 (WebCore::Pasteboard::writeURL):
1826 (WebCore::fileWrapperForImage):
1827 (WebCore::Pasteboard::writeImage):
1828 (WebCore::Pasteboard::plainText):
1829 * platform/network/ResourceHandle.cpp:
1830 (WebCore::ResourceHandle::portAllowed):
1831 * platform/network/ResourceRequestBase.cpp:
1832 (WebCore::ResourceRequestBase::isNull):
1833 * platform/network/cf/ResourceHandleCFNet.cpp:
1834 (WebCore::willSendRequest):
1835 (WebCore::didReceiveResponse):
1836 (WebCore::didReceiveData):
1837 (WebCore::didFinishLoading):
1839 (WebCore::didReceiveChallenge):
1840 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1841 (WebCore::ResourceHandle::~ResourceHandle):
1842 (WebCore::ResourceHandle::start):
1843 * platform/win/ClipboardUtilitiesWin.cpp:
1844 (WebCore::createGlobalData):
1845 (WebCore::urlToMarkup):
1846 * platform/win/ClipboardWin.cpp:
1847 (WebCore::writeURL):
1848 (WebCore::writeImageToDataObject):
1849 (WebCore::ClipboardWin::writeURL):
1850 (WebCore::ClipboardWin::writeRange):
1851 * platform/win/PasteboardWin.cpp:
1852 (WebCore::Pasteboard::writeSelection):
1853 (WebCore::Pasteboard::writeURL):
1854 * plugins/win/PluginDatabaseWin.cpp:
1855 (WebCore::PluginDatabaseWin::findPlugin):
1856 * plugins/win/PluginStreamWin.cpp:
1857 (WebCore::PluginStreamWin::startStream):
1858 (WebCore::PluginStreamWin::destroyStream):
1859 * plugins/win/PluginViewWin.cpp:
1860 (WebCore::scriptStringIfJavaScriptURL):
1861 (WebCore::PluginViewWin::performRequest):
1862 * svg/SVGImageLoader.cpp:
1863 (WebCore::SVGImageLoader::updateFromElement):
1864 * xml/XMLHttpRequest.cpp:
1865 (WebCore::XMLHttpRequest::getResponseXML):
1866 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1867 * xml/XSLImportRule.cpp:
1868 (WebCore::XSLImportRule::loadSheet):
1869 * xml/XSLTProcessor.cpp:
1870 (WebCore::XSLTProcessor::createDocumentFromSource):
1871 (WebCore::xsltStylesheetPointer):
1872 (WebCore::xmlDocPtrFromNode):
1874 2007-12-11 Beth Dakin <bdakin@apple.com>
1878 Fix for <rdar://problem/5641255> SVGs with width and height 100%
1879 fail to render when used as background images
1881 CachedImage now has a setImageContainerSize function. It is only
1882 needed for SVG right now.
1883 * loader/CachedImage.cpp:
1884 (WebCore::CachedImage::setImageContainerSize):
1885 * loader/CachedImage.h:
1887 Relatively sized SVGs have no intrinsic size. Because this call is
1888 low-level enough that we cannot pass in the container size and get
1889 the real size of the SVG, we need to know if it has relative
1890 dimensions, and if so, we need to get the size from scaledTileSize.
1891 * platform/graphics/Image.cpp:
1892 (WebCore::Image::drawTiled):
1893 * platform/graphics/Image.h:
1894 (WebCore::Image::setContainerSize):
1895 (WebCore::Image::hasRelativeWidth):
1896 (WebCore::Image::hasRelativeHeight):
1898 Re-factored calculateBackgroundSize a bit so that it returns an
1899 IntSize. Made it a member function so that it can send m_width and
1900 m_height along to setImageContainerSize.
1901 * rendering/RenderBox.cpp:
1902 (WebCore::RenderBox::calculateBackgroundSize):
1903 (WebCore::RenderBox::calculateBackgroundImageGeometry):
1904 * rendering/RenderBox.h:
1906 Need to account for relatively sized SVGs in calcViewport()
1907 * rendering/RenderSVGRoot.cpp:
1908 (WebCore::RenderSVGRoot::calcViewport):
1910 Added new member variables to store the size of the SVG container.
1911 relativeWidthValue() and relativeHeightValue() use the stored SVG
1912 container size to correctly calculate the width and height of a
1913 relatively sized SVG.
1914 * svg/SVGSVGElement.cpp:
1915 (WebCore::SVGSVGElement::SVGSVGElement):
1916 (WebCore::SVGSVGElement::setContainerSize):
1917 (WebCore::SVGSVGElement::relativeWidthValue):
1918 (WebCore::SVGSVGElement::relativeHeightValue):
1919 * svg/SVGSVGElement.h:
1920 (WebCore::SVGSVGElement::containerSize):
1922 Re-factored size calculations to use the size of the container.
1923 * svg/graphics/SVGImage.cpp:
1924 (WebCore::SVGImage::setContainerSize):
1925 (WebCore::SVGImage::size):
1926 (WebCore::SVGImage::hasRelativeWidth):
1927 (WebCore::SVGImage::hasRelativeHeight):
1928 * svg/graphics/SVGImage.h:
1930 2007-12-11 Darin Adler <darin@apple.com>
1932 * editing/Editor.cpp:
1933 (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
1934 a missing return statement.
1936 2007-12-11 Darin Adler <darin@apple.com>
1940 - exposed many new commands to the DOM Document executeCommand function by
1941 merging the JSEditor and Editor executeCommand implementations
1942 - replaced the execCommand function with a EditorCommand class
1943 - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
1944 - replaced the WTF::CaseInsensitiveHash<> class template with the
1945 WebCore::CaseFoldingHash class
1947 * WebCore.base.exp: Updated.
1948 * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
1949 * WebCore.vcproj/WebCore.vcproj: Ditto.
1950 * WebCore.xcodeproj/project.pbxproj: Ditto.
1951 * WebCoreSources.bkl: Ditto.
1954 (WebCore::Document::Document): Removed code to set up m_jsEditor.
1955 (WebCore::Document::~Document): Removed code to delete m_jsEditor.
1956 (WebCore::command): Added. Helper function that gets an Editor::Command.
1957 (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
1959 (WebCore::Document::queryCommandEnabled): Ditto.
1960 (WebCore::Document::queryCommandIndeterm):
1961 (WebCore::Document::queryCommandState): Ditto.
1962 (WebCore::Document::queryCommandSupported): Ditto.
1963 (WebCore::Document::queryCommandValue): Ditto.
1965 * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
1966 use CaseFoldingHash.
1968 * editing/Editor.cpp:
1969 (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
1970 made into a member function so it is accessible from the new EditorCommand.cpp file.
1971 Also changed to get the selection from the passed-in frame instead of from the
1972 page, because this should work on the targeted frame unless the event overrides it.
1973 (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
1974 (WebCore::Editor::handleInputMethodKeypress): Ditto.
1975 (WebCore::imageElementFromImageDocument): Renamed and changed to return
1976 a HTMLImageElement instead of a Node*.
1977 (WebCore::Editor::canCopy): Updated for name change.
1978 (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
1979 (WebCore::Editor::selectionOrderedListState): Ditto.
1980 (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
1981 (WebCore::updateState): Moved here from Frame.
1982 (WebCore::Editor::selectionHasStyle): Ditto.
1983 (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
1984 (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
1985 selectionForCommand change.
1986 (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
1987 (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
1988 machinery since it's no longer in this file as a local function.
1989 (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
1990 (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
1992 (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
1993 without a kill ring, but it's relatively straightforward to implement one.
1994 (WebCore::Editor::appendToKillRing): Put default implementation here for
1995 platforms other than Mac. We should probably put a simple kill ring
1996 implementation here -- doesn't need to be shared with the OS oh platforms
1998 (WebCore::Editor::prependToKillRing): Ditto.
1999 (WebCore::Editor::yankFromKillRing): Ditto.
2000 (WebCore::Editor::startNewKillRingSequence): Ditto.
2001 (WebCore::Editor::setKillRingToYankedState): Ditto.
2003 * editing/Editor.h: Moved the TriState enum here instead of inside the
2004 Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
2005 here from the Frame class. Added Editor::Command class with five functions
2006 for the various things you can do with a command (execute it, check if it
2007 can be used, and its state and value). Changed hte parameter of
2008 setBaseWritingDirection to be a const String& rather than a String.
2009 Got rid of the kill-ring-related operations, but added the kill ring
2010 functions themselves. Made selectedRange() public. Made the
2011 m_startNewKillRingSequence not Mac-specific and added "should" to its
2014 * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
2015 Retained only the editing commands.
2016 (WebCore::targetFrame): Moved to the top of the file.
2017 (WebCore::executeApplyStyle): Added. Helper function for commands
2018 that need to apply styles.
2019 (WebCore::executeToggleStyle): Added. Helper function for commands
2020 that need to toggle styles based on the style of the start of selection.
2021 (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
2022 for paragraph styles.
2023 (WebCore::executeInsertFragment): Added. Helper function for commands
2024 that need to insert a DOM fragment.
2025 (WebCore::executeInsertNode): Added. Helper function for commands that
2026 need to insert a tree rooted in a single DOM node.
2027 (WebCore::stateStyle): Added. Helper function for the state of commands
2028 that represent style.
2029 (WebCore::valueStyle): Added. Helper function for the value of commands
2030 that represent style.
2031 (WebCore::canScroll): Added. Helper functions for some move and scroll
2032 commands that need to determine if the renderer they are in can scroll.
2033 (WebCore::unionDOMRanges): Moved here from EditorMac.
2034 (WebCore::executeBackColor):
2035 (WebCore::executeBackwardDelete):
2036 (WebCore::executeCopy):
2037 (WebCore::executeCreateLink):
2038 (WebCore::executeCut):
2039 (WebCore::executeDelete):
2040 (WebCore::executeDeleteToMark):
2041 (WebCore::executeDeleteWordBackward):
2042 (WebCore::executeDeleteWordForward):
2043 (WebCore::executeFindString):
2044 (WebCore::executeFontName):
2045 (WebCore::executeFontSize):
2046 (WebCore::executeFontSizeDelta):
2047 (WebCore::executeForeColor):
2048 (WebCore::executeFormatBlock):
2049 (WebCore::executeForwardDelete):
2050 (WebCore::executeIndent):
2051 (WebCore::executeInsertBacktab):
2052 (WebCore::executeInsertHorizontalRule):
2053 (WebCore::executeInsertHTML):
2054 (WebCore::executeInsertImage):
2055 (WebCore::executeInsertLineBreak):
2056 (WebCore::executeInsertNewline):
2057 (WebCore::executeInsertNewlineInQuotedContent):
2058 (WebCore::executeInsertOrderedList):
2059 (WebCore::executeInsertParagraph):
2060 (WebCore::executeInsertTab):
2061 (WebCore::executeInsertText):
2062 (WebCore::executeInsertUnorderedList):
2063 (WebCore::executeJustifyCenter):
2064 (WebCore::executeJustifyFull):
2065 (WebCore::executeJustifyLeft):
2066 (WebCore::executeJustifyRight):
2067 (WebCore::executeMoveBackward):
2068 (WebCore::executeMoveBackwardAndModifySelection):
2069 (WebCore::executeMoveDown):
2070 (WebCore::executeMoveDownAndModifySelection):
2071 (WebCore::executeMoveDownByPageAndModifyCaret):
2072 (WebCore::executeMoveForward):
2073 (WebCore::executeMoveForwardAndModifySelection):
2074 (WebCore::executeMoveLeft):
2075 (WebCore::executeMoveLeftAndModifySelection):
2076 (WebCore::executeMoveRight):
2077 (WebCore::executeMoveRightAndModifySelection):
2078 (WebCore::executeMoveToBeginningOfDocument):
2079 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
2080 (WebCore::executeMoveToBeginningOfLine):
2081 (WebCore::executeMoveToBeginningOfLineAndModifySelection):
2082 (WebCore::executeMoveToBeginningOfParagraph):
2083 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
2084 (WebCore::executeMoveToBeginningOfSentence):
2085 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
2086 (WebCore::executeMoveToEndOfDocument):
2087 (WebCore::executeMoveToEndOfDocumentAndModifySelection):
2088 (WebCore::executeMoveToEndOfSentence):
2089 (WebCore::executeMoveToEndOfSentenceAndModifySelection):
2090 (WebCore::executeMoveToEndOfLine):
2091 (WebCore::executeMoveToEndOfLineAndModifySelection):
2092 (WebCore::executeMoveToEndOfParagraph):
2093 (WebCore::executeMoveToEndOfParagraphAndModifySelection):
2094 (WebCore::executeMoveParagraphBackwardAndModifySelection):
2095 (WebCore::executeMoveParagraphForwardAndModifySelection):
2096 (WebCore::executeMoveUp):
2097 (WebCore::executeMoveUpAndModifySelection):
2098 (WebCore::executeMoveUpByPageAndModifyCaret):
2099 (WebCore::executeMoveWordBackward):
2100 (WebCore::executeMoveWordBackwardAndModifySelection):
2101 (WebCore::executeMoveWordForward):
2102 (WebCore::executeMoveWordForwardAndModifySelection):
2103 (WebCore::executeMoveWordLeft):
2104 (WebCore::executeMoveWordLeftAndModifySelection):
2105 (WebCore::executeMoveWordRight):
2106 (WebCore::executeMoveWordRightAndModifySelection):
2107 (WebCore::executeOutdent):
2108 (WebCore::executePaste):
2109 (WebCore::executePasteAndMatchStyle):
2110 (WebCore::executePrint):
2111 (WebCore::executeRedo):
2112 (WebCore::executeRemoveFormat):
2113 (WebCore::executeSelectAll):
2114 (WebCore::executeSelectToMark):
2115 (WebCore::executeSetMark):
2116 (WebCore::executeStrikethrough):
2117 (WebCore::executeSubscript):
2118 (WebCore::executeSuperscript):
2119 (WebCore::executeSwapWithMark):
2120 (WebCore::executeToggleBold):
2121 (WebCore::executeToggleItalic):
2122 (WebCore::executeTranspose):
2123 (WebCore::executeUnderline):
2124 (WebCore::executeUndo):
2125 (WebCore::executeUnlink):
2126 (WebCore::executeUnscript):
2127 (WebCore::executeUnselect):
2128 (WebCore::executeYank):
2129 (WebCore::executeYankAndSelect):
2130 (WebCore::supported):
2131 (WebCore::supportedPaste):
2133 (WebCore::enabledAnySelection):
2134 (WebCore::enabledAnySelectionAndMark):
2135 (WebCore::enableCaretInEditableText):
2136 (WebCore::enabledCopy):
2137 (WebCore::enabledCut):
2138 (WebCore::enabledInEditableText):
2139 (WebCore::enabledInRichlyEditableText):
2140 (WebCore::enabledPaste):
2141 (WebCore::enabledRangeInEditableText):
2142 (WebCore::enabledRangeInRichlyEditableText):
2143 (WebCore::enabledRedo):
2144 (WebCore::enabledUndo):
2145 (WebCore::stateNone):
2146 (WebCore::stateBold):
2147 (WebCore::stateItalic):
2148 (WebCore::stateOrderedList):
2149 (WebCore::stateStrikethrough):
2150 (WebCore::stateSubscript):
2151 (WebCore::stateSuperscript):
2152 (WebCore::stateUnderline):
2153 (WebCore::stateUnorderedList):
2154 (WebCore::valueNull):
2155 (WebCore::valueBackColor):
2156 (WebCore::valueFontName):
2157 (WebCore::valueFontSize):
2158 (WebCore::valueFontSizeDelta):
2159 (WebCore::valueForeColor):
2160 (WebCore::createCommandMap): Added lots of commands, including all the commands
2161 from JSEditor. A few commands needed different behavior based on whether they are
2162 invoked from the DOM or a keyboard binding.
2163 (WebCore::Editor::command): Added. Gets a command object given a name.
2164 (WebCore::Editor::Command::Command): Added.
2165 (WebCore::Editor::Command::execute): Added.
2166 (WebCore::Editor::Command::isSupported): Added.
2167 (WebCore::Editor::Command::isEnabled): Added.
2168 (WebCore::Editor::Command::state): Added.
2169 (WebCore::Editor::Command::value): Added.
2170 (WebCore::Editor::execCommand): Changed to call command().execute().
2172 * editing/JSEditor.cpp: Removed.
2173 * editing/JSEditor.h: Removed.
2175 * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
2176 kill ring commands, so the kill ring commands can be cross-platform.
2177 (WebCore::Editor::appendToKillRing): Added.
2178 (WebCore::Editor::prependToKillRing): Added.
2179 (WebCore::Editor::yankFromKillRing): Added.
2180 (WebCore::Editor::startNewKillRingSequence): Added.
2181 (WebCore::Editor::setKillRingToYankedState): Added.
2183 * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
2184 * page/Frame.h: Ditto.
2186 * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
2187 * page/mac/WebCoreFrameBridge.h: Ditto.
2189 * platform/ContextMenu.cpp:
2190 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
2192 * platform/text/StringHash.h:
2193 (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
2194 (WebCore::StringHash::equal): Ditto.
2195 (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
2197 (WebCore::CaseFoldingHash::equal): Ditto.
2199 * platform/text/StringImpl.cpp:
2200 (WebCore::equal): Changed to invoke StringHash.
2201 (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
2203 * dom/DOMImplementation.cpp:
2204 (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
2205 (WebCore::isSVG10Feature): Ditto.
2206 (WebCore::isSVG11Feature): Ditto.
2207 * loader/FrameLoader.cpp:
2208 (WebCore::localSchemes): Ditto.
2209 * platform/graphics/FontCache.cpp:
2210 (WebCore::computeHash): Ditto.
2211 * platform/network/HTTPHeaderMap.h: Ditto.
2212 * platform/text/PlatformString.h: Ditto.
2213 * platform/text/StringImpl.h: Ditto.
2214 * rendering/RenderPartObject.cpp:
2215 (WebCore::RenderPartObject::updateWidget): Ditto.
2216 * xml/XMLHttpRequest.cpp:
2217 (WebCore::canSetRequestHeader): Ditto.
2219 * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
2221 2007-12-11 Darin Adler <darin@apple.com>
2223 * platform/wx/KeyboardEventWx.cpp:
2224 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
2225 WX build. Changes the code around a little bit.
2227 2007-12-11 Darin Adler <darin@apple.com>
2229 * platform/wx/KeyboardEventWx.cpp:
2230 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
2232 2007-12-11 Dan Bernstein <mitz@apple.com>
2234 Reviewed by Darin Adler.
2236 - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
2238 Test: fast/text/international/complex-character-based-fallback.html
2240 * platform/graphics/Font.cpp:
2241 (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
2242 that forces this function to use the small caps font. It is used for
2243 combining marks that need to combine with a small cap.
2244 * platform/graphics/Font.h:
2245 * platform/win/UniscribeController.cpp:
2246 (WebCore::UniscribeController::advance): Changed to split the string
2247 into runs of characters that will be rendered using the same FontData.
2248 This is done by calling glyphDataForCharacter() for each cahracter to
2249 find the FontData it should be rendered with.
2250 (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
2251 argument that is passed on to shapeAndPlaceItem() instead of the
2253 (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
2254 argument and removed the font fallback logic from this function, as
2255 it is now expected to be called with an item all of whose characters
2256 can be rendered with the given fontData.
2257 * platform/win/UniscribeController.h:
2259 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
2263 <rdar://problem/5535636>
2264 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2266 http://bugs.webkit.org/show_bug.cgi?id=13916
2267 JavaScript detects Tab as a character input on a textfield validation
2269 Test: platform/win/fast/events/double-dead-char.html
2271 * platform/PlatformKeyboardEvent.h:
2272 (WebCore::PlatformKeyboardEvent::):
2273 (WebCore::PlatformKeyboardEvent::type):
2274 (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
2275 (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
2276 (WebCore::PlatformKeyboardEvent::keyIdentifier):
2277 (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2278 Added an explicit type member to differentiate different kinds of events:
2279 RawKeyDown == keydown == WM_KEYDOWN
2280 KeyUp == keyup == WM_KEYUP
2281 Char == keypress == WM_CHAR
2282 KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
2283 event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
2285 * platform/mac/KeyEventMac.mm:
2286 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2287 Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
2288 (WebCore::windowsKeyCodeForKeyEvent):
2289 (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
2290 that it still fails.
2291 (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
2292 should not be available in those (because it cannot be provided on Windows).
2294 * platform/win/KeyEventWin.cpp:
2295 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2296 Used standard Windows constants for bit masks instead of our own ones.
2297 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
2299 * platform/gtk/KeyEventGtk.cpp:
2300 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2301 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2302 * platform/qt/PlatformKeyboardEventQt.cpp:
2303 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2304 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2305 * platform/wx/KeyboardEventWx.cpp:
2306 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2307 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2308 Updated for cross-platform changes as much as it was possible without appropriate build
2311 * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
2312 convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
2314 * bridge/EditorClient.h:
2315 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2316 Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
2320 (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
2322 * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
2324 * dom/KeyboardEvent.cpp:
2325 (WebCore::eventTypeForKeyboardEventType):
2326 (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
2327 now straightforward, so scary hacks such as using autorepeat to distinguish types are
2329 (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
2330 (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
2331 Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
2335 * editing/Editor.cpp:
2336 (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
2337 (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
2338 (WebCore::Editor::handleInputMethodKeydown): Ditto.
2340 * html/HTMLButtonElement.cpp:
2341 (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
2342 appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
2343 not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
2344 highlighted when Space is pressed.
2346 * html/HTMLInputElement.cpp:
2347 (WebCore::HTMLInputElement::defaultEventHandler):
2348 * html/HTMLSelectElement.cpp:
2349 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2350 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2351 Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
2354 * page/EventHandler.cpp:
2355 (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
2356 to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
2357 handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
2358 now being handleInputMethodKeydown().
2359 (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
2360 (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
2361 as default tab handling happens when processing keydown.
2362 (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
2363 event handling. Fixed accesskey processing to use information that's available in a raw keydown
2366 (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
2367 handle tabs during keydown processing.
2369 * page/mac/EventHandlerMac.mm:
2370 (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
2373 * platform/text/PlatformString.h:
2374 * platform/text/String.cpp:
2375 (WebCore::String::characterStartingAt):
2376 * platform/text/StringImpl.cpp:
2377 (WebCore::StringImpl::characterStartingAt):
2378 * platform/text/StringImpl.h:
2379 Added a UChar32 accessor.
2381 * svg/graphics/SVGImageEmptyClients.h:
2382 (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
2383 (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
2384 Updated for new function names.
2386 2007-12-11 John Sullivan <sullivan@apple.com>
2390 Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
2392 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2393 (WebCore::MediaPlayerPrivate::createQTMovieView):
2394 (WebCore::MediaPlayerPrivate::detachQTMovieView):
2396 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
2400 http://bugs.webkit.org/show_bug.cgi?id=16325
2401 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2403 Fix this on Windows, too!
2405 Test: http/tests/misc/empty-cookie.html
2407 * platform/network/win/CookieJarWin.cpp:
2408 (WebCore::setCookies):
2410 Same fix as on Mac, translated into CF.
2412 * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2414 2007-12-11 Christian Dywan <christian@twotoasts.de>
2416 Reviewed by Alp Toker.
2418 http://bugs.webkit.org/show_bug.cgi?id=16371
2419 Implement additional mouse cursors for Gtk
2421 Added cursor bitmaps from Mozilla:
2422 http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
2424 * platform/gtk/CursorGtk.cpp:
2425 (WebCore::customCursorNew):
2426 (WebCore::verticalTextCursor):
2427 (WebCore::cellCursor):
2428 (WebCore::contextMenuCursor):
2429 (WebCore::noDropCursor):
2430 (WebCore::copyCursor):
2431 (WebCore::progressCursor):
2432 (WebCore::aliasCursor):
2433 (WebCore::noneCursor):
2434 (WebCore::notAllowedCursor):
2435 (WebCore::zoomInCursor):
2436 (WebCore::zoomOutCursor):
2437 * platform/gtk/CursorGtk.h: Added.
2439 2007-12-10 Oliver Hunt <oliver@apple.com>
2441 Reviewed by Weinig, Dan, and Alexey.
2443 Fix character set used for dynamically loaded scripts.
2446 <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
2447 <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
2448 <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
2450 Use the same logic to determine the charset for a script loaded dynamically
2451 as we do for a statically loaded script.
2453 * html/HTMLScriptElement.cpp:
2454 (WebCore::HTMLScriptElement::insertedIntoDocument):
2456 2007-12-10 Justin Garcia <justin.garcia@apple.com>
2458 Reviewed by Oliver Hunt.
2460 <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
2462 We were trying to insert a block of the requested type before the body element.
2464 * editing/FormatBlockCommand.cpp:
2465 (WebCore::FormatBlockCommand::doApply):
2466 Removed unnecessary ()s in the if condition.
2467 Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
2468 a) upstreamStart will never be outside the root editable element, since in that case
2469 there would be no block inside the editable root to Format, and b) if upstreamStart.node()
2470 *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
2472 Added comments to explain the use of upstream() in the second if-clause.
2473 Added an early return for case where there is nothing selected, in that case, there is nothing
2476 2007-12-10 Adele Peterson <adele@apple.com>
2478 Reviewed and partially fixed by Tim Hatcher.
2480 Remaining part of fix for <rdar://problem/5633400>
2481 Transformed <video> is not clipped correctly until a repaint is forced
2483 Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
2484 from clobbering the WebCore repaints.
2486 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
2487 * html/HTMLMediaElement.h:
2488 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
2489 * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
2491 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2492 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2493 (method_setImplementation): Added for Tiger.
2495 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
2496 (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
2497 (WebCore::MediaPlayerPrivate::setVisible): ditto.
2498 (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
2500 (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
2501 (-[WebCoreMovieObserver repaint]): ditto.
2503 (WebCore::mainThreadSetNeedsDisplay): Added.
2504 Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
2505 (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
2507 2007-12-10 Geoffrey Garen <ggaren@apple.com>
2509 Reviewed by Sam Weinig.
2511 Updated for rename in JavaScriptCore.
2513 * bridge/mac/WebCoreScriptDebugger.mm:
2514 (-[WebCoreScriptCallFrame scopeChain]):
2515 (-[WebCoreScriptCallFrame functionName]):
2516 (-[WebCoreScriptCallFrame evaluateWebScript:]):
2518 2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
2520 Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
2521 <http://bugs.webkit.org/show_bug.cgi?id=16383>
2523 Use KJS::Window not the ambiguous Window
2525 Reviewed by ddkilzer.
2527 * bindings/js/kjs_dom.cpp (checkNodeSecurity):
2529 2007-12-10 Sam Weinig <sam@webkit.org>
2533 * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
2535 2007-12-10 Marvin Decker <marv.decker@gmail.com>
2539 Fix a divide by 0 in the progress tracker.
2540 http://bugs.webkit.org/show_bug.cgi?id=15055
2542 * loader/ProgressTracker.cpp:
2543 (WebCore::ProgressTracker::incrementProgress):
2545 2007-12-09 Sam Weinig <sam@webkit.org>
2549 More cleanup of kjs_window.
2550 - Move WindowFeatures from bridge/ to page/
2551 - Move functions related to WindowFeatures (boolFeature,
2552 floatFeature, setWindowFeature, parseWindowFeatures) into the class.
2553 - Fix up whitespace.
2555 * WebCore.vcproj/WebCore.vcproj:
2556 * WebCore.xcodeproj/project.pbxproj:
2557 * bindings/js/kjs_window.cpp:
2558 (KJS::DOMWindowTimer::~DOMWindowTimer):
2559 (KJS::createWindow):
2560 (KJS::showModalDialog):
2561 (KJS::Window::getOwnPropertySlot):
2562 (KJS::Window::allowsAccessFrom):
2563 (KJS::Window::shouldInterruptScript):
2564 (KJS::WindowProtoFuncAToB::callAsFunction):
2565 (KJS::WindowProtoFuncOpen::callAsFunction):
2566 (KJS::Window::setReturnValueSlot):
2567 (KJS::ScheduledAction::execute):
2568 (KJS::Window::timerFired):
2569 (KJS::Location::Location):
2570 (KJS::Location::getValueProperty):
2571 (KJS::Location::getOwnPropertySlot):
2572 (KJS::Location::put):
2573 (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
2574 (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
2575 (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
2576 allowsAccessFrom, cleanup the function a little.
2577 (KJS::PausedTimeouts::~PausedTimeouts):
2578 * bridge/WindowFeatures.h: Removed.
2579 * page/WindowFeatures.cpp: Added.
2580 (WebCore::isSeparator):
2581 (WebCore::WindowFeatures::WindowFeatures):
2582 (WebCore::WindowFeatures::setWindowFeature):
2583 (WebCore::WindowFeatures::boolFeature):
2584 (WebCore::WindowFeatures::floatFeature):
2585 * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
2586 (WebCore::WindowFeatures::WindowFeatures):
2588 2007-12-10 Timothy Hatcher <timothy@apple.com>
2590 Reviewed by Mark Rowe.
2592 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2594 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2595 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2597 2007-12-10 Alp Toker <alp@atoker.com>
2601 Cairo implementation of GraphicsContext::setUseAntialiasing().
2603 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2604 (WebCore::GraphicsContext::setUseAntialiasing):
2606 2007-12-10 Rob Buis <buis@kde.org>
2610 http://bugs.webkit.org/show_bug.cgi?id=16182
2611 SVG should disable antialiasing for shape-rendering="crispEdges"
2613 Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
2615 * platform/graphics/GraphicsContext.h:
2616 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2617 (WebCore::GraphicsContext::setUseAntialiasing):
2618 * platform/graphics/cg/GraphicsContextCG.cpp:
2619 (WebCore::GraphicsContext::setUseAntialiasing):
2620 * platform/graphics/qt/GraphicsContextQt.cpp:
2621 (WebCore::GraphicsContext::setUseAntialiasing):
2622 * platform/graphics/wx/GraphicsContextWx.cpp:
2623 (WebCore::GraphicsContext::setUseAntialiasing):
2624 * rendering/RenderPath.cpp:
2625 (WebCore::RenderPath::paint):
2627 2007-12-09 Rob Buis <buis@kde.org>
2631 http://bugs.webkit.org/show_bug.cgi?id=16163
2632 SVG crash in Node::setChanged() on Debug builds only (trashed parent)
2634 Fix the crash by properly unregistering as client from SVGResource
2635 when deleting a styled svg node.
2637 * svg/SVGStyledElement.cpp:
2638 (WebCore::SVGStyledElement::~SVGStyledElement):
2640 2007-12-10 Brady Eidson <beidson@apple.com>
2642 Rubberstamped by John
2644 * storage/DatabaseTracker.cpp:
2645 (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
2646 for the new quota, we should allow the database to be created
2648 2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
2650 Bug 9683: Implement select.options.remove() method
2651 <http://bugs.webkit.org/show_bug.cgi?id=9683>
2655 Implement select.options.remove() by calling select.remove()
2656 with the same arguments. This is what MSIE 7 does, although its
2657 select.remove() method differs from WebKit's by throwing an
2658 exception when called with no arguments or with a negative
2659 integer argument. Note that the DOM Level 1 documentation
2660 specifies that select.remove() does not throw an exception.
2662 Tests: fast/js/select-options-remove-gc.html
2663 fast/js/select-options-remove.html
2665 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2666 (WebCore::JSHTMLOptionsCollection::remove): Added.
2667 * html/HTMLOptionsCollection.cpp:
2668 (WebCore::HTMLOptionsCollection::remove): Added.
2669 * html/HTMLOptionsCollection.h:
2670 * html/HTMLOptionsCollection.idl:
2672 2007-12-09 Sam Weinig <sam@webkit.org>
2674 Rubber stamped by Mark Rowe.
2676 * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
2678 2007-12-09 Oliver Hunt <oliver@apple.com>
2682 Correction, 'z' and 'Z' are the only commands that cannot have an extended
2685 * svg/SVGParserUtilities.cpp:
2686 (WebCore::SVGPathParser::parseSVG):
2688 2007-12-09 Oliver Hunt <oliver@apple.com>
2692 Prevent unlimited iteration in the case of invalid path data.
2694 The only path commands that can leave numbers trailing the command processing
2695 are 'm' and 'M', in which trailing numbers are parsed as arguments to an
2696 implicit lineto command. In any case we should just terminate as an invalid
2699 * svg/SVGParserUtilities.cpp:
2700 (WebCore::SVGPathParser::parseSVG):
2702 2007-12-09 Luca Bruno <lethalman88@gmail.com>
2704 Reviewed by Alp Toker.
2706 http://bugs.webkit.org/show_bug.cgi?id=15825
2707 [GTK] curl - slow dns causing hangs.
2709 Create a vector of jobs, to satisfy requests in the right order.
2710 Set a limit to the number of simultaneous connections.
2712 * platform/network/curl/ResourceHandleManager.cpp:
2713 (WebCore::maxRunningJobs): added
2714 (WebCore::ResourceHandleManager::ResourceHandleManager):
2715 (WebCore::ResourceHandleManager::removeFromCurl):
2716 (WebCore::ResourceHandleManager::startScheduledJobs):
2718 * platform/network/curl/ResourceHandleManager.h:
2719 (WebCore::ResourceHandleList): removed
2720 (WebCore::ResourceHandleManager::m_runningJobs): added
2721 (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
2722 (WebCore::ResourceHandleManager::m_resourceHandleList): added
2724 2007-12-08 Sam Weinig <sam@webkit.org>
2728 Cleanup kjs_window.h/cpp.
2730 * bindings/js/kjs_window.cpp:
2731 (KJS::WindowPrivate::WindowPrivate):
2732 (KJS::DOMWindowTimer::DOMWindowTimer):
2733 (KJS::Window::Window):
2734 (KJS::Window::retrieveWindow):
2735 (KJS::Window::retrieveActive):
2736 (KJS::Window::retrieve):
2737 (KJS::Window::location):
2738 (KJS::Window::mark):
2740 (KJS::parseModalDialogFeatures):
2741 (KJS::floatFeature):
2742 (KJS::canShowModalDialog):
2743 (KJS::canShowModalDialogNow):
2744 (KJS::showModalDialog):
2745 (KJS::Window::getValueProperty):
2746 (KJS::Window::getOwnPropertySlot):
2747 (KJS::Window::globalExec):
2748 (KJS::Window::setListener):
2749 (KJS::Window::getListener):
2750 (KJS::Window::findOrCreateJSEventListener):
2751 (KJS::Window::findOrCreateJSUnprotectedEventListener):
2752 (KJS::Window::clearHelperObjectProperties):
2753 (KJS::Window::setCurrentEvent):
2754 (KJS::WindowProtoFuncAToB::callAsFunction):
2755 (KJS::WindowProtoFuncBToA::callAsFunction):
2756 (KJS::WindowProtoFuncOpen::callAsFunction):
2757 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2758 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2759 (KJS::WindowProtoFuncSetInterval::callAsFunction):
2760 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2761 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2762 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2763 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2764 * bindings/js/kjs_window.h:
2765 (KJS::PausedTimeouts::PausedTimeouts):
2766 (KJS::PausedTimeouts::takeTimeouts):
2767 (KJS::ScheduledAction::ScheduledAction):
2769 2007-12-08 Sam Weinig <sam@webkit.org>
2773 Move window scrolling, moving and resizing methods from KJS::Window
2774 to WebCore::DOMWindow so that there bindings can be autogenerated.
2776 Tests: fast/dom/Window/window-resize-and-move-arguments.html
2777 fast/dom/Window/window-scroll-arguments.html
2779 * WebCore.xcodeproj/project.pbxproj:
2780 * bindings/js/kjs_window.cpp:
2781 (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
2782 (KJS::WindowProtoFuncOpen::callAsFunction):
2783 (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
2784 * bindings/js/kjs_window.h:
2785 * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
2786 to ensure that the no less than the declared number of attributes
2788 * page/DOMWindow.cpp:
2789 (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
2790 (WebCore::DOMWindow::scrollBy):
2791 (WebCore::DOMWindow::scrollTo):
2792 (WebCore::DOMWindow::moveBy):
2793 (WebCore::DOMWindow::moveTo):
2794 (WebCore::DOMWindow::resizeBy):
2795 (WebCore::DOMWindow::resizeTo):
2797 (WebCore::DOMWindow::scroll):
2798 * page/DOMWindow.idl:
2800 2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
2802 Reviewed by Alp Toker.
2804 http://bugs.webkit.org/show_bug.cgi?id=14651
2805 [CURL] didReceiveResponse() only called for HTTP loads
2807 http://bugs.webkit.org/show_bug.cgi?id=14583
2808 [GDK] file:// relative CSS include URLs handled incorrectly
2810 Make sure CURL sets the ResourceResponse URL and calls
2811 didReceiveResponse for local files too.
2813 * platform/network/curl/ResourceHandleManager.cpp:
2814 (WebCore::writeCallback):
2816 2007-12-08 Oliver Hunt <oliver@apple.com>
2820 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
2822 Fixes <rdar://problem/5620249> Must disable SVG animation
2823 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
2825 In order to allow finer grained control over the set of SVG features
2826 this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
2828 ENABLE_SVG_ANIMATION
2834 by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
2836 * Configurations/WebCore.xcconfig:
2837 * DerivedSources.make:
2838 Handle the increased number of build flags that may be necessary
2840 * WebCore.SVG.Animation.exp: Added.
2841 * WebCore.SVG.Filters.exp: Added.
2843 We now may not need the animation or filter exports so
2844 these need to be separate.
2846 * WebCore.vcproj/WebCore.vcproj:
2847 * WebCore.vcproj/build-generated-files.sh:
2848 Update for new flags
2850 Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES)
2851 with the appropriate specific feature flag.
2852 * bindings/js/JSSVGElementWrapperFactory.cpp:
2853 (WebCore::createJSSVGWrapper):
2854 * bindings/objc/DOM.mm:
2855 (WebCore::createElementClassMap):
2856 * dom/make_names.pl:
2857 * loader/CachedImage.cpp:
2858 (WebCore::CachedImage::createImage):
2859 * page/DOMWindow.idl:
2860 * rendering/RenderPath.cpp:
2861 (WebCore::RenderPath::absoluteClippedOverflowRect):
2862 * rendering/RenderSVGContainer.cpp:
2863 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2864 * rendering/RenderSVGImage.cpp:
2865 (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
2866 * rendering/RenderSVGRoot.cpp:
2867 (WebCore::RenderSVGRoot::paint):
2868 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2869 * rendering/RenderSVGText.cpp:
2870 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2871 * rendering/SVGRenderSupport.cpp:
2872 (WebCore::prepareToRenderSVGContent):
2873 (WebCore::finishRenderSVGContent):
2874 * svg/SVGAnimateElement.cpp:
2875 * svg/SVGAnimateElement.h:
2876 * svg/SVGAnimateElement.idl:
2877 * svg/SVGAnimateMotionElement.cpp:
2878 * svg/SVGAnimateMotionElement.h:
2879 * svg/SVGAnimateTransformElement.cpp:
2880 * svg/SVGAnimateTransformElement.h:
2881 * svg/SVGAnimateTransformElement.idl:
2882 * svg/SVGComponentTransferFunctionElement.cpp:
2883 * svg/SVGComponentTransferFunctionElement.h:
2884 * svg/SVGComponentTransferFunctionElement.idl:
2885 * svg/SVGDocumentExtensions.cpp:
2886 (WebCore::SVGDocumentExtensions::startAnimations):
2887 * svg/SVGFEBlendElement.cpp:
2888 * svg/SVGFEBlendElement.h:
2889 * svg/SVGFEBlendElement.idl:
2890 * svg/SVGFEColorMatrixElement.cpp:
2891 * svg/SVGFEColorMatrixElement.h:
2892 * svg/SVGFEColorMatrixElement.idl:
2893 * svg/SVGFEComponentTransferElement.cpp:
2894 * svg/SVGFEComponentTransferElement.h:
2895 * svg/SVGFEComponentTransferElement.idl:
2896 * svg/SVGFECompositeElement.cpp:
2897 * svg/SVGFECompositeElement.h:
2898 * svg/SVGFECompositeElement.idl:
2899 * svg/SVGFEDiffuseLightingElement.cpp:
2900 * svg/SVGFEDiffuseLightingElement.h:
2901 * svg/SVGFEDiffuseLightingElement.idl:
2902 * svg/SVGFEDisplacementMapElement.cpp:
2903 * svg/SVGFEDisplacementMapElement.h:
2904 * svg/SVGFEDisplacementMapElement.idl:
2905 * svg/SVGFEDistantLightElement.cpp:
2906 * svg/SVGFEDistantLightElement.h:
2907 * svg/SVGFEDistantLightElement.idl:
2908 * svg/SVGFEFloodElement.cpp:
2909 * svg/SVGFEFloodElement.h:
2910 * svg/SVGFEFloodElement.idl:
2911 * svg/SVGFEFuncAElement.cpp:
2912 * svg/SVGFEFuncAElement.h:
2913 * svg/SVGFEFuncAElement.idl:
2914 * svg/SVGFEFuncBElement.cpp:
2915 * svg/SVGFEFuncBElement.h:
2916 * svg/SVGFEFuncBElement.idl:
2917 * svg/SVGFEFuncGElement.cpp:
2918 * svg/SVGFEFuncGElement.h:
2919 * svg/SVGFEFuncGElement.idl:
2920 * svg/SVGFEFuncRElement.cpp:
2921 * svg/SVGFEFuncRElement.h:
2922 * svg/SVGFEFuncRElement.idl:
2923 * svg/SVGFEGaussianBlurElement.cpp:
2924 * svg/SVGFEGaussianBlurElement.h:
2925 * svg/SVGFEGaussianBlurElement.idl:
2926 * svg/SVGFEImageElement.cpp:
2927 * svg/SVGFEImageElement.h:
2928 * svg/SVGFEImageElement.idl:
2929 * svg/SVGFELightElement.cpp:
2930 * svg/SVGFELightElement.h:
2931 * svg/SVGFEMergeElement.cpp:
2932 * svg/SVGFEMergeElement.h:
2933 * svg/SVGFEMergeElement.idl:
2934 * svg/SVGFEMergeNodeElement.cpp:
2935 * svg/SVGFEMergeNodeElement.h:
2936 * svg/SVGFEMergeNodeElement.idl:
2937 * svg/SVGFEOffsetElement.cpp:
2938 * svg/SVGFEOffsetElement.h:
2939 * svg/SVGFEOffsetElement.idl:
2940 * svg/SVGFEPointLightElement.cpp:
2941 * svg/SVGFEPointLightElement.h:
2942 * svg/SVGFEPointLightElement.idl:
2943 * svg/SVGFESpecularLightingElement.cpp:
2944 * svg/SVGFESpecularLightingElement.h:
2945 * svg/SVGFESpecularLightingElement.idl:
2946 * svg/SVGFESpotLightElement.cpp:
2947 * svg/SVGFESpotLightElement.h:
2948 * svg/SVGFESpotLightElement.idl:
2949 * svg/SVGFETileElement.cpp:
2950 * svg/SVGFETileElement.h:
2951 * svg/SVGFETileElement.idl:
2952 * svg/SVGFETurbulenceElement.cpp:
2953 * svg/SVGFETurbulenceElement.h:
2954 * svg/SVGFETurbulenceElement.idl:
2955 * svg/SVGFilterElement.cpp:
2956 * svg/SVGFilterElement.h:
2957 * svg/SVGFilterElement.idl:
2958 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2960 (WebCore::SVGTimer::animationsByElement):
2961 * svg/SVGUseElement.cpp:
2962 (WebCore::SVGUseElement::buildPendingResource):
2963 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2964 * svg/SVGUseElement.h:
2965 * svg/TimeScheduler.cpp:
2966 (WebCore::TimeScheduler::connectIntervalTimer):
2967 (WebCore::TimeScheduler::disconnectIntervalTimer):
2968 * svg/graphics/SVGResourceFilter.cpp:
2969 * svg/graphics/SVGResourceFilter.h:
2970 * svg/graphics/cg/SVGResourceFilterCg.cpp:
2971 * svg/graphics/cg/SVGResourceFilterCg.mm:
2972 * svg/graphics/filters/SVGDistantLightSource.h:
2973 * svg/graphics/filters/SVGFEBlend.cpp:
2974 * svg/graphics/filters/SVGFEBlend.h:
2975 * svg/graphics/filters/SVGFEColorMatrix.cpp:
2976 * svg/graphics/filters/SVGFEColorMatrix.h:
2977 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
2978 * svg/graphics/filters/SVGFEComponentTransfer.h:
2979 * svg/graphics/filters/SVGFEComposite.cpp:
2980 * svg/graphics/filters/SVGFEComposite.h:
2981 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2982 * svg/graphics/filters/SVGFEConvolveMatrix.h:
2983 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2984 * svg/graphics/filters/SVGFEDiffuseLighting.h:
2985 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2986 * svg/graphics/filters/SVGFEDisplacementMap.h:
2987 * svg/graphics/filters/SVGFEFlood.cpp:
2988 * svg/graphics/filters/SVGFEFlood.h:
2989 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2990 * svg/graphics/filters/SVGFEGaussianBlur.h:
2991 * svg/graphics/filters/SVGFEImage.cpp:
2992 * svg/graphics/filters/SVGFEImage.h:
2993 * svg/graphics/filters/SVGFEMerge.cpp:
2994 * svg/graphics/filters/SVGFEMerge.h:
2995 * svg/graphics/filters/SVGFEMorphology.cpp:
2996 * svg/graphics/filters/SVGFEMorphology.h:
2997 * svg/graphics/filters/SVGFEOffset.cpp:
2998 * svg/graphics/filters/SVGFEOffset.h:
2999 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3000 * svg/graphics/filters/SVGFESpecularLighting.h:
3001 * svg/graphics/filters/SVGFETile.h:
3002 * svg/graphics/filters/SVGFETurbulence.cpp:
3003 * svg/graphics/filters/SVGFETurbulence.h:
3004 * svg/graphics/filters/SVGFilterEffect.cpp:
3005 * svg/graphics/filters/SVGFilterEffect.h:
3006 * svg/graphics/filters/SVGLightSource.cpp:
3007 * svg/graphics/filters/SVGLightSource.h:
3008 * svg/graphics/filters/SVGPointLightSource.h:
3009 * svg/graphics/filters/SVGSpotLightSource.h:
3010 * svg/graphics/filters/cg/SVGFEBlendCg.mm:
3011 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
3012 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
3013 * svg/graphics/filters/cg/SVGFECompositeCg.mm:
3014 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3015 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3016 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3017 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3018 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3019 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3020 * svg/graphics/filters/cg/SVGFEImageCg.mm:
3021 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3022 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3023 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3024 * svg/graphics/filters/cg/SVGFETileCg.mm:
3025 * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
3026 * svg/graphics/filters/cg/WKArithmeticFilter.h:
3027 * svg/graphics/filters/cg/WKArithmeticFilter.m:
3028 * svg/graphics/filters/cg/WKComponentMergeFilter.h:
3029 * svg/graphics/filters/cg/WKComponentMergeFilter.m:
3030 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
3031 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
3032 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
3033 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
3034 * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
3035 * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
3036 * svg/graphics/filters/cg/WKDistantLightFilter.h:
3037 * svg/graphics/filters/cg/WKDistantLightFilter.m:
3038 * svg/graphics/filters/cg/WKGammaTransferFilter.h:
3039 * svg/graphics/filters/cg/WKGammaTransferFilter.m:
3040 * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
3041 * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
3042 * svg/graphics/filters/cg/WKLinearTransferFilter.h:
3043 * svg/graphics/filters/cg/WKLinearTransferFilter.m:
3044 * svg/graphics/filters/cg/WKNormalMapFilter.h:
3045 * svg/graphics/filters/cg/WKNormalMapFilter.m:
3046 * svg/graphics/filters/cg/WKPointLightFilter.h:
3047 * svg/graphics/filters/cg/WKPointLightFilter.m:
3048 * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
3049 * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
3050 * svg/graphics/filters/cg/WKSpotLightFilter.h:
3051 * svg/graphics/filters/cg/WKSpotLightFilter.m:
3052 * svg/graphics/filters/cg/WKTableTransferFilter.h:
3053 * svg/graphics/filters/cg/WKTableTransferFilter.m:
3054 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
3055 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
3058 2007-12-08 Dan Bernstein <mitz@apple.com>
3060 Reviewed by Adele Peterson.
3062 - fix two bugs in parsing of stylesheets in <style> elements created by
3064 1. each such stylesheet is parsed twice, once when the text node is
3065 added and again when the </style> tag is reached
3066 2. re-inserting such a <style> element into the document fails to
3067 re-parse and apply its stylesheet.
3069 Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
3071 * html/HTMLStyleElement.cpp:
3072 (WebCore::HTMLStyleElement::finishedParsing):
3073 * svg/SVGStyleElement.cpp:
3074 (WebCore::SVGStyleElement::finishedParsing):
3076 2007-12-07 Sam Weinig <sam@webkit.org>
3080 - Removes the faulty isSafeScript implementation that was only
3082 - Renames isSafeScript to allowsAccessFrom.
3084 * bindings/js/JSDOMWindowCustom.cpp:
3085 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3086 (WebCore::JSDOMWindow::customPut):
3087 * bindings/js/kjs_dom.cpp:
3088 (WebCore::checkNodeSecurity):
3089 * bindings/js/kjs_window.cpp:
3090 (KJS::createWindow):
3091 (KJS::Window::getValueProperty):
3092 (KJS::Window::namedItemGetter):
3093 (KJS::Window::getOwnPropertySlot):
3095 (KJS::Window::allowsAccessFrom):
3096 (KJS::Window::setListener):
3097 (KJS::Window::getListener):
3098 (KJS::WindowProtoFuncOpen::callAsFunction):
3099 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
3100 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
3101 (KJS::WindowProtoFuncSetInterval::callAsFunction):
3102 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
3103 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
3104 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
3105 (KJS::Location::getOwnPropertySlot):
3106 (KJS::Location::put):
3107 (KJS::LocationProtoFuncReplace::callAsFunction):
3108 (KJS::LocationProtoFuncReload::callAsFunction):
3109 (KJS::LocationProtoFuncAssign::callAsFunction):
3110 (KJS::LocationProtoFuncToString::callAsFunction):
3111 * bindings/js/kjs_window.h:
3112 (KJS::Window::allowsAccessFrom):
3113 * bindings/objc/WebScriptObject.mm:
3114 (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
3116 * bindings/scripts/CodeGeneratorJS.pm:
3118 2007-12-08 Rob Buis <buis@kde.org>
3122 http://bugs.webkit.org/show_bug.cgi?id=15464
3123 SVGLengthList allows bad values
3125 Be more strict with svg lengths without a unit identifier.
3127 Test: svg/custom/invalid-lengthlist.svg
3129 * svg/SVGLength.cpp:
3130 (WebCore::SVGLength::setValueAsString):
3132 2007-12-08 Rob Buis <buis@kde.org>
3134 Mac Tiger build fix.
3136 Use the wtf prefix when including MathExtras.h.
3138 * rendering/RenderMedia.cpp:
3140 2007-12-08 Alp Toker <alp@atoker.com>
3142 GTK+ build fix (for ENABLE_VIDEO builds):
3144 Include MathExtras.h to get isfinite().
3146 * rendering/RenderMedia.cpp:
3148 2007-12-08 Rob Buis <buis@kde.org>
3152 http://bugs.webkit.org/show_bug.cgi?id=15528
3153 svg_dynamic_cast should be removed
3155 Replace svg_dynamic_cast with a combination of
3156 isSVGElement and static_cast.
3158 * rendering/SVGRootInlineBox.cpp:
3159 (WebCore::SVGRootInlineBox::buildLayoutInformation):
3160 (WebCore::SVGRootInlineBox::buildTextChunks):
3161 * svg/SVGAnimationElement.cpp:
3162 (WebCore::SVGAnimationElement::targetElement):
3164 * svg/SVGElementInstance.cpp:
3165 (WebCore::SVGElementInstance::updateInstance):
3166 * svg/SVGFilterElement.cpp:
3167 (WebCore::SVGFilterElement::canvasResource):
3168 * svg/SVGGradientElement.cpp:
3169 (WebCore::SVGGradientElement::buildStops):
3170 * svg/SVGLocatable.cpp:
3171 (WebCore::SVGLocatable::getTransformToElement):
3172 * svg/SVGMaskElement.cpp:
3173 (WebCore::SVGMaskElement::drawMaskerContent):
3174 * svg/SVGSwitchElement.cpp:
3175 (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3176 * svg/SVGUseElement.cpp:
3177 (WebCore::SVGUseElement::insertedIntoDocument):
3178 (WebCore::SVGUseElement::buildPendingResource):
3179 (WebCore::SVGUseElement::buildInstanceTree):
3180 (WebCore::SVGUseElement::handleDeepUseReferencing):
3181 (WebCore::SVGUseElement::buildShadowTree):
3182 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3183 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3184 * svg/graphics/SVGResource.cpp:
3185 (WebCore::getResourceById):
3187 2007-12-07 Antti Koivisto <antti@apple.com>
3191 Partial fix for <rdar://problem/5633400>
3192 Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
3194 Fix video painting when transform is applied.
3196 Test: media/video-transformed.html
3198 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3199 (WebCore::MediaPlayerPrivate::paint):
3201 2007-12-07 Dan Bernstein <mitz@apple.com>
3203 Reviewed by Sam Weinig.
3205 - fix http://bugs.webkit.org/show_bug.cgi?id=16348
3206 @font-face does not affect the default style
3208 Test: fast/css/font-face-default-font.html
3211 (WebCore::Document::recalcStyle): Pass our font selector to
3212 Font::update() if we already have one.
3214 2007-12-07 Darin Adler <darin@apple.com>
3218 * bridge/win/GlobalHistoryWin.cpp:
3219 (WebCore::historyContains): Missed a rename.
3221 2007-12-07 Brady Eidson <beidson@apple.com>
3223 Reviewed by Anders and Darin
3225 When a statement bumps up against the quota and the UI Delegate grants more space, we need to
3226 actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
3227 in the DatabaseTracker, which was already done)
3229 * storage/SQLTransaction.cpp:
3230 (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
3231 the SQLiteDatabase to the new maximum size
3233 2007-12-07 Darin Adler <darin@apple.com>
3237 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
3238 QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
3240 2007-12-07 Darin Adler <darin@apple.com>
3242 - fix 64-bit build, hopefully without breaking Tiger build
3244 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3245 (WebCore::MediaPlayerPrivate::updateStates):
3246 Don't use Movies.h constants that are nonexistent in 64-bit.
3247 Define the new QTMovie.h constants, though, when using an older QTKit.
3249 2007-12-07 Brady Eidson <beidson@apple.com>
3253 Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
3255 * storage/DatabaseTracker.cpp:
3256 (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
3257 (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
3258 * storage/DatabaseTracker.h:
3260 2007-12-07 Darin Adler <darin@apple.com>
3264 - http://bugs.webkit.org/show_bug.cgi?id=15981
3265 speed up visited-link code a bit
3267 * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
3268 instead of requiring a DeprecatedString.
3270 * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
3271 Also removes pointless "fast Latin-1" case that was never used.
3272 * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
3273 * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3274 * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3276 * css/CSSStyleSelector.cpp:
3277 (WebCore::findHash): Added. Helper for cleanpath.
3278 (WebCore::findSlashDotDotSlash): Ditto.
3279 (WebCore::findSlashSlash): Ditto.
3280 (WebCore::findSlashDotSlash): Ditto.
3281 (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
3282 DeprecatedString find function.
3283 (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
3284 (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
3285 instead of an AtomicString for the attribute value. Changed to use fast helper function
3286 instead of slower DeprecatedString::contains function, and also made the fast case not
3287 bother allocating a DeprecatedConstString.
3289 - unrelated tiny cleanup
3291 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3292 (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
3293 (WebCore::cgGradientCallback): Ditto.
3295 2007-12-07 Darin Adler <darin@apple.com>
3297 Fix build on Tiger (Mark Rowe told me how).
3299 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3300 Include <objc/objc-runtime.h>, which existed back on Tiger,
3301 rather than <objc/runtime.h>, which did not.
3303 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3305 Build fix: rolling out last build fix to change #include path.
3307 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3309 2007-12-07 Steve Falkenburg <sfalken@apple.com>
3311 Re-named our B&I flag from BUILDBOT to PRODUCTION.
3313 Reviewed by Sam Weinig.
3315 * WebCore.vcproj/WebCore.make:
3317 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3319 Build fix: corrected #include path.
3321 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3323 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3325 Reviewed by Sam Weinig.
3327 Added some namespace qualifications and a forwarding header, now that
3328 KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
3330 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
3331 * bindings/js/JSXSLTProcessor.cpp:
3332 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
3333 * bindings/js/kjs_binding.cpp:
3334 (KJS::ScriptInterpreter::getDOMNodeForDocument):
3335 (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3336 (KJS::ScriptInterpreter::putDOMNodeForDocument):
3337 (KJS::ScriptInterpreter::markDOMNodesForDocument):
3338 (KJS::ScriptInterpreter::updateDOMNodeDocument):
3340 2007-12-07 Adam Roben <aroben@apple.com>
3342 Add SoftLinking.h for Windows and use it in a few places
3346 * WebCore.vcproj/WebCore.vcproj: Added new file to project.
3347 * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
3348 (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
3350 (WebCore::PlatformScrollbar::paintButton): Check for the presence of
3351 the SafariTheme library now that we can't check for the presence of
3352 paintThemePart directly.
3353 (WebCore::PlatformScrollbar::paintTrack): Ditto.
3354 (WebCore::PlatformScrollbar::paintThumb): Ditto.
3355 * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
3356 * rendering/RenderThemeSafari.cpp: Same basic changes as to
3357 PlatformScrollBarSafari.cpp.
3358 (WebCore::RenderThemeSafari::RenderThemeSafari):
3359 (WebCore::RenderThemeSafari::isControlStyled):
3360 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3361 * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
3363 2007-12-07 Darin Adler <darin@apple.com>
3367 - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
3368 at WebCore::HTMLSelectElement::saveState const + 152
3370 Test: fast/forms/select-set-inner.html
3372 * dom/ContainerNode.cpp:
3373 (WebCore::ContainerNode::removeChildren): Added a return value, as with other
3374 calls that change children, so we can optimize for the case where it does nothing.
3375 (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
3376 * dom/ContainerNode.h: See above.
3378 * html/HTMLOptGroupElement.cpp:
3379 (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
3380 recalcSelectOptions in that case.
3381 (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
3382 addChild, for consistency with HTMLSelectElement; no need to override both.
3383 (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
3384 * html/HTMLOptGroupElement.h: See above.
3386 * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
3387 override childrenChanged, and addChild calls that.
3388 (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
3389 recalcSelectOptions in that case.
3390 (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
3391 by using a for loop and traverseNextSibling. Also added some new comments and
3392 removed some obsolete ones.
3393 (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
3394 sure we don't have a stale list items vector.
3395 * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
3396 This will help us catch cases where we have too few calls to setRecalcListItems.
3398 2007-12-07 Dan Bernstein <mitz@apple.com>
3400 Reviewed by Darin Adler.
3402 - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3404 Test: fast/repaint/focus-ring.html
3406 * editing/SelectionController.cpp:
3407 (WebCore::SelectionController::caretRepaintRect): Changed to return just
3408 the caret rect without any padding.
3409 (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
3410 just the caret rect without any padding.
3411 * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
3412 clearFocusRingClip().
3413 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3414 * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
3415 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
3416 m_focusRingClip member.
3417 * platform/graphics/mac/GraphicsContextMac.mm:
3418 (WebCore::GraphicsContext::drawFocusRing): Changed to call
3419 wkDrawFocusRing() once without setting up additional clip. On Leopard,
3420 wkDrawFocusRing() respects the context clip now. On Tiger, a
3421 transparency layer is used to apply clipping to the focus ring.
3422 * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
3424 * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
3425 * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
3426 to wkDrawFocusRing().
3427 * platform/mac/WebCoreSystemInterface.mm: Ditto.
3428 * rendering/RenderLayer.cpp:
3429 (WebCore::setClip): Removed call to set the focus ring clip.
3430 (WebCore::restoreClip): Removed call to reset the focus ring clip.
3432 2007-12-07 Darin Adler <darin@apple.com>
3434 Reviewed by Antti Koivisto and Kevin Decker.
3436 - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
3438 Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
3440 * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
3442 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
3443 Made a lot more functions const. Made a few more members private and a couple inline.
3444 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
3445 things we currently use in QTKit. It's a little more awkward for classes and other data objects
3446 than it is for functions, but still relatively straightforward, with no changes needed to the
3447 client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
3448 it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
3449 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
3451 (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
3452 (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
3453 (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
3454 Changed to use long instead of int because that's the type for a QTTime time scale anyway.
3455 (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
3456 (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
3457 (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
3458 points set to avoid a potential problem with a set being modified as we iterate it.
3459 (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
3460 (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
3461 values, used the constants from the headers directly.
3462 (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
3463 pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
3464 of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
3465 no better). Used RetainPtr instead of explicit CFRelease calls.
3467 * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
3468 It's not quite as automatic as the soft linking we can do for functions, since these define
3469 functions to get the values, so you need to define macros to make what look like variable
3470 accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
3472 * html/HTMLMediaElement.h:
3473 * html/TimeRanges.h:
3474 * html/VoidCallback.h:
3475 * platform/graphics/MediaPlayer.h:
3476 Use angle brackets for wtf includes. Omit unneeded includes.
3478 2007-12-07 Dan Bernstein <mitz@apple.com>
3480 Reviewed by Darin Adler.
3482 - fix http://bugs.webkit.org/show_bug.cgi?id=16334
3483 <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
3485 Test: fast/dynamic/subtree-no-common-root-static-y.html
3487 * rendering/RenderObject.cpp:
3488 (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
3489 to setChildNeedsLayout() to not mark containing blocks and added a
3490 separate call to markContainingBlocksForLayout() that will not schedule
3491 a layout if we are already in the middle of scheduleRelayoutOfSubtree().
3493 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
3497 http://bugs.webkit.org/show_bug.cgi?id=16325
3498 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
3500 Test: http/tests/misc/empty-cookie.html
3502 * platform/mac/CookieJar.mm:
3503 (WebCore::setCookies): Don't store empty cookies.
3504 (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
3505 with an earlier version of Leopard!
3507 2007-12-06 Ada Chan <adachan@apple.com>
3509 Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
3510 returning true when there's an error).
3514 * platform/win/FileSystemWin.cpp:
3515 (WebCore::makeAllDirectories):
3517 2007-12-06 Darin Adler <darin@apple.com>
3519 - fix broken regression test
3521 * bindings/js/kjs_binding.cpp:
3522 (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
3524 2007-12-06 Darin Adler <darin@apple.com>
3526 Reviewed by Sam Weinig.
3528 - fix http://bugs.webkit.org/show_bug.cgi?id=16332
3529 ObjC DOM exception object descriptions should include the exception name
3531 * WebCore.pro: Added ExceptionCode.cpp.
3532 * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
3533 * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
3534 * WebCoreSources.bkl: Added ExceptionCode.cpp.
3536 * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
3537 ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
3538 the many unneeded includes that were here. Had to keep one special case here, for
3541 * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
3542 new getExceptionCodeDescription function so that this shares the exception name
3543 information that was previously only available to JavaScript.
3545 * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
3546 (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
3547 handle exception names in a slightly more robust way that is not subject to integer
3548 overflow. (Not a real world issue since we should never receive a bad exception code.)
3550 * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
3551 getExceptionCodeDescription function.
3553 * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
3554 the comments were mildly helpful, but others were incorrect. This now matches the other
3555 exception-related headers such as RangeException.h.