1 2007-12-18 Brady Eidson <beidson@apple.com>
5 <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
7 Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
8 protected by authentication. Occasionally one can view the main page of a site but the favicon
9 is behind the iron curtain - in these cases, we should *not* prompt for a username and password
10 solely for the favicon.
12 * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
14 * loader/SubresourceLoader.cpp:
15 (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
16 is virtual from ResourceLoader, SubresourceLoader can override. First call to the
17 SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let
18 ResourceLoader work its magic (resulting in the auth sheet coming down)
19 * loader/SubresourceLoader.h:
21 * loader/SubresourceLoaderClient.h:
22 (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
24 * loader/icon/IconLoader.cpp:
25 (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
26 never prompt the user for credentials just for a favicon.
27 * loader/icon/IconLoader.h:
29 2007-12-18 John Sullivan <sullivan@apple.com>
33 - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
35 * storage/DatabaseTracker.cpp:
36 (WebCore::DatabaseTracker::canEstablishDatabase):
37 pass "name" instead of "displayName" if there's no displayName
39 2007-12-17 Dan Bernstein <mitz@apple.com>
41 Reviewed by Maciej Stachowiak.
43 - restore ButtonFace and ThreeDFace to their previous values for non-Mac
44 platforms. The Mac port also uses the same values for now instead
45 of NSColor-based ones.
47 * rendering/RenderTheme.cpp:
48 (WebCore::RenderTheme::systemColor):
50 2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com>
52 Reviewed by Maciej Stachowiak.
54 Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
55 Add required Frame::createScriptInstanceForWidget to FrameGtk
58 * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
60 2007-12-17 Alice Liu <alice.liu@apple.com>
64 Fixed <rdar://5566435> window with no scrollbars can be scrolled
66 * platform/win/ScrollViewWin.cpp:
67 (WebCore::ScrollView::maximumScroll):
68 corrected maximumScroll() to account for scrolling not allowed.
69 (WebCore::ScrollView::wheelEvent):
71 2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
73 Reviewed by Alp Toker.
75 http://bugs.webkit.org/show_bug.cgi?id=16042
76 [GTK] Eliminate webkit_init()
78 Move webkit initialization to WebView class init.
82 2007-12-17 Jon Honeycutt <jhoneycutt@apple.com>
86 <rdar://problem/5651291> REGRESSION: Flash content doesn't display
89 We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
91 * plugins/win/PluginViewWin.cpp:
92 (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
94 (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
95 (WebCore::PluginViewWin::handleKeyboardEvent): same
96 (WebCore::PluginViewWin::handleMouseEvent): same
97 * plugins/win/PluginViewWin.h:
99 2007-12-17 Alexey Proskuryakov <ap@webkit.org>
103 Live to the promise of never making AppKit special character codes visible via DOM.
105 Test: fast/events/arrow-keys-on-body.html
107 * page/EventHandler.cpp:
108 (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
109 to let quirks-aware code strip special charactrers.
110 * platform/mac/KeyEventMac.mm:
111 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
112 mode, remove the text if it's a special character.
114 2007-12-17 Mark Rowe <mrowe@apple.com>
116 Reviewed by Darin Adler.
118 Fix incorrect array size and incorrect array index in convertNSColorToColor.
120 * rendering/RenderThemeMac.mm:
121 (WebCore::convertNSColorToColor):
123 2007-12-17 Darin Adler <darin@apple.com>
125 Reviewed by Mark Rowe.
127 - fix http://bugs.webkit.org/show_bug.cgi?id=16468
128 REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
130 * storage/DatabaseThread.cpp:
131 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
132 because there's no guarantee it won't lose its last reference otherwise.
134 2007-12-17 Dan Bernstein <mitz@apple.com>
136 Reviewed by Maciej Stachowiak.
138 - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
139 and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
141 * platform/graphics/win/FontCacheWin.cpp:
142 (WebCore::FontCache::getFontDataForCharacters): To ensure that font
143 linking gives consistent results for characters that are exclusive to
144 the simplified Chinese code page and characters that belong to that
145 code page and other code pages, always ask to map to simplified Chinese
148 2007-12-17 Christian Dywan <christian@twotoasts.de>
150 Reviewed by Alp Toker.
152 http://bugs.webkit.org/show_bug.cgi?id=16378
153 Implement Icon for Gtk
155 Icon provides a GdkPixbuf containing a themed icon.
156 The icon theme is probed for an icon name according to the
157 Icon Naming Specification or conventional Gnome icon names respectively.
159 See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
161 * platform/graphics/Icon.h:
162 * platform/graphics/gtk/IconGtk.cpp:
163 (WebCore::Icon::~Icon):
164 (WebCore::lookupIconName):
165 (WebCore::Icon::newIconForFile):
166 (WebCore::Icon::paint):
168 2007-12-16 Sam Weinig <sam@webkit.org>
172 Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
173 Move the JS Location object to its own file
175 - Move Location into its own file and rename it JSLocation.
177 * DerivedSources.make:
179 * WebCore.vcproj/WebCore.vcproj:
180 * WebCore.xcodeproj/project.pbxproj:
181 * WebCoreSources.bkl:
182 * bindings/js/JSDocumentCustom.cpp:
183 * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
185 (WebCore::JSLocation::JSLocation):
186 (WebCore::JSLocation::getValueProperty):
187 (WebCore::JSLocation::getOwnPropertySlot):
188 (WebCore::JSLocation::put):
189 (WebCore::JSLocationProtoFuncReplace::callAsFunction):
190 (WebCore::JSLocationProtoFuncReload::callAsFunction):
191 (WebCore::JSLocationProtoFuncAssign::callAsFunction):
192 (WebCore::JSLocationProtoFuncToString::callAsFunction):
193 * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
194 (WebCore::JSLocation::):
195 (WebCore::JSLocation::frame):
196 (WebCore::JSLocation::classInfo):
197 * bindings/js/kjs_window.cpp:
198 (KJS::Window::location):
199 * bindings/js/kjs_window.h:
200 * history/CachedPage.cpp:
202 2007-12-16 Dan Bernstein <mitz@apple.com>
204 Reviewed by Sam Weinig.
206 - make 'cursor: copy' and 'cursor: none' work.
208 Already covered by manual-tests/cursor.html
210 * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
211 needed for the 33rd and 34th cursor values.
213 2007-12-16 Mark Rowe <mrowe@apple.com>
215 Reviewed by Maciej Stachowiak.
217 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
220 * WebCore.xcodeproj/project.pbxproj:
221 * loader/NetscapePlugInStreamLoader.h:
222 * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
223 * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
225 2007-12-16 Sam Weinig <sam@webkit.org>
229 Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
232 - Move ScheduledAction into its own file and put it in the WebCore namespace.
235 * WebCore.vcproj/WebCore.vcproj:
236 * WebCore.xcodeproj/project.pbxproj:
237 * WebCoreSources.bkl:
238 * bindings/js/PausedTimeouts.cpp:
239 * bindings/js/PausedTimeouts.h:
240 * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
241 (WebCore::ScheduledAction::ScheduledAction):
242 (WebCore::ScheduledAction::execute):
243 * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
244 (WebCore::ScheduledAction::ScheduledAction):
245 * bindings/js/kjs_window.cpp:
246 (KJS::DOMWindowTimer::DOMWindowTimer):
247 (KJS::DOMWindowTimer::action):
248 (KJS::DOMWindowTimer::takeAction):
249 (KJS::Window::installTimeout):
250 (KJS::Window::timerFired):
251 * bindings/js/kjs_window.h:
253 2007-12-16 Alp Toker <alp@atoker.com>
257 http://bugs.webkit.org/show_bug.cgi?id=16356
258 [GTK] Integrate GStreamer video with the graphics backend
260 Integrate the GStreamer media backend with the Cairo graphics backend.
261 There are still some issues: Data is copied more often than necessary,
262 and repaint() is not called, causing transformed video not to update
266 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
267 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
268 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
269 (WebCore::MediaPlayerPrivate::currentTime):
270 (WebCore::MediaPlayerPrivate::setEndTime):
271 (WebCore::MediaPlayerPrivate::seeking):
272 (WebCore::MediaPlayerPrivate::naturalSize):
273 (WebCore::MediaPlayerPrivate::setMuted):
274 (WebCore::MediaPlayerPrivate::setRect):
275 (WebCore::MediaPlayerPrivate::setVisible):
276 (WebCore::MediaPlayerPrivate::repaint):
277 (WebCore::MediaPlayerPrivate::paint):
278 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
279 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
280 * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
281 (webkit_video_sink_base_init):
282 (webkit_video_sink_init):
283 (webkit_video_sink_idle_func):
284 (webkit_video_sink_render):
285 (webkit_video_sink_set_caps):
286 (webkit_video_sink_dispose):
287 (webkit_video_sink_finalize):
288 (webkit_video_sink_set_property):
289 (webkit_video_sink_get_property):
290 (webkit_video_sink_stop):
291 (webkit_video_sink_class_init):
292 (webkit_video_sink_new):
293 (webkit_video_sink_set_surface):
295 * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
297 2007-12-16 Mark Rowe <mrowe@apple.com>
301 * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
302 Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
303 new shared implementation.
305 2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com>
307 Reviewed by Maciej Stachowiak.
309 http://bugs.webkit.org/show_bug.cgi?id=16389
310 Bug 16389: Common Implementation of NetscapePlugInStreamLoader
312 * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
313 * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
314 * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
316 2007-12-16 Grace Kloba <klobag@gmail.com>
318 Reviewed by Darin Adler.
320 Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
321 Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
324 (WebCore::Document::Document):
325 * loader/FrameLoader.cpp:
326 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
327 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
329 2007-12-16 Darin Adler <darin@apple.com>
333 - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
335 Test: storage/execute-sql-args.html
337 * bindings/js/JSSQLTransactionCustom.cpp:
338 (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
339 exception happens, we won't try to do any more argument processing. Changed processing
340 of the second argument so that we allow an undefined value or null, and simply omit the
341 array. Changed processing of the second argument so that we don't require an actual
342 JavaScript array. Instead, as with the JavaScript array operations themselves, we use
343 the length property and corresponding numeric properties of the object, allowing other
344 objects to act as arrays. Changed processing of the third and fourth arguments to
345 allow the undefined value as well as null; we check the value of the argument rather
346 than looking at the size of the passed-in arguments list.
348 2007-12-16 Sam Weinig <sam@webkit.org>
352 More of http://bugs.webkit.org/show_bug.cgi?id=16385
355 - Move PausedTimeouts into its own file and put it in the WebCore namespace.
358 * WebCore.vcproj/WebCore.vcproj:
359 * WebCore.xcodeproj/project.pbxproj:
360 * WebCoreSources.bkl:
361 * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
362 * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
363 * bindings/js/kjs_window.cpp:
364 (KJS::Window::pauseTimeouts):
365 * bindings/js/kjs_window.h:
366 * history/CachedPage.cpp:
367 * history/CachedPage.h:
370 2007-12-16 Beth Dakin <bdakin@apple.com>
374 Make relative-size SVGs work in border-image.
376 * rendering/RenderBox.cpp:
377 (WebCore::RenderBox::calculateBackgroundSize):
378 * rendering/RenderObject.cpp:
379 (WebCore::RenderObject::paintBorderImage):
381 2007-12-16 Darin Adler <darin@apple.com>
383 - fix Tiger build (my fault it was broken)
385 * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
387 2007-12-16 Andrew Wellington <proton@wiretapped.net>
391 http://bugs.webkit.org/show_bug.cgi?id=6129
392 Incomplete implementation of CSS 2.1 system colors
394 Test: fast/css/css2-system-color.html
396 Based on original patch by Rob Buis.
398 System colors are retrieved from NSColor as appropriate. If the color is a pattern color
399 (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
400 color and sample that to get a solid color.
402 * css/CSSStyleSelector.cpp:
404 (WebCore::colorForCSSValue):
405 * rendering/RenderTheme.cpp:
406 (WebCore::RenderTheme::systemColor):
407 * rendering/RenderTheme.h:
408 * rendering/RenderThemeMac.h:
409 * rendering/RenderThemeMac.mm:
410 (WebCore::getSystemColor):
411 (WebCore::RenderThemeMac::platformColorsDidChange):
412 (WebCore::RenderThemeMac::systemColor):
414 2007-12-16 Dan Bernstein <mitz@apple.com>
416 Reviewed by Darin Adler.
418 - fix http://bugs.webkit.org/show_bug.cgi?id=16426
419 Divs with overflow:auto: scrollbars not correctly updated when contents change
421 Test: fast/overflow/scrollbar-position-update.html
423 * platform/mac/PlatformScrollBarMac.mm:
424 (WebCore::PlatformScrollbar::updateThumbProportion): Update the
425 NSScroller's value for the new proportions.
426 * rendering/RenderLayer.cpp:
427 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
428 repaint(). Scrollbars repaint themselves as needed.
430 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
434 http://bugs.webkit.org/show_bug.cgi?id=14140
435 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
437 * dom/KeyboardEvent.h:
438 (WebCore::KeypressCommand::KeypressCommand):
439 (WebCore::KeyboardEvent::keypressCommands):
440 Change stored command class to preserve complete information about commands.
442 * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
443 command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
446 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
447 a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
449 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
453 http://bugs.webkit.org/show_bug.cgi?id=16462
454 REGRESSION: access keys broken on Windows
456 * page/EventHandler.cpp:
457 (WebCore::EventHandler::handleAccessKey):
458 (WebCore::EventHandler::keyEvent):
459 * page/EventHandler.h:
460 Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
462 2007-12-16 Xan Lopez <xan@gnome.org>
464 Reviewed by Alexey Proskuryakov.
466 http://bugs.webkit.org/show_bug.cgi?id=16454
467 [GTK] Text input doesn't work consistently on PPC
469 * platform/gtk/KeyEventGtk.cpp:
470 (WebCore::singleCharacterString):
472 UChar is 2 bytes (UTF-16), so transform accordingly from
473 gunichar (UCS-4). Fixes keyboard input on big endian systems.
475 2007-12-15 Darin Adler <darin@apple.com>
477 Reviewed by Mark Rowe.
479 - better build fix for the problem affecting GTK and some other platforms
482 * WebCore.xcodeproj/project.pbxproj:
483 * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
484 * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
485 which won't work, declare the tables that are in the .lut.h file in the header.
487 2007-12-12 Kevin Watters <kevin@dotsyntax.com>
489 Reviewed by Darin Adler.
491 Fixed the Wx port's FontPlatformData for use in HashTable.
492 - FontPlatformData(Deleted) made unequal to FontPlatformData()
494 * platform/graphics/wx/FontPlatformData
496 2007-12-15 Dan Bernstein <mitz@apple.com>
498 Reviewed by Darin Adler.
500 - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
502 * platform/graphics/win/FontCacheWin.cpp:
503 (WebCore::metaFileEnumProc): Added. Called during metafile record
504 enumeration and extracts the font from the create font record.
505 (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
506 let Uniscribe draw the characters and see what font it chooses.
508 2007-12-15 Darin Adler <darin@apple.com>
510 * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
512 2007-12-15 Darin Adler <darin@apple.com>
514 Another try at a GTK build fix.
516 * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
518 2007-12-15 Sam Weinig <sam@webkit.org>
520 Force windows to regenerate COM DOM bindings.
522 * WebCore.vcproj/build-generated-files.sh: Add license.
523 * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
525 2007-12-15 Sam Weinig <sam@webkit.org>
527 Fix Windows and wx builds.
529 * WebCore.vcproj/WebCore.vcproj:
530 * WebCoreSources.bkl:
532 2007-12-15 Mark Rowe <mrowe@apple.com>
534 Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
538 2007-12-15 Sam Weinig <sam@webkit.org>
542 * WebCoreSources.bkl:
544 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
546 Not reviewed. Build fix for Qt/Gtk.
548 * WebCore.pro: Include JSEventTargetBase.lut.h in generation
550 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
554 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
556 Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
557 in the base class. Applied the same refactorization to EventTargetNode.
559 This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
560 to share as much code as possible with the EventTargetNode classes.
562 * DerivedSources.make:
563 * WebCore.xcodeproj/project.pbxproj:
564 * bindings/js/JSEventTargetBase.cpp: Added.
565 (WebCore::retrieveEventTargetAndCorrespondingNode):
566 (WebCore::eventNameForPropertyToken):
567 * bindings/js/JSEventTargetBase.h: Added.
568 (WebCore::JSEventTargetProperties::):
569 (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
570 (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
573 (WebCore::JSEventTargetBase::JSEventTargetBase):
574 (WebCore::JSEventTargetBase::getValueProperty):
575 (WebCore::JSEventTargetBase::putValueProperty):
576 (WebCore::JSEventTargetBase::getOwnPropertySlot):
577 (WebCore::JSEventTargetBase::put):
578 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
579 (WebCore::JSEventTargetPrototype::self):
580 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
581 (WebCore::JSEventTargetPrototype::classInfo):
582 * bindings/js/JSEventTargetNode.cpp:
583 (WebCore::JSEventTargetNode::getOwnPropertySlot):
584 (WebCore::JSEventTargetNode::getValueProperty):
585 (WebCore::JSEventTargetNode::put):
586 (WebCore::JSEventTargetNode::putValueProperty):
587 (WebCore::JSEventTargetNode::setListener):
588 (WebCore::toEventTargetNode):
589 * bindings/js/JSEventTargetNode.h:
590 (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
591 (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
592 * dom/EventTarget.cpp:
593 (WebCore::EventTarget::addEventListener):
594 (WebCore::EventTarget::removeEventListener):
595 (WebCore::EventTarget::dispatchGenericEvent):
596 (WebCore::EventTarget::removeAllEventListeners):
597 (WebCore::EventTarget::insertedIntoDocument):
598 (WebCore::EventTarget::removedFromDocument):
599 (WebCore::EventTarget::handleLocalEvents):
600 (WebCore::EventTarget::applySVGEventTargetRules):
601 (WebCore::forbidEventDispatch):
602 (WebCore::allowEventDispatch):
603 (WebCore::eventDispatchForbidden):
605 (WebCore::EventTarget::preDispatchEventHandler):
606 (WebCore::EventTarget::postDispatchEventHandler):
607 (WebCore::forbidEventDispatch):
608 (WebCore::allowEventDispatch):
609 * dom/EventTargetNode.cpp:
610 (WebCore::EventTargetNode::~EventTargetNode):
611 (WebCore::EventTargetNode::insertedIntoDocument):
612 (WebCore::EventTargetNode::removedFromDocument):
613 (WebCore::EventTargetNode::addEventListener):
614 (WebCore::EventTargetNode::removeEventListener):
615 (WebCore::EventTargetNode::removeAllEventListeners):
616 (WebCore::EventTargetNode::handleLocalEvents):
617 (WebCore::EventTargetNode::dispatchEvent):
618 (WebCore::EventTargetNode::dispatchWindowEvent):
619 * dom/EventTargetNode.h:
620 (WebCore::EventTargetNode::localEventListeners):
621 * svg/SVGElement.cpp:
622 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
623 (WebCore::SVGElement::dispatchEvent):
625 2007-12-15 Eric Seidel <eric@webkit.org>
629 Width of SVG elements not applied to container elements
630 http://bugs.webkit.org/show_bug.cgi?id=16305
631 Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
632 This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
634 svg/css/css-box-min-width.html
636 * rendering/RenderSVGRoot.cpp:
637 (WebCore::RenderSVGRoot::calcPrefWidths): Added.
638 * rendering/RenderSVGRoot.h:
639 * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
641 2007-12-15 David Kilzer <ddkilzer@apple.com>
643 Fix comment after isSafeScript() was renamed to allowsAccessFrom().
645 * bindings/js/kjs_window.cpp:
648 2007-12-15 Alp Toker <alp@atoker.com>
650 Reviewed by Mark Rowe.
652 http://bugs.webkit.org/show_bug.cgi?id=16449
653 cairo_arc() functions hang or crash when passed inf as radius or start/end angle
655 Add checks. This matches a similar workaround for a CG bug in the CG
656 graphics backend: <rdar://problem/5189233>
659 fast/canvas/arc-crash.html
660 fast/canvas/canvas-with-incorrect-args.html
662 * platform/graphics/cairo/PathCairo.cpp:
663 (WebCore::Path::addArc):
665 2007-12-15 Alexey Proskuryakov <ap@webkit.org>
669 http://bugs.webkit.org/show_bug.cgi?id=16078
670 Google Maps zooming via the scroll wheel (almost) always zooms IN only.
672 * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
673 Ensure that delta is never rounded down to zero - we are getting values less than 1 from
674 many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
676 2007-12-14 Dan Bernstein <mitz@apple.com>
680 * WebCore.vcproj/WebCore.vcproj:
682 2007-12-14 Alp Toker <alp@atoker.com>
684 GTK+/Qt build fix. Track added files in r28722.
688 2007-12-14 Sam Weinig <sam@webkit.org>
692 Speed up getElementByClassName.
693 - This makes getElementByClassName 33% faster on the stress test
694 linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
696 * platform/text/StringImpl.cpp:
697 (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
699 2007-12-14 Alp Toker <alp@atoker.com>
703 http://bugs.webkit.org/show_bug.cgi?id=16432
704 [GTK] Update license headers
706 Consent has been given by the authors of these files to change license
707 to the LGPL as outlined in the bug report.
709 * platform/gtk/ClipboardGtk.cpp:
710 * platform/gtk/ContextMenuGtk.cpp:
711 * platform/gtk/ContextMenuItemGtk.cpp:
712 * platform/gtk/CookieJarGtk.cpp:
713 * platform/gtk/CursorGtk.cpp:
714 * platform/gtk/DragDataGtk.cpp:
715 * platform/gtk/DragImageGtk.cpp:
716 * platform/gtk/PasteboardGtk.cpp:
717 * platform/gtk/PlatformScreenGtk.cpp:
718 * platform/gtk/PlatformScrollBarGtk.cpp:
719 * platform/gtk/SearchPopupMenuGtk.cpp:
720 * platform/gtk/WidgetGtk.cpp:
722 2007-12-14 Darin Adler <darin@apple.com>
726 - fix http://bugs.webkit.org/show_bug.cgi?id=16442
727 navigation policy delegate gets called twice for each load
729 * loader/MainResourceLoader.cpp:
730 (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
731 That's handled by FrameLoader.
733 * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
734 and continueAfterNavigationPolicy.
736 2007-12-14 Anders Carlsson <andersca@apple.com>
740 Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
741 return nil in that case.
743 * loader/FrameLoader.cpp:
744 (WebCore::FrameLoader::didExplicitOpen):
746 2007-12-14 David Smith <catfish.man@gmail.com>
750 - fix http://bugs.webkit.org/show_bug.cgi?id=14955
751 Implement getElementsByClassName.
753 This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
754 and takes advantage of admitting that it's class-specific to encapsulate class attribute
755 parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
756 list to store the class names.
758 Tests: fast/dom/getElementsByClassName/001.html
759 fast/dom/getElementsByClassName/002.html
760 fast/dom/getElementsByClassName/003.html
761 fast/dom/getElementsByClassName/004.html
762 fast/dom/getElementsByClassName/005.html
763 fast/dom/getElementsByClassName/006.html
764 fast/dom/getElementsByClassName/007.html
765 fast/dom/getElementsByClassName/008.html
766 fast/dom/getElementsByClassName/009.html
767 fast/dom/getElementsByClassName/010.xml
768 fast/dom/getElementsByClassName/011.xml
769 fast/dom/getElementsByClassName/012.html
770 fast/dom/getElementsByClassName/013.html
771 fast/dom/getElementsByClassName/014.html
772 fast/dom/getElementsByClassName/array/001.html
773 fast/dom/getElementsByClassName/array/002.html
774 fast/dom/getElementsByClassName/array/003.html
775 fast/dom/getElementsByClassName/array/004.html
776 fast/dom/getElementsByClassName/dumpNodeList.html
778 * WebCore.xcodeproj/project.pbxproj:
779 * css/CSSStyleSelector.cpp:
780 (WebCore::CSSStyleSelector::matchRules):
781 (WebCore::CSSStyleSelector::checkOneSelector):
782 * dom/AtomicStringList.h: Removed.
783 * dom/ClassNames.cpp: Added.
784 (WebCore::ClassNames::contains):
785 (WebCore::ClassNames::parseClassAttribute):
786 * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
787 (WebCore::ClassNames::ClassNames):
788 (WebCore::ClassNames::size):
789 (WebCore::ClassNames::clear):
790 (WebCore::ClassNames::operator[]):
791 (WebCore::isClassWhitespace):
792 * dom/ClassNodeList.cpp: Added.
793 (WebCore::ClassNodeList::ClassNodeList):
794 (WebCore::ClassNodeList::length):
795 (WebCore::ClassNodeList::item):
796 (WebCore::ClassNodeList::nodeMatches):
797 * dom/ClassNodeList.h: Added.
799 (WebCore::Document::getElementsByName):
800 (WebCore::Document::getElementsByClassName):
804 (WebCore::Element::getClassNames):
805 (WebCore::Element::getElementsByClassName):
808 * dom/NameNodeList.cpp:
809 (WebCore::NameNodeList::NameNodeList):
810 (WebCore::NameNodeList::item):
811 (WebCore::NameNodeList::nodeMatches):
812 * dom/NameNodeList.h:
813 * dom/NamedMappedAttrMap.cpp:
814 (WebCore::NamedMappedAttrMap::clearAttributes):
815 (WebCore::NamedMappedAttrMap::parseClassAttribute):
816 * dom/NamedMappedAttrMap.h:
817 (WebCore::NamedMappedAttrMap::getClassNames):
818 * dom/StyledElement.cpp:
819 (WebCore::StyledElement::getClassNames):
820 * dom/StyledElement.h:
822 2007-12-14 Darin Adler <darin@apple.com>
826 - fix http://bugs.webkit.org/show_bug.cgi?id=16351
827 FontFallbackList.h doesn't include wtf/PassRefPtr.h
829 * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
830 * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
832 2007-12-14 Darin Adler <darin@apple.com>
836 - http://bugs.webkit.org/show_bug.cgi?id=16420
837 change regression tests to use document.execCommand instead of textInputController.doCommand
839 Add a few more operations to document.execCommand.
841 Finished up the transition to the new Editor::Command, including removing
842 the Editor::execCommand function.
844 * WebCore.base.exp: Added Editor::Command::isSupported.
845 * editing/Editor.h: Removed execCommand.
846 * editing/EditorCommand.cpp:
847 (WebCore::expandSelectionToGranularity): Added.
848 (WebCore::verticalScrollDistance): Added; replaces canScroll.
849 (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
850 (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
851 (WebCore::executeDeleteForward): Ditto.
852 (WebCore::executeDeleteToBeginningOfLine): Ditto.
853 (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
854 (WebCore::executeDeleteToEndOfLine): Ditto.
855 (WebCore::executeDeleteToEndOfParagraph): Ditto.
856 (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
857 Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
858 removing the explicit scrolling, and letting it be done automatically by code that makes
859 the caret visible. In some cases the old code would scroll twice which was harmless but
861 (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
862 (WebCore::executeMovePageUp): See MovePageDown above.
863 (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
864 (WebCore::executeSelectLine): Ditto.
865 (WebCore::executeSelectParagraph): Ditto.
866 (WebCore::executeSelectSentence): Ditto.
867 (WebCore::executeSelectWord): Ditto.
868 (WebCore::executeSwapWithMark): Some small tweaks.
870 * page/ContextMenuController.cpp:
871 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
872 instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
873 bit more, but I didn't do that this time.
875 - Removed some obsolete unused code.
877 * page/mac/EventHandlerMac.mm:
878 (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
879 NSTextView. This was left over from when we used NSTextField and NSTextView for form
880 elements and is no longer used at all.
882 * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
883 of the bridge or another. We really need to find a time to tear down the rest of the
884 bridge, but that's not this patch.
886 * page/mac/WebCoreFrameBridge.mm:
887 (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
888 instead of using a method.
889 (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
890 Took out obsolete comment about matching enums (we use a single enum now and have for some
892 (-[WebCoreFrameBridge selectionGranularity]): Ditto.
894 2007-12-14 Justin Garcia <justin.garcia@apple.com>
896 Reviewed by Darin Adler.
898 <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
900 * editing/CompositeEditCommand.cpp:
901 (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
902 * editing/CompositeEditCommand.h:
903 * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
904 * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
905 * editing/InsertListCommand.cpp:
906 (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
907 it and listNode, if they exists, so that moving listChildNode doesn't put it out
908 of order. Added a test case to cover each change.
909 * editing/SplitElementCommand.cpp:
910 (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
911 tries to split a container at a bogus child, and an early return to avoid a
914 2007-12-14 Anders Carlsson <andersca@apple.com>
916 Reviewed by Darin and Geoff.
918 <rdar://problem/5619295>
919 REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
921 _NPN_CreateScriptObject doesn't take an origin root object anymore.
923 * html/HTMLPlugInElement.cpp:
924 (WebCore::HTMLPlugInElement::createNPObject):
926 (WebCore::Frame::windowScriptNPObject):
928 2007-12-14 Dan Bernstein <mitz@apple.com>
930 Reviewed by Darin Adler.
932 - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
933 which is the root cause of:
934 http://bugs.webkit.org/show_bug.cgi?id=12943
935 box-shadow: small values don't affect shadow position
936 http://bugs.webkit.org/show_bug.cgi?id=14736
937 Safari implementation of text-shadow off by 1px
939 * platform/graphics/cg/GraphicsContextCG.cpp:
940 (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
941 of the offsets passed to CGContextSetShadow* to ensure that the end
942 result after truncation is the desired integer offsets.
944 2007-12-13 Alp Toker <alp@atoker.com>
946 curl backend build fix for breakage introduced in r28709.
948 * platform/network/ResourceHandleInternal.h:
949 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
951 2007-12-13 Justin Garcia <justin.garcia@apple.com>
953 Reviewed by Oliver Hunt.
955 <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
957 * editing/InsertLineBreakCommand.cpp:
958 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
959 handle editing positions, like [input, 0];
960 * editing/InsertParagraphSeparatorCommand.cpp:
961 (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
962 off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
963 the input element itself.
964 Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
967 2007-12-13 Alp Toker <alp@atoker.com>
969 Reviewed by Oliver Hunt.
971 http://bugs.webkit.org/show_bug.cgi?id=16365
972 [cURL] Acid2 test segmentation fault
974 This patch makes the Acid2 test pass.
976 Defer the cleanup of cancelled jobs and halt further transfer as early
979 Bug found by and initial patch provided by Luca Bruno.
981 * platform/network/curl/ResourceHandleManager.cpp:
982 (WebCore::writeCallback):
983 (WebCore::headerCallback):
984 (WebCore::ResourceHandleManager::downloadTimerCallback):
985 (WebCore::ResourceHandleManager::cancel):
987 2007-12-13 Sam Weinig <sam@webkit.org>
989 Reviewed by Mark Rowe.
991 Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
993 * page/InspectorController.cpp:
994 (WebCore::moveByUnrestricted):
995 (WebCore::InspectorController::windowScriptObjectAvailable):
996 (WebCore::InspectorController::moveWindowBy):
997 * page/InspectorController.h:
998 * page/inspector/inspector.js:
1000 2007-12-13 Dan Bernstein <mitz@apple.com>
1002 Reviewed by Dave Hyatt.
1004 - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
1006 Test: fast/css/transition-timing-function.html
1008 * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
1009 not reject non-primitive non-list values, and instead made sure that the
1010 mapping functions rejected them if necessary. This allows non-primitive
1011 timing functions to be mapped.
1012 (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1013 (WebCore::CSSStyleSelector::mapBackgroundClip):
1014 (WebCore::CSSStyleSelector::mapBackgroundComposite):
1015 (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1016 (WebCore::CSSStyleSelector::mapBackgroundImage):
1017 (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1018 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1019 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1020 (WebCore::CSSStyleSelector::mapTransitionDuration):
1021 (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
1022 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
1023 (WebCore::CSSStyleSelector::mapTransitionProperty):
1024 * css/CSSTimingFunctionValue.cpp:
1025 (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
1027 * css/CSSTimingFunctionValue.h:
1028 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
1029 Added. Returns true.
1031 (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
1034 2007-12-13 Steve Falkenburg <sfalken@apple.com>
1036 Move source file generation into its own vcproj to fix build dependencies.
1040 * WebCore.vcproj/WebCore.make:
1041 * WebCore.vcproj/WebCore.sln:
1042 * WebCore.vcproj/WebCore.submit.sln:
1043 * WebCore.vcproj/WebCore.vcproj:
1044 * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
1046 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1048 Reviewed by Oliver Hunt.
1050 <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
1052 Some of the operations performed in removeHTMLFontStyle were non-undoable.
1054 I'm having trouble writing a layout test for this because I can't get DRT to
1055 perform editing operations in separate Undo steps without adding unacceptably long
1056 wait times between operations. I filed:
1058 <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
1060 * editing/ApplyStyleCommand.cpp:
1061 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1063 2007-12-13 Sam Weinig <sam@webkit.org>
1067 Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
1068 Toolbar dragged inspector cannot be moved beyond screen edges
1070 * page/InspectorController.cpp:
1071 (WebCore::moveByUnrestricted):
1072 (WebCore::InspectorController::windowScriptObjectAvailable):
1073 (WebCore::InspectorController::moveByUnrestricted):
1074 * page/InspectorController.h:
1075 * page/inspector/inspector.js:
1077 2007-12-13 Adam Roben <aroben@apple.com>
1079 Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1081 Windows Media Player has a modal message loop that will deliver
1082 messages to us at inappropriate times and we will crash if we handle
1083 them when they are delivered. In PluginViewWin, we add a quirk for
1084 Media Player to set a flag whenever we give the plugin a chance to
1085 execute code, and in SharedTimerWin we check if the plugin is
1086 executing code and repost messages if so.
1090 * platform/win/SharedTimerWin.cpp:
1091 (WebCore::TimerWindowWndProc): Repost messages if we're calling a
1093 * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
1094 setCallingPlugin(true/false).
1095 (WebCore::PluginViewWin::updateWindow):
1096 (WebCore::PluginViewWin::dispatchNPEvent):
1097 (WebCore::PluginViewWin::setNPWindowRect):
1098 (WebCore::PluginViewWin::start):
1099 (WebCore::PluginViewWin::stop):
1100 (WebCore::PluginViewWin::performRequest):
1101 (WebCore::PluginViewWin::bindingInstance):
1102 (WebCore::PluginViewWin::determineQuirks):
1103 (WebCore::PluginViewWin::setCallingPlugin): Added.
1104 (WebCore::PluginViewWin::isCallingPlugin): Added.
1105 * plugins/win/PluginViewWin.h: Added a new quirk.
1107 2007-12-13 Alp Toker <alp@atoker.com>
1109 Add a missing DEPENDPATH. Fixes non-clean builds following networking
1114 2007-12-13 Dan Bernstein <mitz@apple.com>
1116 Reviewed by Anders Carlsson.
1118 - fix regression in fast/text/international/bidi-override on Tiger
1120 * platform/graphics/GlyphPageTreeNode.cpp:
1121 (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
1122 too. I forgot to add them when I added them to treatAsZeroWidthSpace in
1125 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1127 Reviewed by Darin Adler.
1129 <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
1131 The code that checks the selected Range to see if it's inside an anchor
1132 checks ancestors of the Range's commonAncestor() but not the
1133 commonAncestor() itself, and so we'd fail to add markup for the enclosing
1134 anchor to the pasteboard.
1136 Some enclosing element getters check the node passed to the getter and some
1137 don't. There were a few places where we incorrectly assumed that enclosing
1138 element getters check the node passed to the getter, but this is the only
1139 case that I'm able to write a test case for at the moment.
1142 Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
1143 like the newer enclosing element getters. This is important because we must
1144 soon add code to the getters so that they understand that some editing positions
1145 inside nodes don't actually refer to positions inside those nodes but positions
1146 before and after them. Like [table, 0].
1147 Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
1148 n where [n, o] is the position passed to the getter, instead of starting the the parent
1149 of n. This makes all but a few of the enclosing element getters behave consistently.
1150 Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
1151 nodes if the input position was editable. This fixes a bug that that the above change
1153 Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
1154 this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
1155 unless doing so would affect readability, like it would in the case of enclosingTableCell.
1156 Ditto for enclosingBlock.
1158 * editing/AppendNodeCommand.cpp:
1159 (WebCore::AppendNodeCommand::doApply):
1160 * editing/DeleteButtonController.cpp:
1161 (WebCore::enclosingDeletableElement):
1162 * editing/DeleteSelectionCommand.cpp:
1163 (WebCore::DeleteSelectionCommand::initializePositionData):
1164 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
1165 * editing/Editor.cpp:
1166 (WebCore::Editor::selectionUnorderedListState):
1167 (WebCore::Editor::selectionOrderedListState):
1168 * editing/IndentOutdentCommand.cpp:
1169 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
1170 (WebCore::IndentOutdentCommand::outdentParagraph):
1171 * editing/InsertNodeBeforeCommand.cpp:
1172 (WebCore::InsertNodeBeforeCommand::doApply):
1173 * editing/InsertParagraphSeparatorCommand.cpp:
1174 (WebCore::InsertParagraphSeparatorCommand::doApply):
1175 * editing/ReplaceSelectionCommand.cpp:
1176 (WebCore::ReplaceSelectionCommand::shouldMerge):
1177 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1178 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
1179 * editing/TextIterator.cpp:
1180 * editing/htmlediting.cpp:
1181 (WebCore::enclosingBlock):
1182 (WebCore::enclosingNodeWithTag):
1183 (WebCore::enclosingNodeOfType):
1184 (WebCore::enclosingTableCell):
1185 (WebCore::isTableCell):
1186 * editing/htmlediting.h:
1187 * editing/markup.cpp:
1188 (WebCore::appendStartMarkup):
1189 (WebCore::createMarkup):
1191 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
1195 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
1198 * dom/KeyboardEvent.cpp:
1199 (WebCore::KeyboardEvent::charCode):
1200 * page/EventHandler.cpp:
1201 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1202 (WebCore::EventHandler::keyEvent):
1203 * page/EventHandler.h:
1204 * page/Settings.cpp:
1205 (WebCore::Settings::Settings):
1206 (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
1208 (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
1209 * page/mac/EventHandlerMac.mm:
1210 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1211 * platform/PlatformKeyboardEvent.h:
1212 * platform/mac/KeyEventMac.mm:
1213 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1214 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1216 2007-12-13 Dan Bernstein <mitz@apple.com>
1220 * platform/network/cf/ResourceErrorCF.cpp:
1222 2007-12-13 Antti Koivisto <antti@apple.com>
1224 Reviewed by Tim Hatcher.
1226 Fix <rdar://problem/5605674>
1227 Make <video> display WebKit context menu instead of the QTKit one.
1229 It doesn't really matter where the QTMovieView is.
1232 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1233 (WebCore::MediaPlayerPrivate::createQTMovieView):
1234 (WebCore::MediaPlayerPrivate::setRect):
1236 2007-12-13 Dan Bernstein <mitz@apple.com>
1238 Reviewed by Adam Roben.
1240 - ensure that Unicode bidi control characters are rendered as zero width
1243 Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
1245 * platform/graphics/Font.h:
1246 (WebCore::Font::treatAsZeroWidthSpace):
1247 * platform/graphics/GlyphPageTreeNode.cpp:
1248 (WebCore::GlyphPageTreeNode::initializePage):
1249 * platform/text/CharacterNames.h:
1251 2007-12-13 Brady Eidson <beidson@apple.com>
1255 * platform/wx/TemporaryLinkStubs.cpp:
1257 2007-12-12 Brady Eidson <beidson@apple.com>
1261 * platform/gtk/TemporaryLinkStubs.cpp:
1263 2007-12-12 Brady Eidson <beidson@apple.com>
1268 * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
1270 2007-12-12 Brady Eidson <beidson@apple.com>
1274 * platform/win/TemporaryLinkStubs.cpp:
1276 2007-12-12 Brady Eidson <beidson@apple.com>
1278 Reviewed by Sam Weinig
1280 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1282 All back/forward list and page cache related items used to be in WebKit.
1283 When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
1284 Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
1285 in CachedPage and having the Mac-only CachedPageMac.mm
1287 To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
1288 concept of "CachedPagePlatformData" which can contain anything the platform API wants.
1290 I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
1293 * WebCore.xcodeproj/project.pbxproj:
1295 * history/CachedPage.cpp:
1296 (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
1297 (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
1298 (WebCore::CachedPage::setCachedPagePlatformData):
1299 (WebCore::CachedPage::cachedPagePlatformData):
1300 * history/CachedPage.h:
1302 * history/CachedPagePlatformData.h: Added.
1303 (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
1304 (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
1306 * history/PageCache.cpp:
1307 (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
1309 * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
1311 * loader/FrameLoader.cpp:
1312 (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
1313 (setting the cached DocumentLoader to the Frame).
1314 (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
1316 * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
1317 become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
1319 * svg/graphics/SVGImageEmptyClients.h:
1320 (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
1321 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
1322 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
1324 2007-12-12 Dan Bernstein <mitz@apple.com>
1326 Reviewed by Oliver Hunt.
1328 - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
1330 * css/CSSStyleSelector.cpp:
1331 (WebCore::CSSStyleSelector::applyProperty): When the font property is
1332 set to 'initial', set the font size to its initial value, 'medium',
1333 and the font family to the standard family.
1335 2007-12-12 Justin Garcia <justin.garcia@apple.com>
1337 Reviewed by Darin Adler.
1339 <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
1341 * editing/DeleteSelectionCommand.cpp:
1342 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
1343 Don't remove the table row that contained the end of the selection if it is where we are
1344 about to place the ending selection.
1345 Don't remove all empty rows after the row that contained the start of the selection,
1346 they might come after the row that contained the end of the selection.
1348 2007-12-12 Sam Weinig <sam@webkit.org>
1350 Reviewed by Anders Carlsson.
1352 Add button to clear the Web Inspector's console.
1354 * English.lproj/InspectorLocalizedStrings.js:
1355 * page/inspector/ConsolePanel.js:
1356 * page/inspector/inspector.css:
1358 2007-12-12 Anders Carlsson <andersca@apple.com>
1360 Reviewed by Adam and Jon.
1362 <rdar://problem/5349282>
1363 popup blocking is not applied to plugins on Windows.
1365 Implement popup blocking. If the plug-in supports the new
1366 NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
1367 to determine if a plug-in request can open new windows.
1369 If a plug-in does not support the new API, we assume that a plug-in can open new windows
1370 in response to either mouse click or key press events.
1372 * plugins/win/PluginViewWin.cpp:
1373 (WebCore::PluginRequestWin::PluginRequestWin):
1374 (WebCore::PluginRequestWin::shouldAllowPopups):
1375 Add new shouldAllowPopups member.
1377 (WebCore::PluginViewWin::popPopupsStateTimerFired):
1378 Reset the popup state.
1380 (WebCore::isWindowsMessageUserGesture):
1381 New function that given a windows message id returns whether it's a user gesture or not.
1383 (WebCore::PluginViewWin::wndProc):
1384 Allow popups if the window message is a user gesture.
1386 (WebCore::PluginViewWin::dispatchNPEvent):
1387 New method that dispatches an NPEvent, turning on popups if necessary.
1389 (WebCore::PluginViewWin::paint):
1390 (WebCore::PluginViewWin::handleKeyboardEvent):
1391 (WebCore::PluginViewWin::handleMouseEvent):
1392 Call dispatchNPEvent().
1394 (WebCore::PluginViewWin::performRequest):
1395 (WebCore::PluginViewWin::load):
1396 Add calls to shouldAllowPopups().
1398 (WebCore::PluginViewWin::pushPopupsEnabledState):
1399 (WebCore::PluginViewWin::popPopupsEnabledState):
1400 New methods that maintain the popup state stack.
1402 (WebCore::PluginViewWin::arePopupsAllowed):
1403 New method that returns whether popups are allowed.
1405 (WebCore::PluginViewWin::PluginViewWin):
1406 * plugins/win/PluginViewWin.h:
1407 Add new instance variables.
1409 * plugins/win/npapi.cpp:
1410 (NPN_PushPopupsEnabledState):
1411 (NPN_PopPopupsEnabledState):
1414 2007-12-12 Dan Bernstein <mitz@apple.com>
1416 Reviewed by John Sullivan.
1418 - fix a bug in debug builds only where selecting an earlier item in
1419 a popup selects the first item
1421 Test: fast/forms/menulist-selection-reset.html
1423 * html/HTMLSelectElement.cpp:
1424 (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
1425 tells that function whether it should update the selected state of
1427 (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
1428 as the above argument.
1429 * html/HTMLSelectElement.h:
1431 2007-12-12 Adele Peterson <adele@apple.com>
1435 Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
1437 When the specification for cue ranges is more final, we will implement those.
1439 * html/HTMLMediaElement.cpp:
1440 (WebCore::HTMLMediaElement::~HTMLMediaElement):
1441 (WebCore::HTMLMediaElement::load):
1442 * html/HTMLMediaElement.h:
1443 * html/HTMLMediaElement.idl:
1444 * platform/graphics/MediaPlayer.cpp:
1445 * platform/graphics/MediaPlayer.h:
1446 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1447 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1448 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1449 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1450 (WebCore::MediaPlayerPrivate::load):
1451 (WebCore::MediaPlayerPrivate::play):
1452 (WebCore::MediaPlayerPrivate::pause):
1453 (WebCore::MediaPlayerPrivate::setEndTime):
1454 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1455 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1456 (WebCore::MediaPlayerPrivate::timeChanged):
1457 (WebCore::MediaPlayerPrivate::didEnd):
1458 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1459 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1460 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1461 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1462 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1464 2007-12-12 MorganL <morganl.webkit@yahoo.com>
1469 http://bugs.webkit.org/show_bug.cgi?id=16408
1471 When navigating back/forward to a http:// link, we should prefer to
1472 load from cache if possible.
1474 * loader/FrameLoader.cpp:
1476 2007-12-12 Anders Carlsson <andersca@apple.com>
1480 <rdar://problem/5132003>
1481 dumpResourceLoadCallbacks is not implemented in DRT on Windows.
1483 * platform/network/cf/ResourceErrorCF.cpp:
1484 (WebCore::ResourceError::unpackPlatformError):
1485 Handle kCFErrorDomainWinSock.
1487 * platform/network/cf/ResourceHandleCFNet.cpp:
1488 (WebCore::willSendRequest):
1489 Ignore willSendRequest calls where the redirect response is null, like we do in
1492 2007-12-12 Steve Falkenburg <sfalken@apple.com>
1494 <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
1498 * platform/win/SharedTimerWin.cpp:
1499 (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
1501 2007-12-12 Beth Dakin <bdakin@apple.com>
1505 Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
1506 with width and height 100% clip to 300 x 150
1508 Though it was correct in an earlier iteration of my patch, it is
1509 not sufficient in the final, committed version to ask if the
1510 relativeWidthValue() or relativeHeightValue() is greater than 0
1511 just to determine if one has been set, for, they are now
1512 initialized to 300 and 150 respectively! This patch instead adds a
1513 bool to keep track of whether a container size has been set, and
1514 only used the relative value if it has.
1516 * rendering/RenderSVGRoot.cpp:
1517 (WebCore::RenderSVGRoot::calcViewport):
1518 * svg/SVGSVGElement.cpp:
1519 (WebCore::SVGSVGElement::SVGSVGElement):
1520 * svg/SVGSVGElement.h:
1521 (WebCore::SVGSVGElement::setContainerSize):
1522 (WebCore::SVGSVGElement::hasSetContainerSize):
1524 2007-12-12 Brady Eidson <beidson@apple.com>
1526 Reviewed by Steve Falkenburg
1528 <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
1530 * platform/network/ProtectionSpace.cpp:
1531 (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
1533 2007-12-12 Alp Toker <alp@atoker.com>
1537 http://bugs.webkit.org/show_bug.cgi?id=16388
1538 [GTK] Widget::setCursor() gets called frequently
1540 Cache the current cursor to avoid calling gdk_window_set_cursor() when
1541 there's no change in cursor.
1543 * platform/gtk/WidgetGtk.cpp:
1544 (WebCore::Widget::Widget):
1545 (WebCore::Widget::cursor):
1546 (WebCore::Widget::setCursor):
1548 2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
1552 http://bugs.webkit.org/show_bug.cgi?id=16342
1553 Build Warning and Error fixes in WebCore GTK+
1555 Use C-style casts for casting function pointers to gpointer
1556 Use static_cast<int> to cast a float to int to fix a warning
1558 * platform/gtk/PlatformScrollBarGtk.cpp:
1559 (PlatformScrollbar::PlatformScrollbar):
1560 (PlatformScrollbar::~PlatformScrollbar):
1561 (PlatformScrollbar::gtkValueChanged):
1562 * platform/gtk/ThreadingGtk.cpp:
1563 (callFunctionOnMainThread):
1566 2007-12-12 Dan Bernstein <mitz@apple.com>
1568 Reviewed by Darin Adler.
1570 - better fix for a crash when pressing a key that is not associated
1573 * editing/EditorCommand.cpp:
1574 (WebCore::Editor::command): Return the empty command if the command name
1577 2007-12-12 Alexey Proskuryakov <ap@webkit.org>
1581 http://bugs.webkit.org/show_bug.cgi?id=16410
1582 Implement isKeypadEvent() on Windows
1584 Test: platform/win/fast/events/keyLocation-numpad.html
1586 * platform/win/KeyEventWin.cpp:
1587 (WebCore::isKeypadEvent): Added.
1588 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
1590 2007-12-12 Oliver Hunt <oliver@apple.com>
1594 <rdar://problem/5071781> window.mouseout events are not sent
1595 to window when mouse moves out of window
1597 Make PlatformMouseEvent recognise WM_MOUSELEAVE.
1599 * platform/win/PlatformMouseEventWin.cpp:
1600 (WebCore::messageToEventType):
1601 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1603 2007-12-12 Sam Weinig <sam@webkit.org>
1605 Fix Mac release build.
1609 2007-12-12 Sam Weinig <sam@webkit.org>
1611 Build fix for Qt, Gtk, and Wx.
1613 * css/CSSParser.cpp:
1614 (WebCore::CSSParser::parseValue):
1615 * loader/win/FrameLoaderWin.cpp:
1616 (WebCore::FrameLoader::urlSelected):
1617 * platform/network/curl/ResourceHandleManager.cpp:
1618 (WebCore::parseDataUrl):
1619 (WebCore::ResourceHandleManager::startJob):
1620 * platform/network/win/CookieJarWin.cpp:
1621 (WebCore::setCookies):
1623 * platform/network/win/ResourceHandleWin.cpp:
1624 (WebCore::ResourceHandle::start):
1625 * platform/qt/PasteboardQt.cpp:
1626 (WebCore::Pasteboard::writeURL):
1628 2007-12-11 Dan Bernstein <mitz@apple.com>
1630 Reviewed by Maciej Stachowiak.
1632 - allow non-integer font sizes on Windows for small caps
1634 * platform/graphics/win/FontDataWin.cpp:
1635 (WebCore::FontData::smallCapsFontData):
1636 * platform/graphics/win/FontPlatformData.h:
1637 (WebCore::FontPlatformData::size):
1638 (WebCore::FontPlatformData::setSize):
1639 * platform/graphics/win/FontPlatformDataWin.cpp:
1640 (WebCore::FontPlatformData::FontPlatformData):
1642 2007-12-11 Sam Weinig <sam@webkit.org>
1644 Build fix for Qt, Gtk, and Wx.
1646 * platform/gtk/CookieJarGtk.cpp:
1647 (WebCore::setCookies):
1649 * platform/qt/ClipboardQt.cpp:
1650 (WebCore::ClipboardQt::writeURL):
1651 * platform/qt/CookieJarQt.cpp:
1652 (WebCore::setCookies):
1654 * platform/wx/PasteboardWx.cpp:
1655 (WebCore::Pasteboard::writeURL):
1657 2007-12-11 Sam Weinig <sam@webkit.org>
1659 Reviewed by Darin Adler.
1661 Scrub URL out of the tree in preparation for renaming KURL to URL.
1662 - Renames Document::URL() -> Document::url()
1663 - Renames DocumentLoader::URL() -> DocumentLoader::url()
1664 - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
1665 - Remove FrameLoader::URL()
1666 - Various variable renames.
1668 The change from Document::URL() to Document::url() required changes
1669 to the bindings scripts as well, because URL() is the name of a DOM
1670 method. The code generation scripts now have code to special case URL()
1674 * bindings/js/kjs_events.cpp:
1675 (WebCore::JSLazyEventListener::parseCode):
1676 * bindings/js/kjs_navigator.cpp:
1677 (KJS::Navigator::getValueProperty):
1678 * bindings/js/kjs_proxy.cpp:
1679 (WebCore::KJSProxy::initScript):
1680 * bindings/js/kjs_window.cpp:
1682 (KJS::Window::allowsAccessFrom):
1683 (KJS::Location::put):
1684 (KJS::LocationProtoFuncReplace::callAsFunction):
1685 (KJS::LocationProtoFuncReload::callAsFunction):
1686 (KJS::LocationProtoFuncAssign::callAsFunction):
1687 * bindings/scripts/CodeGenerator.pm:
1688 * bindings/scripts/CodeGeneratorCOM.pm:
1689 * bindings/scripts/CodeGeneratorJS.pm:
1690 * bindings/scripts/CodeGeneratorObjC.pm:
1691 * css/CSSImportRule.cpp:
1692 (WebCore::CSSImportRule::insertedIntoParent):
1693 * css/CSSParser.cpp:
1694 (WebCore::CSSParser::parseValue):
1695 (WebCore::CSSParser::parseContent):
1696 (WebCore::CSSParser::parseBackgroundImage):
1697 (WebCore::CSSParser::parseFontFaceSrc):
1698 (WebCore::CSSParser::parseBorderImage):
1699 (WebCore::CSSParser::createImportRule):
1700 * css/CSSStyleSelector.cpp:
1701 (WebCore::CSSStyleSelector::setEncodedURL):
1703 (WebCore::Document::processHttpEquiv):
1704 (WebCore::Document::cookie):
1705 (WebCore::Document::setCookie):
1706 (WebCore::Document::domain):
1707 (WebCore::Document::setDomain):
1708 (WebCore::Document::getImageMap):
1709 (WebCore::Document::completeURL):
1711 (WebCore::Document::url):
1712 (WebCore::Document::baseURL):
1714 (WebCore::Element::baseURI):
1715 * dom/ProcessingInstruction.h:
1716 * dom/StyledElement.cpp:
1717 (WebCore::StyledElement::addCSSImageProperty):
1718 * dom/StyledElement.h:
1719 * dom/XMLTokenizer.cpp:
1720 (WebCore::XMLTokenizer::endElementNs):
1721 (WebCore::XMLTokenizer::end):
1723 * dom/XMLTokenizer.h:
1724 * editing/Editor.cpp:
1725 (WebCore::Editor::copy):
1726 * editing/markup.cpp:
1727 (WebCore::completeURLs):
1728 * history/CachedPage.h:
1729 (WebCore::CachedPage::url):
1730 * history/HistoryItem.cpp:
1731 (WebCore::HistoryItem::HistoryItem):
1732 (WebCore::HistoryItem::setURL):
1733 (WebCore::HistoryItem::isCurrentDocument):
1734 * html/HTMLBaseElement.cpp:
1735 (WebCore::HTMLBaseElement::process):
1736 * html/HTMLParser.cpp:
1737 (WebCore::HTMLParser::reportErrorToConsole):
1738 * html/HTMLScriptElement.cpp:
1739 (WebCore::HTMLScriptElement::childrenChanged):
1740 (WebCore::HTMLScriptElement::insertedIntoDocument):
1741 (WebCore::HTMLScriptElement::evaluateScript):
1742 * html/HTMLScriptElement.h:
1743 * html/HTMLTokenizer.cpp:
1744 (WebCore::HTMLTokenizer::scriptExecution):
1746 (WebCore::createResource):
1747 (WebCore::Cache::requestResource):
1748 * loader/CachedCSSStyleSheet.cpp:
1749 (WebCore::CachedCSSStyleSheet::checkNotify):
1750 * loader/CachedResource.cpp:
1751 (WebCore::CachedResource::CachedResource):
1752 * loader/CachedResource.h:
1753 (WebCore::CachedResource::):
1754 * loader/CachedScript.h:
1755 * loader/DocLoader.cpp:
1756 (WebCore::DocLoader::checkForReload):
1757 (WebCore::DocLoader::requestResource):
1758 * loader/DocumentLoader.cpp:
1759 (WebCore::DocumentLoader::url):
1760 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1761 (WebCore::DocumentLoader::setRequest):
1762 (WebCore::DocumentLoader::startLoadingMainResource):
1763 * loader/DocumentLoader.h:
1764 * loader/FrameLoader.cpp:
1765 (WebCore::FormSubmission::FormSubmission):
1766 (WebCore::ScheduledRedirection::ScheduledRedirection):
1767 (WebCore::FrameLoader::changeLocation):
1768 (WebCore::FrameLoader::urlSelected):
1769 (WebCore::FrameLoader::requestFrame):
1770 (WebCore::FrameLoader::loadSubframe):
1771 (WebCore::FrameLoader::submitFormAgain):
1772 (WebCore::FrameLoader::submitForm):
1773 (WebCore::FrameLoader::didExplicitOpen):
1774 (WebCore::FrameLoader::replaceContentsWithScriptResult):
1775 (WebCore::FrameLoader::executeScript):
1776 (WebCore::FrameLoader::receivedFirstData):
1777 (WebCore::FrameLoader::begin):
1778 (WebCore::FrameLoader::startIconLoader):
1779 (WebCore::FrameLoader::commitIconURLToIconDatabase):
1780 (WebCore::FrameLoader::scheduleRefresh):
1781 (WebCore::FrameLoader::redirectionTimerFired):
1782 (WebCore::FrameLoader::loadPlugin):
1783 (WebCore::FrameLoader::didNotOpenURL):
1784 (WebCore::FrameLoader::updatePolicyBaseURL):
1785 (WebCore::FrameLoader::scrollToAnchor):
1786 (WebCore::FrameLoader::startRedirectionTimer):
1787 (WebCore::FrameLoader::load):
1788 (WebCore::FrameLoader::canLoad):
1789 (WebCore::FrameLoader::shouldHideReferrer):
1790 (WebCore::FrameLoader::shouldAllowNavigation):
1791 (WebCore::FrameLoader::commitProvisionalLoad):
1792 (WebCore::FrameLoader::clientRedirected):
1793 (WebCore::FrameLoader::open):
1794 (WebCore::FrameLoader::didTellBridgeAboutLoad):
1795 (WebCore::FrameLoader::haveToldBridgeAboutLoad):
1796 (WebCore::FrameLoader::post):
1797 (WebCore::FrameLoader::loadResourceSynchronously):
1798 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1799 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
1800 (WebCore::FrameLoader::createHistoryItem):
1801 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
1802 (WebCore::FrameLoader::loadItem):
1803 (WebCore::FrameLoader::urlsMatchItem):
1804 (WebCore::FrameLoader::recursiveGoToItem):
1805 (WebCore::FrameLoader::updateHistoryForStandardLoad):
1806 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1807 * loader/FrameLoader.h:
1808 (WebCore::FrameLoader::url):
1809 * loader/ImageDocument.cpp:
1810 (WebCore::ImageDocument::createDocumentStructure):
1811 * loader/MainResourceLoader.cpp:
1812 (WebCore::shouldLoadAsEmptyDocument):
1813 (WebCore::MainResourceLoader::didFinishLoading):
1814 * loader/NavigationAction.cpp:
1815 (WebCore::NavigationAction::NavigationAction):
1816 * loader/NavigationAction.h:
1817 (WebCore::NavigationAction::url):
1818 * loader/PluginDocument.cpp:
1819 (WebCore::PluginTokenizer::createDocumentStructure):
1820 * loader/SubresourceLoader.cpp:
1821 (WebCore::SubresourceLoader::load):
1822 (WebCore::SubresourceLoader::create):
1823 * loader/icon/IconLoader.cpp:
1824 (WebCore::IconLoader::startLoading):
1825 (WebCore::IconLoader::finishLoading):
1826 * loader/loader.cpp:
1827 (WebCore::Loader::servePendingRequests):
1828 * loader/mac/LoaderNSURLExtras.m:
1831 (WebCore::Chrome::setToolTip):
1832 * page/ContextMenuController.cpp:
1833 (WebCore::ContextMenuController::contextMenuItemSelected):
1835 (WebCore::Frame::setUserStyleSheetLocation):
1836 * page/InspectorController.cpp:
1837 (WebCore::InspectorResource::type):
1838 (WebCore::addSourceToFrame):
1839 (WebCore::InspectorController::addScriptResource):
1840 (WebCore::InspectorController::updateScriptResourceRequest):
1841 (WebCore::InspectorController::didCommitLoad):
1842 * page/mac/WebCoreFrameBridge.mm:
1843 (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1845 (WebCore::KURL::string):
1846 (WebCore::KURL::deprecatedString):
1847 * platform/mac/ClipboardMac.mm:
1848 (WebCore::ClipboardMac::getData):
1849 * platform/mac/CookieJar.mm:
1851 (WebCore::setCookies):
1852 * platform/mac/PasteboardMac.mm:
1853 (WebCore::Pasteboard::writeURL):
1854 (WebCore::fileWrapperForImage):
1855 (WebCore::Pasteboard::writeImage):
1856 (WebCore::Pasteboard::plainText):
1857 * platform/network/ResourceHandle.cpp:
1858 (WebCore::ResourceHandle::portAllowed):
1859 * platform/network/ResourceRequestBase.cpp:
1860 (WebCore::ResourceRequestBase::isNull):
1861 * platform/network/cf/ResourceHandleCFNet.cpp:
1862 (WebCore::willSendRequest):
1863 (WebCore::didReceiveResponse):
1864 (WebCore::didReceiveData):
1865 (WebCore::didFinishLoading):
1867 (WebCore::didReceiveChallenge):
1868 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1869 (WebCore::ResourceHandle::~ResourceHandle):
1870 (WebCore::ResourceHandle::start):
1871 * platform/win/ClipboardUtilitiesWin.cpp:
1872 (WebCore::createGlobalData):
1873 (WebCore::urlToMarkup):
1874 * platform/win/ClipboardWin.cpp:
1875 (WebCore::writeURL):
1876 (WebCore::writeImageToDataObject):
1877 (WebCore::ClipboardWin::writeURL):
1878 (WebCore::ClipboardWin::writeRange):
1879 * platform/win/PasteboardWin.cpp:
1880 (WebCore::Pasteboard::writeSelection):
1881 (WebCore::Pasteboard::writeURL):
1882 * plugins/win/PluginDatabaseWin.cpp:
1883 (WebCore::PluginDatabaseWin::findPlugin):
1884 * plugins/win/PluginStreamWin.cpp:
1885 (WebCore::PluginStreamWin::startStream):
1886 (WebCore::PluginStreamWin::destroyStream):
1887 * plugins/win/PluginViewWin.cpp:
1888 (WebCore::scriptStringIfJavaScriptURL):
1889 (WebCore::PluginViewWin::performRequest):
1890 * svg/SVGImageLoader.cpp:
1891 (WebCore::SVGImageLoader::updateFromElement):
1892 * xml/XMLHttpRequest.cpp:
1893 (WebCore::XMLHttpRequest::getResponseXML):
1894 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1895 * xml/XSLImportRule.cpp:
1896 (WebCore::XSLImportRule::loadSheet):
1897 * xml/XSLTProcessor.cpp:
1898 (WebCore::XSLTProcessor::createDocumentFromSource):
1899 (WebCore::xsltStylesheetPointer):
1900 (WebCore::xmlDocPtrFromNode):
1902 2007-12-11 Beth Dakin <bdakin@apple.com>
1906 Fix for <rdar://problem/5641255> SVGs with width and height 100%
1907 fail to render when used as background images
1909 CachedImage now has a setImageContainerSize function. It is only
1910 needed for SVG right now.
1911 * loader/CachedImage.cpp:
1912 (WebCore::CachedImage::setImageContainerSize):
1913 * loader/CachedImage.h:
1915 Relatively sized SVGs have no intrinsic size. Because this call is
1916 low-level enough that we cannot pass in the container size and get
1917 the real size of the SVG, we need to know if it has relative
1918 dimensions, and if so, we need to get the size from scaledTileSize.
1919 * platform/graphics/Image.cpp:
1920 (WebCore::Image::drawTiled):
1921 * platform/graphics/Image.h:
1922 (WebCore::Image::setContainerSize):
1923 (WebCore::Image::hasRelativeWidth):
1924 (WebCore::Image::hasRelativeHeight):
1926 Re-factored calculateBackgroundSize a bit so that it returns an
1927 IntSize. Made it a member function so that it can send m_width and
1928 m_height along to setImageContainerSize.
1929 * rendering/RenderBox.cpp:
1930 (WebCore::RenderBox::calculateBackgroundSize):
1931 (WebCore::RenderBox::calculateBackgroundImageGeometry):
1932 * rendering/RenderBox.h:
1934 Need to account for relatively sized SVGs in calcViewport()
1935 * rendering/RenderSVGRoot.cpp:
1936 (WebCore::RenderSVGRoot::calcViewport):
1938 Added new member variables to store the size of the SVG container.
1939 relativeWidthValue() and relativeHeightValue() use the stored SVG
1940 container size to correctly calculate the width and height of a
1941 relatively sized SVG.
1942 * svg/SVGSVGElement.cpp:
1943 (WebCore::SVGSVGElement::SVGSVGElement):
1944 (WebCore::SVGSVGElement::setContainerSize):
1945 (WebCore::SVGSVGElement::relativeWidthValue):
1946 (WebCore::SVGSVGElement::relativeHeightValue):
1947 * svg/SVGSVGElement.h:
1948 (WebCore::SVGSVGElement::containerSize):
1950 Re-factored size calculations to use the size of the container.
1951 * svg/graphics/SVGImage.cpp:
1952 (WebCore::SVGImage::setContainerSize):
1953 (WebCore::SVGImage::size):
1954 (WebCore::SVGImage::hasRelativeWidth):
1955 (WebCore::SVGImage::hasRelativeHeight):
1956 * svg/graphics/SVGImage.h:
1958 2007-12-11 Darin Adler <darin@apple.com>
1960 * editing/Editor.cpp:
1961 (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
1962 a missing return statement.
1964 2007-12-11 Darin Adler <darin@apple.com>
1968 - exposed many new commands to the DOM Document executeCommand function by
1969 merging the JSEditor and Editor executeCommand implementations
1970 - replaced the execCommand function with a EditorCommand class
1971 - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
1972 - replaced the WTF::CaseInsensitiveHash<> class template with the
1973 WebCore::CaseFoldingHash class
1975 * WebCore.base.exp: Updated.
1976 * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
1977 * WebCore.vcproj/WebCore.vcproj: Ditto.
1978 * WebCore.xcodeproj/project.pbxproj: Ditto.
1979 * WebCoreSources.bkl: Ditto.
1982 (WebCore::Document::Document): Removed code to set up m_jsEditor.
1983 (WebCore::Document::~Document): Removed code to delete m_jsEditor.
1984 (WebCore::command): Added. Helper function that gets an Editor::Command.
1985 (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
1987 (WebCore::Document::queryCommandEnabled): Ditto.
1988 (WebCore::Document::queryCommandIndeterm):
1989 (WebCore::Document::queryCommandState): Ditto.
1990 (WebCore::Document::queryCommandSupported): Ditto.
1991 (WebCore::Document::queryCommandValue): Ditto.
1993 * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
1994 use CaseFoldingHash.
1996 * editing/Editor.cpp:
1997 (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
1998 made into a member function so it is accessible from the new EditorCommand.cpp file.
1999 Also changed to get the selection from the passed-in frame instead of from the
2000 page, because this should work on the targeted frame unless the event overrides it.
2001 (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
2002 (WebCore::Editor::handleInputMethodKeypress): Ditto.
2003 (WebCore::imageElementFromImageDocument): Renamed and changed to return
2004 a HTMLImageElement instead of a Node*.
2005 (WebCore::Editor::canCopy): Updated for name change.
2006 (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
2007 (WebCore::Editor::selectionOrderedListState): Ditto.
2008 (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
2009 (WebCore::updateState): Moved here from Frame.
2010 (WebCore::Editor::selectionHasStyle): Ditto.
2011 (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
2012 (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
2013 selectionForCommand change.
2014 (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
2015 (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
2016 machinery since it's no longer in this file as a local function.
2017 (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
2018 (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
2020 (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
2021 without a kill ring, but it's relatively straightforward to implement one.
2022 (WebCore::Editor::appendToKillRing): Put default implementation here for
2023 platforms other than Mac. We should probably put a simple kill ring
2024 implementation here -- doesn't need to be shared with the OS oh platforms
2026 (WebCore::Editor::prependToKillRing): Ditto.
2027 (WebCore::Editor::yankFromKillRing): Ditto.
2028 (WebCore::Editor::startNewKillRingSequence): Ditto.
2029 (WebCore::Editor::setKillRingToYankedState): Ditto.
2031 * editing/Editor.h: Moved the TriState enum here instead of inside the
2032 Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
2033 here from the Frame class. Added Editor::Command class with five functions
2034 for the various things you can do with a command (execute it, check if it
2035 can be used, and its state and value). Changed hte parameter of
2036 setBaseWritingDirection to be a const String& rather than a String.
2037 Got rid of the kill-ring-related operations, but added the kill ring
2038 functions themselves. Made selectedRange() public. Made the
2039 m_startNewKillRingSequence not Mac-specific and added "should" to its
2042 * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
2043 Retained only the editing commands.
2044 (WebCore::targetFrame): Moved to the top of the file.
2045 (WebCore::executeApplyStyle): Added. Helper function for commands
2046 that need to apply styles.
2047 (WebCore::executeToggleStyle): Added. Helper function for commands
2048 that need to toggle styles based on the style of the start of selection.
2049 (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
2050 for paragraph styles.
2051 (WebCore::executeInsertFragment): Added. Helper function for commands
2052 that need to insert a DOM fragment.
2053 (WebCore::executeInsertNode): Added. Helper function for commands that
2054 need to insert a tree rooted in a single DOM node.
2055 (WebCore::stateStyle): Added. Helper function for the state of commands
2056 that represent style.
2057 (WebCore::valueStyle): Added. Helper function for the value of commands
2058 that represent style.
2059 (WebCore::canScroll): Added. Helper functions for some move and scroll
2060 commands that need to determine if the renderer they are in can scroll.
2061 (WebCore::unionDOMRanges): Moved here from EditorMac.
2062 (WebCore::executeBackColor):
2063 (WebCore::executeBackwardDelete):
2064 (WebCore::executeCopy):
2065 (WebCore::executeCreateLink):
2066 (WebCore::executeCut):
2067 (WebCore::executeDelete):
2068 (WebCore::executeDeleteToMark):
2069 (WebCore::executeDeleteWordBackward):
2070 (WebCore::executeDeleteWordForward):
2071 (WebCore::executeFindString):
2072 (WebCore::executeFontName):
2073 (WebCore::executeFontSize):
2074 (WebCore::executeFontSizeDelta):
2075 (WebCore::executeForeColor):
2076 (WebCore::executeFormatBlock):
2077 (WebCore::executeForwardDelete):
2078 (WebCore::executeIndent):
2079 (WebCore::executeInsertBacktab):
2080 (WebCore::executeInsertHorizontalRule):
2081 (WebCore::executeInsertHTML):
2082 (WebCore::executeInsertImage):
2083 (WebCore::executeInsertLineBreak):
2084 (WebCore::executeInsertNewline):
2085 (WebCore::executeInsertNewlineInQuotedContent):
2086 (WebCore::executeInsertOrderedList):
2087 (WebCore::executeInsertParagraph):
2088 (WebCore::executeInsertTab):
2089 (WebCore::executeInsertText):
2090 (WebCore::executeInsertUnorderedList):
2091 (WebCore::executeJustifyCenter):
2092 (WebCore::executeJustifyFull):
2093 (WebCore::executeJustifyLeft):
2094 (WebCore::executeJustifyRight):
2095 (WebCore::executeMoveBackward):
2096 (WebCore::executeMoveBackwardAndModifySelection):
2097 (WebCore::executeMoveDown):
2098 (WebCore::executeMoveDownAndModifySelection):
2099 (WebCore::executeMoveDownByPageAndModifyCaret):
2100 (WebCore::executeMoveForward):
2101 (WebCore::executeMoveForwardAndModifySelection):
2102 (WebCore::executeMoveLeft):
2103 (WebCore::executeMoveLeftAndModifySelection):
2104 (WebCore::executeMoveRight):
2105 (WebCore::executeMoveRightAndModifySelection):
2106 (WebCore::executeMoveToBeginningOfDocument):
2107 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
2108 (WebCore::executeMoveToBeginningOfLine):
2109 (WebCore::executeMoveToBeginningOfLineAndModifySelection):
2110 (WebCore::executeMoveToBeginningOfParagraph):
2111 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
2112 (WebCore::executeMoveToBeginningOfSentence):
2113 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
2114 (WebCore::executeMoveToEndOfDocument):
2115 (WebCore::executeMoveToEndOfDocumentAndModifySelection):
2116 (WebCore::executeMoveToEndOfSentence):
2117 (WebCore::executeMoveToEndOfSentenceAndModifySelection):
2118 (WebCore::executeMoveToEndOfLine):
2119 (WebCore::executeMoveToEndOfLineAndModifySelection):
2120 (WebCore::executeMoveToEndOfParagraph):
2121 (WebCore::executeMoveToEndOfParagraphAndModifySelection):
2122 (WebCore::executeMoveParagraphBackwardAndModifySelection):
2123 (WebCore::executeMoveParagraphForwardAndModifySelection):
2124 (WebCore::executeMoveUp):
2125 (WebCore::executeMoveUpAndModifySelection):
2126 (WebCore::executeMoveUpByPageAndModifyCaret):
2127 (WebCore::executeMoveWordBackward):
2128 (WebCore::executeMoveWordBackwardAndModifySelection):
2129 (WebCore::executeMoveWordForward):
2130 (WebCore::executeMoveWordForwardAndModifySelection):
2131 (WebCore::executeMoveWordLeft):
2132 (WebCore::executeMoveWordLeftAndModifySelection):
2133 (WebCore::executeMoveWordRight):
2134 (WebCore::executeMoveWordRightAndModifySelection):
2135 (WebCore::executeOutdent):
2136 (WebCore::executePaste):
2137 (WebCore::executePasteAndMatchStyle):
2138 (WebCore::executePrint):
2139 (WebCore::executeRedo):
2140 (WebCore::executeRemoveFormat):
2141 (WebCore::executeSelectAll):
2142 (WebCore::executeSelectToMark):
2143 (WebCore::executeSetMark):
2144 (WebCore::executeStrikethrough):
2145 (WebCore::executeSubscript):
2146 (WebCore::executeSuperscript):
2147 (WebCore::executeSwapWithMark):
2148 (WebCore::executeToggleBold):
2149 (WebCore::executeToggleItalic):
2150 (WebCore::executeTranspose):
2151 (WebCore::executeUnderline):
2152 (WebCore::executeUndo):
2153 (WebCore::executeUnlink):
2154 (WebCore::executeUnscript):
2155 (WebCore::executeUnselect):
2156 (WebCore::executeYank):
2157 (WebCore::executeYankAndSelect):
2158 (WebCore::supported):
2159 (WebCore::supportedPaste):
2161 (WebCore::enabledAnySelection):
2162 (WebCore::enabledAnySelectionAndMark):
2163 (WebCore::enableCaretInEditableText):
2164 (WebCore::enabledCopy):
2165 (WebCore::enabledCut):
2166 (WebCore::enabledInEditableText):
2167 (WebCore::enabledInRichlyEditableText):
2168 (WebCore::enabledPaste):
2169 (WebCore::enabledRangeInEditableText):
2170 (WebCore::enabledRangeInRichlyEditableText):
2171 (WebCore::enabledRedo):
2172 (WebCore::enabledUndo):
2173 (WebCore::stateNone):
2174 (WebCore::stateBold):
2175 (WebCore::stateItalic):
2176 (WebCore::stateOrderedList):
2177 (WebCore::stateStrikethrough):
2178 (WebCore::stateSubscript):
2179 (WebCore::stateSuperscript):
2180 (WebCore::stateUnderline):
2181 (WebCore::stateUnorderedList):
2182 (WebCore::valueNull):
2183 (WebCore::valueBackColor):
2184 (WebCore::valueFontName):
2185 (WebCore::valueFontSize):
2186 (WebCore::valueFontSizeDelta):
2187 (WebCore::valueForeColor):
2188 (WebCore::createCommandMap): Added lots of commands, including all the commands
2189 from JSEditor. A few commands needed different behavior based on whether they are
2190 invoked from the DOM or a keyboard binding.
2191 (WebCore::Editor::command): Added. Gets a command object given a name.
2192 (WebCore::Editor::Command::Command): Added.
2193 (WebCore::Editor::Command::execute): Added.
2194 (WebCore::Editor::Command::isSupported): Added.
2195 (WebCore::Editor::Command::isEnabled): Added.
2196 (WebCore::Editor::Command::state): Added.
2197 (WebCore::Editor::Command::value): Added.
2198 (WebCore::Editor::execCommand): Changed to call command().execute().
2200 * editing/JSEditor.cpp: Removed.
2201 * editing/JSEditor.h: Removed.
2203 * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
2204 kill ring commands, so the kill ring commands can be cross-platform.
2205 (WebCore::Editor::appendToKillRing): Added.
2206 (WebCore::Editor::prependToKillRing): Added.
2207 (WebCore::Editor::yankFromKillRing): Added.
2208 (WebCore::Editor::startNewKillRingSequence): Added.
2209 (WebCore::Editor::setKillRingToYankedState): Added.
2211 * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
2212 * page/Frame.h: Ditto.
2214 * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
2215 * page/mac/WebCoreFrameBridge.h: Ditto.
2217 * platform/ContextMenu.cpp:
2218 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
2220 * platform/text/StringHash.h:
2221 (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
2222 (WebCore::StringHash::equal): Ditto.
2223 (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
2225 (WebCore::CaseFoldingHash::equal): Ditto.
2227 * platform/text/StringImpl.cpp:
2228 (WebCore::equal): Changed to invoke StringHash.
2229 (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
2231 * dom/DOMImplementation.cpp:
2232 (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
2233 (WebCore::isSVG10Feature): Ditto.
2234 (WebCore::isSVG11Feature): Ditto.
2235 * loader/FrameLoader.cpp:
2236 (WebCore::localSchemes): Ditto.
2237 * platform/graphics/FontCache.cpp:
2238 (WebCore::computeHash): Ditto.
2239 * platform/network/HTTPHeaderMap.h: Ditto.
2240 * platform/text/PlatformString.h: Ditto.
2241 * platform/text/StringImpl.h: Ditto.
2242 * rendering/RenderPartObject.cpp:
2243 (WebCore::RenderPartObject::updateWidget): Ditto.
2244 * xml/XMLHttpRequest.cpp:
2245 (WebCore::canSetRequestHeader): Ditto.
2247 * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
2249 2007-12-11 Darin Adler <darin@apple.com>
2251 * platform/wx/KeyboardEventWx.cpp:
2252 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
2253 WX build. Changes the code around a little bit.
2255 2007-12-11 Darin Adler <darin@apple.com>
2257 * platform/wx/KeyboardEventWx.cpp:
2258 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
2260 2007-12-11 Dan Bernstein <mitz@apple.com>
2262 Reviewed by Darin Adler.
2264 - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
2266 Test: fast/text/international/complex-character-based-fallback.html
2268 * platform/graphics/Font.cpp:
2269 (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
2270 that forces this function to use the small caps font. It is used for
2271 combining marks that need to combine with a small cap.
2272 * platform/graphics/Font.h:
2273 * platform/win/UniscribeController.cpp:
2274 (WebCore::UniscribeController::advance): Changed to split the string
2275 into runs of characters that will be rendered using the same FontData.
2276 This is done by calling glyphDataForCharacter() for each cahracter to
2277 find the FontData it should be rendered with.
2278 (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
2279 argument that is passed on to shapeAndPlaceItem() instead of the
2281 (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
2282 argument and removed the font fallback logic from this function, as
2283 it is now expected to be called with an item all of whose characters
2284 can be rendered with the given fontData.
2285 * platform/win/UniscribeController.h:
2287 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
2291 <rdar://problem/5535636>
2292 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2294 http://bugs.webkit.org/show_bug.cgi?id=13916
2295 JavaScript detects Tab as a character input on a textfield validation
2297 Test: platform/win/fast/events/double-dead-char.html
2299 * platform/PlatformKeyboardEvent.h:
2300 (WebCore::PlatformKeyboardEvent::):
2301 (WebCore::PlatformKeyboardEvent::type):
2302 (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
2303 (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
2304 (WebCore::PlatformKeyboardEvent::keyIdentifier):
2305 (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2306 Added an explicit type member to differentiate different kinds of events:
2307 RawKeyDown == keydown == WM_KEYDOWN
2308 KeyUp == keyup == WM_KEYUP
2309 Char == keypress == WM_CHAR
2310 KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
2311 event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
2313 * platform/mac/KeyEventMac.mm:
2314 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2315 Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
2316 (WebCore::windowsKeyCodeForKeyEvent):
2317 (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
2318 that it still fails.
2319 (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
2320 should not be available in those (because it cannot be provided on Windows).
2322 * platform/win/KeyEventWin.cpp:
2323 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2324 Used standard Windows constants for bit masks instead of our own ones.
2325 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
2327 * platform/gtk/KeyEventGtk.cpp:
2328 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2329 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2330 * platform/qt/PlatformKeyboardEventQt.cpp:
2331 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2332 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2333 * platform/wx/KeyboardEventWx.cpp:
2334 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2335 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2336 Updated for cross-platform changes as much as it was possible without appropriate build
2339 * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
2340 convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
2342 * bridge/EditorClient.h:
2343 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2344 Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
2348 (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
2350 * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
2352 * dom/KeyboardEvent.cpp:
2353 (WebCore::eventTypeForKeyboardEventType):
2354 (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
2355 now straightforward, so scary hacks such as using autorepeat to distinguish types are
2357 (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
2358 (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
2359 Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
2363 * editing/Editor.cpp:
2364 (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
2365 (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
2366 (WebCore::Editor::handleInputMethodKeydown): Ditto.
2368 * html/HTMLButtonElement.cpp:
2369 (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
2370 appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
2371 not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
2372 highlighted when Space is pressed.
2374 * html/HTMLInputElement.cpp:
2375 (WebCore::HTMLInputElement::defaultEventHandler):
2376 * html/HTMLSelectElement.cpp:
2377 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2378 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2379 Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
2382 * page/EventHandler.cpp:
2383 (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
2384 to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
2385 handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
2386 now being handleInputMethodKeydown().
2387 (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
2388 (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
2389 as default tab handling happens when processing keydown.
2390 (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
2391 event handling. Fixed accesskey processing to use information that's available in a raw keydown
2394 (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
2395 handle tabs during keydown processing.
2397 * page/mac/EventHandlerMac.mm:
2398 (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
2401 * platform/text/PlatformString.h:
2402 * platform/text/String.cpp:
2403 (WebCore::String::characterStartingAt):
2404 * platform/text/StringImpl.cpp:
2405 (WebCore::StringImpl::characterStartingAt):
2406 * platform/text/StringImpl.h:
2407 Added a UChar32 accessor.
2409 * svg/graphics/SVGImageEmptyClients.h:
2410 (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
2411 (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
2412 Updated for new function names.
2414 2007-12-11 John Sullivan <sullivan@apple.com>
2418 Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
2420 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2421 (WebCore::MediaPlayerPrivate::createQTMovieView):
2422 (WebCore::MediaPlayerPrivate::detachQTMovieView):
2424 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
2428 http://bugs.webkit.org/show_bug.cgi?id=16325
2429 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2431 Fix this on Windows, too!
2433 Test: http/tests/misc/empty-cookie.html
2435 * platform/network/win/CookieJarWin.cpp:
2436 (WebCore::setCookies):
2438 Same fix as on Mac, translated into CF.
2440 * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2442 2007-12-11 Christian Dywan <christian@twotoasts.de>
2444 Reviewed by Alp Toker.
2446 http://bugs.webkit.org/show_bug.cgi?id=16371
2447 Implement additional mouse cursors for Gtk
2449 Added cursor bitmaps from Mozilla:
2450 http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
2452 * platform/gtk/CursorGtk.cpp:
2453 (WebCore::customCursorNew):
2454 (WebCore::verticalTextCursor):
2455 (WebCore::cellCursor):
2456 (WebCore::contextMenuCursor):
2457 (WebCore::noDropCursor):
2458 (WebCore::copyCursor):
2459 (WebCore::progressCursor):
2460 (WebCore::aliasCursor):
2461 (WebCore::noneCursor):
2462 (WebCore::notAllowedCursor):
2463 (WebCore::zoomInCursor):
2464 (WebCore::zoomOutCursor):
2465 * platform/gtk/CursorGtk.h: Added.
2467 2007-12-10 Oliver Hunt <oliver@apple.com>
2469 Reviewed by Weinig, Dan, and Alexey.
2471 Fix character set used for dynamically loaded scripts.
2474 <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
2475 <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
2476 <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
2478 Use the same logic to determine the charset for a script loaded dynamically
2479 as we do for a statically loaded script.
2481 * html/HTMLScriptElement.cpp:
2482 (WebCore::HTMLScriptElement::insertedIntoDocument):
2484 2007-12-10 Justin Garcia <justin.garcia@apple.com>
2486 Reviewed by Oliver Hunt.
2488 <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
2490 We were trying to insert a block of the requested type before the body element.
2492 * editing/FormatBlockCommand.cpp:
2493 (WebCore::FormatBlockCommand::doApply):
2494 Removed unnecessary ()s in the if condition.
2495 Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
2496 a) upstreamStart will never be outside the root editable element, since in that case
2497 there would be no block inside the editable root to Format, and b) if upstreamStart.node()
2498 *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
2500 Added comments to explain the use of upstream() in the second if-clause.
2501 Added an early return for case where there is nothing selected, in that case, there is nothing
2504 2007-12-10 Adele Peterson <adele@apple.com>
2506 Reviewed and partially fixed by Tim Hatcher.
2508 Remaining part of fix for <rdar://problem/5633400>
2509 Transformed <video> is not clipped correctly until a repaint is forced
2511 Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
2512 from clobbering the WebCore repaints.
2514 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
2515 * html/HTMLMediaElement.h:
2516 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
2517 * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
2519 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2520 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2521 (method_setImplementation): Added for Tiger.
2523 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
2524 (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
2525 (WebCore::MediaPlayerPrivate::setVisible): ditto.
2526 (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
2528 (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
2529 (-[WebCoreMovieObserver repaint]): ditto.
2531 (WebCore::mainThreadSetNeedsDisplay): Added.
2532 Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
2533 (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
2535 2007-12-10 Geoffrey Garen <ggaren@apple.com>
2537 Reviewed by Sam Weinig.
2539 Updated for rename in JavaScriptCore.
2541 * bridge/mac/WebCoreScriptDebugger.mm:
2542 (-[WebCoreScriptCallFrame scopeChain]):
2543 (-[WebCoreScriptCallFrame functionName]):
2544 (-[WebCoreScriptCallFrame evaluateWebScript:]):
2546 2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
2548 Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
2549 <http://bugs.webkit.org/show_bug.cgi?id=16383>
2551 Use KJS::Window not the ambiguous Window
2553 Reviewed by ddkilzer.
2555 * bindings/js/kjs_dom.cpp (checkNodeSecurity):
2557 2007-12-10 Sam Weinig <sam@webkit.org>
2561 * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
2563 2007-12-10 Marvin Decker <marv.decker@gmail.com>
2567 Fix a divide by 0 in the progress tracker.
2568 http://bugs.webkit.org/show_bug.cgi?id=15055
2570 * loader/ProgressTracker.cpp:
2571 (WebCore::ProgressTracker::incrementProgress):
2573 2007-12-09 Sam Weinig <sam@webkit.org>
2577 More cleanup of kjs_window.
2578 - Move WindowFeatures from bridge/ to page/
2579 - Move functions related to WindowFeatures (boolFeature,
2580 floatFeature, setWindowFeature, parseWindowFeatures) into the class.
2581 - Fix up whitespace.
2583 * WebCore.vcproj/WebCore.vcproj:
2584 * WebCore.xcodeproj/project.pbxproj:
2585 * bindings/js/kjs_window.cpp:
2586 (KJS::DOMWindowTimer::~DOMWindowTimer):
2587 (KJS::createWindow):
2588 (KJS::showModalDialog):
2589 (KJS::Window::getOwnPropertySlot):
2590 (KJS::Window::allowsAccessFrom):
2591 (KJS::Window::shouldInterruptScript):
2592 (KJS::WindowProtoFuncAToB::callAsFunction):
2593 (KJS::WindowProtoFuncOpen::callAsFunction):
2594 (KJS::Window::setReturnValueSlot):
2595 (KJS::ScheduledAction::execute):
2596 (KJS::Window::timerFired):
2597 (KJS::Location::Location):
2598 (KJS::Location::getValueProperty):
2599 (KJS::Location::getOwnPropertySlot):
2600 (KJS::Location::put):
2601 (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
2602 (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
2603 (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
2604 allowsAccessFrom, cleanup the function a little.
2605 (KJS::PausedTimeouts::~PausedTimeouts):
2606 * bridge/WindowFeatures.h: Removed.
2607 * page/WindowFeatures.cpp: Added.
2608 (WebCore::isSeparator):
2609 (WebCore::WindowFeatures::WindowFeatures):
2610 (WebCore::WindowFeatures::setWindowFeature):
2611 (WebCore::WindowFeatures::boolFeature):
2612 (WebCore::WindowFeatures::floatFeature):
2613 * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
2614 (WebCore::WindowFeatures::WindowFeatures):
2616 2007-12-10 Timothy Hatcher <timothy@apple.com>
2618 Reviewed by Mark Rowe.
2620 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2622 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2623 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2625 2007-12-10 Alp Toker <alp@atoker.com>
2629 Cairo implementation of GraphicsContext::setUseAntialiasing().
2631 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2632 (WebCore::GraphicsContext::setUseAntialiasing):
2634 2007-12-10 Rob Buis <buis@kde.org>
2638 http://bugs.webkit.org/show_bug.cgi?id=16182
2639 SVG should disable antialiasing for shape-rendering="crispEdges"
2641 Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
2643 * platform/graphics/GraphicsContext.h:
2644 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2645 (WebCore::GraphicsContext::setUseAntialiasing):
2646 * platform/graphics/cg/GraphicsContextCG.cpp:
2647 (WebCore::GraphicsContext::setUseAntialiasing):
2648 * platform/graphics/qt/GraphicsContextQt.cpp:
2649 (WebCore::GraphicsContext::setUseAntialiasing):
2650 * platform/graphics/wx/GraphicsContextWx.cpp:
2651 (WebCore::GraphicsContext::setUseAntialiasing):
2652 * rendering/RenderPath.cpp:
2653 (WebCore::RenderPath::paint):
2655 2007-12-09 Rob Buis <buis@kde.org>
2659 http://bugs.webkit.org/show_bug.cgi?id=16163
2660 SVG crash in Node::setChanged() on Debug builds only (trashed parent)
2662 Fix the crash by properly unregistering as client from SVGResource
2663 when deleting a styled svg node.
2665 * svg/SVGStyledElement.cpp:
2666 (WebCore::SVGStyledElement::~SVGStyledElement):
2668 2007-12-10 Brady Eidson <beidson@apple.com>
2670 Rubberstamped by John
2672 * storage/DatabaseTracker.cpp:
2673 (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
2674 for the new quota, we should allow the database to be created
2676 2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
2678 Bug 9683: Implement select.options.remove() method
2679 <http://bugs.webkit.org/show_bug.cgi?id=9683>
2683 Implement select.options.remove() by calling select.remove()
2684 with the same arguments. This is what MSIE 7 does, although its
2685 select.remove() method differs from WebKit's by throwing an
2686 exception when called with no arguments or with a negative
2687 integer argument. Note that the DOM Level 1 documentation
2688 specifies that select.remove() does not throw an exception.
2690 Tests: fast/js/select-options-remove-gc.html
2691 fast/js/select-options-remove.html
2693 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2694 (WebCore::JSHTMLOptionsCollection::remove): Added.
2695 * html/HTMLOptionsCollection.cpp:
2696 (WebCore::HTMLOptionsCollection::remove): Added.
2697 * html/HTMLOptionsCollection.h:
2698 * html/HTMLOptionsCollection.idl:
2700 2007-12-09 Sam Weinig <sam@webkit.org>
2702 Rubber stamped by Mark Rowe.
2704 * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
2706 2007-12-09 Oliver Hunt <oliver@apple.com>
2710 Correction, 'z' and 'Z' are the only commands that cannot have an extended
2713 * svg/SVGParserUtilities.cpp:
2714 (WebCore::SVGPathParser::parseSVG):
2716 2007-12-09 Oliver Hunt <oliver@apple.com>
2720 Prevent unlimited iteration in the case of invalid path data.
2722 The only path commands that can leave numbers trailing the command processing
2723 are 'm' and 'M', in which trailing numbers are parsed as arguments to an
2724 implicit lineto command. In any case we should just terminate as an invalid
2727 * svg/SVGParserUtilities.cpp:
2728 (WebCore::SVGPathParser::parseSVG):
2730 2007-12-09 Luca Bruno <lethalman88@gmail.com>
2732 Reviewed by Alp Toker.
2734 http://bugs.webkit.org/show_bug.cgi?id=15825
2735 [GTK] curl - slow dns causing hangs.
2737 Create a vector of jobs, to satisfy requests in the right order.
2738 Set a limit to the number of simultaneous connections.
2740 * platform/network/curl/ResourceHandleManager.cpp:
2741 (WebCore::maxRunningJobs): added
2742 (WebCore::ResourceHandleManager::ResourceHandleManager):
2743 (WebCore::ResourceHandleManager::removeFromCurl):
2744 (WebCore::ResourceHandleManager::startScheduledJobs):
2746 * platform/network/curl/ResourceHandleManager.h:
2747 (WebCore::ResourceHandleList): removed
2748 (WebCore::ResourceHandleManager::m_runningJobs): added
2749 (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
2750 (WebCore::ResourceHandleManager::m_resourceHandleList): added
2752 2007-12-08 Sam Weinig <sam@webkit.org>
2756 Cleanup kjs_window.h/cpp.
2758 * bindings/js/kjs_window.cpp:
2759 (KJS::WindowPrivate::WindowPrivate):
2760 (KJS::DOMWindowTimer::DOMWindowTimer):
2761 (KJS::Window::Window):
2762 (KJS::Window::retrieveWindow):
2763 (KJS::Window::retrieveActive):
2764 (KJS::Window::retrieve):
2765 (KJS::Window::location):
2766 (KJS::Window::mark):
2768 (KJS::parseModalDialogFeatures):
2769 (KJS::floatFeature):
2770 (KJS::canShowModalDialog):
2771 (KJS::canShowModalDialogNow):
2772 (KJS::showModalDialog):
2773 (KJS::Window::getValueProperty):
2774 (KJS::Window::getOwnPropertySlot):
2775 (KJS::Window::globalExec):
2776 (KJS::Window::setListener):
2777 (KJS::Window::getListener):
2778 (KJS::Window::findOrCreateJSEventListener):
2779 (KJS::Window::findOrCreateJSUnprotectedEventListener):
2780 (KJS::Window::clearHelperObjectProperties):
2781 (KJS::Window::setCurrentEvent):
2782 (KJS::WindowProtoFuncAToB::callAsFunction):
2783 (KJS::WindowProtoFuncBToA::callAsFunction):
2784 (KJS::WindowProtoFuncOpen::callAsFunction):
2785 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2786 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2787 (KJS::WindowProtoFuncSetInterval::callAsFunction):
2788 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2789 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2790 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2791 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2792 * bindings/js/kjs_window.h:
2793 (KJS::PausedTimeouts::PausedTimeouts):
2794 (KJS::PausedTimeouts::takeTimeouts):
2795 (KJS::ScheduledAction::ScheduledAction):
2797 2007-12-08 Sam Weinig <sam@webkit.org>
2801 Move window scrolling, moving and resizing methods from KJS::Window
2802 to WebCore::DOMWindow so that there bindings can be autogenerated.
2804 Tests: fast/dom/Window/window-resize-and-move-arguments.html
2805 fast/dom/Window/window-scroll-arguments.html
2807 * WebCore.xcodeproj/project.pbxproj:
2808 * bindings/js/kjs_window.cpp:
2809 (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
2810 (KJS::WindowProtoFuncOpen::callAsFunction):
2811 (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
2812 * bindings/js/kjs_window.h:
2813 * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
2814 to ensure that the no less than the declared number of attributes
2816 * page/DOMWindow.cpp:
2817 (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
2818 (WebCore::DOMWindow::scrollBy):
2819 (WebCore::DOMWindow::scrollTo):
2820 (WebCore::DOMWindow::moveBy):
2821 (WebCore::DOMWindow::moveTo):
2822 (WebCore::DOMWindow::resizeBy):
2823 (WebCore::DOMWindow::resizeTo):
2825 (WebCore::DOMWindow::scroll):
2826 * page/DOMWindow.idl:
2828 2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
2830 Reviewed by Alp Toker.
2832 http://bugs.webkit.org/show_bug.cgi?id=14651
2833 [CURL] didReceiveResponse() only called for HTTP loads
2835 http://bugs.webkit.org/show_bug.cgi?id=14583
2836 [GDK] file:// relative CSS include URLs handled incorrectly
2838 Make sure CURL sets the ResourceResponse URL and calls
2839 didReceiveResponse for local files too.
2841 * platform/network/curl/ResourceHandleManager.cpp:
2842 (WebCore::writeCallback):
2844 2007-12-08 Oliver Hunt <oliver@apple.com>
2848 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
2850 Fixes <rdar://problem/5620249> Must disable SVG animation
2851 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
2853 In order to allow finer grained control over the set of SVG features
2854 this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
2856 ENABLE_SVG_ANIMATION
2862 by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
2864 * Configurations/WebCore.xcconfig:
2865 * DerivedSources.make:
2866 Handle the increased number of build flags that may be necessary
2868 * WebCore.SVG.Animation.exp: Added.
2869 * WebCore.SVG.Filters.exp: Added.
2871 We now may not need the animation or filter exports so
2872 these need to be separate.
2874 * WebCore.vcproj/WebCore.vcproj:
2875 * WebCore.vcproj/build-generated-files.sh:
2876 Update for new flags
2878 Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES)
2879 with the appropriate specific feature flag.
2880 * bindings/js/JSSVGElementWrapperFactory.cpp:
2881 (WebCore::createJSSVGWrapper):
2882 * bindings/objc/DOM.mm:
2883 (WebCore::createElementClassMap):
2884 * dom/make_names.pl:
2885 * loader/CachedImage.cpp:
2886 (WebCore::CachedImage::createImage):
2887 * page/DOMWindow.idl:
2888 * rendering/RenderPath.cpp:
2889 (WebCore::RenderPath::absoluteClippedOverflowRect):
2890 * rendering/RenderSVGContainer.cpp:
2891 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2892 * rendering/RenderSVGImage.cpp:
2893 (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
2894 * rendering/RenderSVGRoot.cpp:
2895 (WebCore::RenderSVGRoot::paint):
2896 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2897 * rendering/RenderSVGText.cpp:
2898 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2899 * rendering/SVGRenderSupport.cpp:
2900 (WebCore::prepareToRenderSVGContent):
2901 (WebCore::finishRenderSVGContent):
2902 * svg/SVGAnimateElement.cpp:
2903 * svg/SVGAnimateElement.h:
2904 * svg/SVGAnimateElement.idl:
2905 * svg/SVGAnimateMotionElement.cpp:
2906 * svg/SVGAnimateMotionElement.h:
2907 * svg/SVGAnimateTransformElement.cpp:
2908 * svg/SVGAnimateTransformElement.h:
2909 * svg/SVGAnimateTransformElement.idl:
2910 * svg/SVGComponentTransferFunctionElement.cpp:
2911 * svg/SVGComponentTransferFunctionElement.h:
2912 * svg/SVGComponentTransferFunctionElement.idl:
2913 * svg/SVGDocumentExtensions.cpp:
2914 (WebCore::SVGDocumentExtensions::startAnimations):
2915 * svg/SVGFEBlendElement.cpp:
2916 * svg/SVGFEBlendElement.h:
2917 * svg/SVGFEBlendElement.idl:
2918 * svg/SVGFEColorMatrixElement.cpp:
2919 * svg/SVGFEColorMatrixElement.h:
2920 * svg/SVGFEColorMatrixElement.idl:
2921 * svg/SVGFEComponentTransferElement.cpp:
2922 * svg/SVGFEComponentTransferElement.h:
2923 * svg/SVGFEComponentTransferElement.idl:
2924 * svg/SVGFECompositeElement.cpp:
2925 * svg/SVGFECompositeElement.h:
2926 * svg/SVGFECompositeElement.idl:
2927 * svg/SVGFEDiffuseLightingElement.cpp:
2928 * svg/SVGFEDiffuseLightingElement.h:
2929 * svg/SVGFEDiffuseLightingElement.idl:
2930 * svg/SVGFEDisplacementMapElement.cpp:
2931 * svg/SVGFEDisplacementMapElement.h:
2932 * svg/SVGFEDisplacementMapElement.idl:
2933 * svg/SVGFEDistantLightElement.cpp:
2934 * svg/SVGFEDistantLightElement.h:
2935 * svg/SVGFEDistantLightElement.idl:
2936 * svg/SVGFEFloodElement.cpp:
2937 * svg/SVGFEFloodElement.h:
2938 * svg/SVGFEFloodElement.idl:
2939 * svg/SVGFEFuncAElement.cpp:
2940 * svg/SVGFEFuncAElement.h:
2941 * svg/SVGFEFuncAElement.idl:
2942 * svg/SVGFEFuncBElement.cpp:
2943 * svg/SVGFEFuncBElement.h:
2944 * svg/SVGFEFuncBElement.idl:
2945 * svg/SVGFEFuncGElement.cpp:
2946 * svg/SVGFEFuncGElement.h:
2947 * svg/SVGFEFuncGElement.idl:
2948 * svg/SVGFEFuncRElement.cpp:
2949 * svg/SVGFEFuncRElement.h:
2950 * svg/SVGFEFuncRElement.idl:
2951 * svg/SVGFEGaussianBlurElement.cpp:
2952 * svg/SVGFEGaussianBlurElement.h:
2953 * svg/SVGFEGaussianBlurElement.idl:
2954 * svg/SVGFEImageElement.cpp:
2955 * svg/SVGFEImageElement.h:
2956 * svg/SVGFEImageElement.idl:
2957 * svg/SVGFELightElement.cpp:
2958 * svg/SVGFELightElement.h:
2959 * svg/SVGFEMergeElement.cpp:
2960 * svg/SVGFEMergeElement.h:
2961 * svg/SVGFEMergeElement.idl:
2962 * svg/SVGFEMergeNodeElement.cpp:
2963 * svg/SVGFEMergeNodeElement.h:
2964 * svg/SVGFEMergeNodeElement.idl:
2965 * svg/SVGFEOffsetElement.cpp:
2966 * svg/SVGFEOffsetElement.h:
2967 * svg/SVGFEOffsetElement.idl:
2968 * svg/SVGFEPointLightElement.cpp:
2969 * svg/SVGFEPointLightElement.h:
2970 * svg/SVGFEPointLightElement.idl:
2971 * svg/SVGFESpecularLightingElement.cpp:
2972 * svg/SVGFESpecularLightingElement.h:
2973 * svg/SVGFESpecularLightingElement.idl:
2974 * svg/SVGFESpotLightElement.cpp:
2975 * svg/SVGFESpotLightElement.h:
2976 * svg/SVGFESpotLightElement.idl:
2977 * svg/SVGFETileElement.cpp:
2978 * svg/SVGFETileElement.h:
2979 * svg/SVGFETileElement.idl:
2980 * svg/SVGFETurbulenceElement.cpp:
2981 * svg/SVGFETurbulenceElement.h:
2982 * svg/SVGFETurbulenceElement.idl:
2983 * svg/SVGFilterElement.cpp:
2984 * svg/SVGFilterElement.h:
2985 * svg/SVGFilterElement.idl:
2986 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2988 (WebCore::SVGTimer::animationsByElement):
2989 * svg/SVGUseElement.cpp:
2990 (WebCore::SVGUseElement::buildPendingResource):
2991 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2992 * svg/SVGUseElement.h:
2993 * svg/TimeScheduler.cpp:
2994 (WebCore::TimeScheduler::connectIntervalTimer):
2995 (WebCore::TimeScheduler::disconnectIntervalTimer):
2996 * svg/graphics/SVGResourceFilter.cpp:
2997 * svg/graphics/SVGResourceFilter.h:
2998 * svg/graphics/cg/SVGResourceFilterCg.cpp:
2999 * svg/graphics/cg/SVGResourceFilterCg.mm:
3000 * svg/graphics/filters/SVGDistantLightSource.h:
3001 * svg/graphics/filters/SVGFEBlend.cpp:
3002 * svg/graphics/filters/SVGFEBlend.h:
3003 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3004 * svg/graphics/filters/SVGFEColorMatrix.h:
3005 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3006 * svg/graphics/filters/SVGFEComponentTransfer.h:
3007 * svg/graphics/filters/SVGFEComposite.cpp:
3008 * svg/graphics/filters/SVGFEComposite.h:
3009 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3010 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3011 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3012 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3013 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3014 * svg/graphics/filters/SVGFEDisplacementMap.h:
3015 * svg/graphics/filters/SVGFEFlood.cpp:
3016 * svg/graphics/filters/SVGFEFlood.h:
3017 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3018 * svg/graphics/filters/SVGFEGaussianBlur.h:
3019 * svg/graphics/filters/SVGFEImage.cpp:
3020 * svg/graphics/filters/SVGFEImage.h:
3021 * svg/graphics/filters/SVGFEMerge.cpp:
3022 * svg/graphics/filters/SVGFEMerge.h:
3023 * svg/graphics/filters/SVGFEMorphology.cpp:
3024 * svg/graphics/filters/SVGFEMorphology.h:
3025 * svg/graphics/filters/SVGFEOffset.cpp:
3026 * svg/graphics/filters/SVGFEOffset.h:
3027 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3028 * svg/graphics/filters/SVGFESpecularLighting.h:
3029 * svg/graphics/filters/SVGFETile.h:
3030 * svg/graphics/filters/SVGFETurbulence.cpp:
3031 * svg/graphics/filters/SVGFETurbulence.h:
3032 * svg/graphics/filters/SVGFilterEffect.cpp:
3033 * svg/graphics/filters/SVGFilterEffect.h:
3034 * svg/graphics/filters/SVGLightSource.cpp:
3035 * svg/graphics/filters/SVGLightSource.h:
3036 * svg/graphics/filters/SVGPointLightSource.h:
3037 * svg/graphics/filters/SVGSpotLightSource.h:
3038 * svg/graphics/filters/cg/SVGFEBlendCg.mm:
3039 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
3040 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
3041 * svg/graphics/filters/cg/SVGFECompositeCg.mm:
3042 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3043 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3044 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3045 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3046 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3047 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3048 * svg/graphics/filters/cg/SVGFEImageCg.mm:
3049 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3050 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3051 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3052 * svg/graphics/filters/cg/SVGFETileCg.mm:
3053 * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
3054 * svg/graphics/filters/cg/WKArithmeticFilter.h:
3055 * svg/graphics/filters/cg/WKArithmeticFilter.m:
3056 * svg/graphics/filters/cg/WKComponentMergeFilter.h:
3057 * svg/graphics/filters/cg/WKComponentMergeFilter.m:
3058 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
3059 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
3060 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
3061 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
3062 * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
3063 * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
3064 * svg/graphics/filters/cg/WKDistantLightFilter.h:
3065 * svg/graphics/filters/cg/WKDistantLightFilter.m:
3066 * svg/graphics/filters/cg/WKGammaTransferFilter.h:
3067 * svg/graphics/filters/cg/WKGammaTransferFilter.m:
3068 * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
3069 * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
3070 * svg/graphics/filters/cg/WKLinearTransferFilter.h:
3071 * svg/graphics/filters/cg/WKLinearTransferFilter.m:
3072 * svg/graphics/filters/cg/WKNormalMapFilter.h:
3073 * svg/graphics/filters/cg/WKNormalMapFilter.m:
3074 * svg/graphics/filters/cg/WKPointLightFilter.h:
3075 * svg/graphics/filters/cg/WKPointLightFilter.m:
3076 * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
3077 * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
3078 * svg/graphics/filters/cg/WKSpotLightFilter.h:
3079 * svg/graphics/filters/cg/WKSpotLightFilter.m:
3080 * svg/graphics/filters/cg/WKTableTransferFilter.h:
3081 * svg/graphics/filters/cg/WKTableTransferFilter.m:
3082 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
3083 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
3086 2007-12-08 Dan Bernstein <mitz@apple.com>
3088 Reviewed by Adele Peterson.
3090 - fix two bugs in parsing of stylesheets in <style> elements created by
3092 1. each such stylesheet is parsed twice, once when the text node is
3093 added and again when the </style> tag is reached
3094 2. re-inserting such a <style> element into the document fails to
3095 re-parse and apply its stylesheet.
3097 Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
3099 * html/HTMLStyleElement.cpp:
3100 (WebCore::HTMLStyleElement::finishedParsing):
3101 * svg/SVGStyleElement.cpp:
3102 (WebCore::SVGStyleElement::finishedParsing):
3104 2007-12-07 Sam Weinig <sam@webkit.org>
3108 - Removes the faulty isSafeScript implementation that was only
3110 - Renames isSafeScript to allowsAccessFrom.
3112 * bindings/js/JSDOMWindowCustom.cpp:
3113 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3114 (WebCore::JSDOMWindow::customPut):
3115 * bindings/js/kjs_dom.cpp:
3116 (WebCore::checkNodeSecurity):
3117 * bindings/js/kjs_window.cpp:
3118 (KJS::createWindow):
3119 (KJS::Window::getValueProperty):
3120 (KJS::Window::namedItemGetter):
3121 (KJS::Window::getOwnPropertySlot):
3123 (KJS::Window::allowsAccessFrom):
3124 (KJS::Window::setListener):
3125 (KJS::Window::getListener):
3126 (KJS::WindowProtoFuncOpen::callAsFunction):
3127 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
3128 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
3129 (KJS::WindowProtoFuncSetInterval::callAsFunction):
3130 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
3131 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
3132 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
3133 (KJS::Location::getOwnPropertySlot):
3134 (KJS::Location::put):
3135 (KJS::LocationProtoFuncReplace::callAsFunction):
3136 (KJS::LocationProtoFuncReload::callAsFunction):
3137 (KJS::LocationProtoFuncAssign::callAsFunction):
3138 (KJS::LocationProtoFuncToString::callAsFunction):
3139 * bindings/js/kjs_window.h:
3140 (KJS::Window::allowsAccessFrom):
3141 * bindings/objc/WebScriptObject.mm:
3142 (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
3144 * bindings/scripts/CodeGeneratorJS.pm:
3146 2007-12-08 Rob Buis <buis@kde.org>
3150 http://bugs.webkit.org/show_bug.cgi?id=15464
3151 SVGLengthList allows bad values
3153 Be more strict with svg lengths without a unit identifier.
3155 Test: svg/custom/invalid-lengthlist.svg
3157 * svg/SVGLength.cpp:
3158 (WebCore::SVGLength::setValueAsString):
3160 2007-12-08 Rob Buis <buis@kde.org>
3162 Mac Tiger build fix.
3164 Use the wtf prefix when including MathExtras.h.
3166 * rendering/RenderMedia.cpp:
3168 2007-12-08 Alp Toker <alp@atoker.com>
3170 GTK+ build fix (for ENABLE_VIDEO builds):
3172 Include MathExtras.h to get isfinite().
3174 * rendering/RenderMedia.cpp:
3176 2007-12-08 Rob Buis <buis@kde.org>
3180 http://bugs.webkit.org/show_bug.cgi?id=15528
3181 svg_dynamic_cast should be removed
3183 Replace svg_dynamic_cast with a combination of
3184 isSVGElement and static_cast.
3186 * rendering/SVGRootInlineBox.cpp:
3187 (WebCore::SVGRootInlineBox::buildLayoutInformation):
3188 (WebCore::SVGRootInlineBox::buildTextChunks):
3189 * svg/SVGAnimationElement.cpp:
3190 (WebCore::SVGAnimationElement::targetElement):
3192 * svg/SVGElementInstance.cpp:
3193 (WebCore::SVGElementInstance::updateInstance):
3194 * svg/SVGFilterElement.cpp:
3195 (WebCore::SVGFilterElement::canvasResource):
3196 * svg/SVGGradientElement.cpp:
3197 (WebCore::SVGGradientElement::buildStops):
3198 * svg/SVGLocatable.cpp:
3199 (WebCore::SVGLocatable::getTransformToElement):
3200 * svg/SVGMaskElement.cpp:
3201 (WebCore::SVGMaskElement::drawMaskerContent):
3202 * svg/SVGSwitchElement.cpp:
3203 (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3204 * svg/SVGUseElement.cpp:
3205 (WebCore::SVGUseElement::insertedIntoDocument):
3206 (WebCore::SVGUseElement::buildPendingResource):
3207 (WebCore::SVGUseElement::buildInstanceTree):
3208 (WebCore::SVGUseElement::handleDeepUseReferencing):
3209 (WebCore::SVGUseElement::buildShadowTree):
3210 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3211 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3212 * svg/graphics/SVGResource.cpp:
3213 (WebCore::getResourceById):
3215 2007-12-07 Antti Koivisto <antti@apple.com>
3219 Partial fix for <rdar://problem/5633400>
3220 Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
3222 Fix video painting when transform is applied.
3224 Test: media/video-transformed.html
3226 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3227 (WebCore::MediaPlayerPrivate::paint):
3229 2007-12-07 Dan Bernstein <mitz@apple.com>
3231 Reviewed by Sam Weinig.
3233 - fix http://bugs.webkit.org/show_bug.cgi?id=16348
3234 @font-face does not affect the default style
3236 Test: fast/css/font-face-default-font.html
3239 (WebCore::Document::recalcStyle): Pass our font selector to
3240 Font::update() if we already have one.
3242 2007-12-07 Darin Adler <darin@apple.com>
3246 * bridge/win/GlobalHistoryWin.cpp:
3247 (WebCore::historyContains): Missed a rename.
3249 2007-12-07 Brady Eidson <beidson@apple.com>
3251 Reviewed by Anders and Darin
3253 When a statement bumps up against the quota and the UI Delegate grants more space, we need to
3254 actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
3255 in the DatabaseTracker, which was already done)
3257 * storage/SQLTransaction.cpp:
3258 (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
3259 the SQLiteDatabase to the new maximum size
3261 2007-12-07 Darin Adler <darin@apple.com>
3265 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
3266 QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
3268 2007-12-07 Darin Adler <darin@apple.com>
3270 - fix 64-bit build, hopefully without breaking Tiger build
3272 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3273 (WebCore::MediaPlayerPrivate::updateStates):
3274 Don't use Movies.h constants that are nonexistent in 64-bit.
3275 Define the new QTMovie.h constants, though, when using an older QTKit.
3277 2007-12-07 Brady Eidson <beidson@apple.com>
3281 Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
3283 * storage/DatabaseTracker.cpp:
3284 (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
3285 (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
3286 * storage/DatabaseTracker.h:
3288 2007-12-07 Darin Adler <darin@apple.com>
3292 - http://bugs.webkit.org/show_bug.cgi?id=15981
3293 speed up visited-link code a bit
3295 * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
3296 instead of requiring a DeprecatedString.
3298 * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
3299 Also removes pointless "fast Latin-1" case that was never used.
3300 * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
3301 * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3302 * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3304 * css/CSSStyleSelector.cpp:
3305 (WebCore::findHash): Added. Helper for cleanpath.
3306 (WebCore::findSlashDotDotSlash): Ditto.
3307 (WebCore::findSlashSlash): Ditto.
3308 (WebCore::findSlashDotSlash): Ditto.
3309 (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
3310 DeprecatedString find function.
3311 (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
3312 (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
3313 instead of an AtomicString for the attribute value. Changed to use fast helper function
3314 instead of slower DeprecatedString::contains function, and also made the fast case not
3315 bother allocating a DeprecatedConstString.
3317 - unrelated tiny cleanup
3319 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3320 (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
3321 (WebCore::cgGradientCallback): Ditto.
3323 2007-12-07 Darin Adler <darin@apple.com>
3325 Fix build on Tiger (Mark Rowe told me how).
3327 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3328 Include <objc/objc-runtime.h>, which existed back on Tiger,
3329 rather than <objc/runtime.h>, which did not.
3331 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3333 Build fix: rolling out last build fix to change #include path.
3335 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3337 2007-12-07 Steve Falkenburg <sfalken@apple.com>
3339 Re-named our B&I flag from BUILDBOT to PRODUCTION.
3341 Reviewed by Sam Weinig.
3343 * WebCore.vcproj/WebCore.make:
3345 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3347 Build fix: corrected #include path.
3349 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3351 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3353 Reviewed by Sam Weinig.
3355 Added some namespace qualifications and a forwarding header, now that
3356 KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
3358 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
3359 * bindings/js/JSXSLTProcessor.cpp:
3360 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
3361 * bindings/js/kjs_binding.cpp:
3362 (KJS::ScriptInterpreter::getDOMNodeForDocument):
3363 (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3364 (KJS::ScriptInterpreter::putDOMNodeForDocument):
3365 (KJS::ScriptInterpreter::markDOMNodesForDocument):
3366 (KJS::ScriptInterpreter::updateDOMNodeDocument):
3368 2007-12-07 Adam Roben <aroben@apple.com>
3370 Add SoftLinking.h for Windows and use it in a few places
3374 * WebCore.vcproj/WebCore.vcproj: Added new file to project.
3375 * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
3376 (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
3378 (WebCore::PlatformScrollbar::paintButton): Check for the presence of
3379 the SafariTheme library now that we can't check for the presence of
3380 paintThemePart directly.
3381 (WebCore::PlatformScrollbar::paintTrack): Ditto.
3382 (WebCore::PlatformScrollbar::paintThumb): Ditto.
3383 * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
3384 * rendering/RenderThemeSafari.cpp: Same basic changes as to
3385 PlatformScrollBarSafari.cpp.
3386 (WebCore::RenderThemeSafari::RenderThemeSafari):
3387 (WebCore::RenderThemeSafari::isControlStyled):
3388 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3389 * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
3391 2007-12-07 Darin Adler <darin@apple.com>
3395 - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
3396 at WebCore::HTMLSelectElement::saveState const + 152
3398 Test: fast/forms/select-set-inner.html
3400 * dom/ContainerNode.cpp:
3401 (WebCore::ContainerNode::removeChildren): Added a return value, as with other
3402 calls that change children, so we can optimize for the case where it does nothing.
3403 (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
3404 * dom/ContainerNode.h: See above.
3406 * html/HTMLOptGroupElement.cpp:
3407 (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
3408 recalcSelectOptions in that case.
3409 (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
3410 addChild, for consistency with HTMLSelectElement; no need to override both.
3411 (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
3412 * html/HTMLOptGroupElement.h: See above.
3414 * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
3415 override childrenChanged, and addChild calls that.
3416 (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
3417 recalcSelectOptions in that case.
3418 (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
3419 by using a for loop and traverseNextSibling. Also added some new comments and
3420 removed some obsolete ones.
3421 (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
3422 sure we don't have a stale list items vector.
3423 * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
3424 This will help us catch cases where we have too few calls to setRecalcListItems.
3426 2007-12-07 Dan Bernstein <mitz@apple.com>
3428 Reviewed by Darin Adler.
3430 - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3432 Test: fast/repaint/focus-ring.html
3434 * editing/SelectionController.cpp:
3435 (WebCore::SelectionController::caretRepaintRect): Changed to return just
3436 the caret rect without any padding.
3437 (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
3438 just the caret rect without any padding.
3439 * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
3440 clearFocusRingClip().
3441 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3442 * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
3443 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
3444 m_focusRingClip member.
3445 * platform/graphics/mac/GraphicsContextMac.mm:
3446 (WebCore::GraphicsContext::drawFocusRing): Changed to call
3447 wkDrawFocusRing() once without setting up additional clip. On Leopard,
3448 wkDrawFocusRing() respects the context clip now. On Tiger, a
3449 transparency layer is used to apply clipping to the focus ring.
3450 * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
3452 * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
3453 * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
3454 to wkDrawFocusRing().
3455 * platform/mac/WebCoreSystemInterface.mm: Ditto.
3456 * rendering/RenderLayer.cpp:
3457 (WebCore::setClip): Removed call to set the focus ring clip.
3458 (WebCore::restoreClip): Removed call to reset the focus ring clip.
3460 2007-12-07 Darin Adler <darin@apple.com>
3462 Reviewed by Antti Koivisto and Kevin Decker.
3464 - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
3466 Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
3468 * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
3470 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
3471 Made a lot more functions const. Made a few more members private and a couple inline.
3472 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
3473 things we currently use in QTKit. It's a little more awkward for classes and other data objects
3474 than it is for functions, but still relatively straightforward, with no changes needed to the
3475 client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
3476 it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
3477 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
3479 (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
3480 (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
3481 (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
3482 Changed to use long instead of int because that's the type for a QTTime time scale anyway.
3483 (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
3484 (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
3485 (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
3486 points set to avoid a potential problem with a set being modified as we iterate it.
3487 (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
3488 (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
3489 values, used the constants from the headers directly.
3490 (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
3491 pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
3492 of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
3493 no better). Used RetainPtr instead of explicit CFRelease calls.
3495 * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
3496 It's not quite as automatic as the soft linking we can do for functions, since these define
3497 functions to get the values, so you need to define macros to make what look like variable
3498 accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
3500 * html/HTMLMediaElement.h:
3501 * html/TimeRanges.h:
3502 * html/VoidCallback.h:
3503 * platform/graphics/MediaPlayer.h:
3504 Use angle brackets for wtf includes. Omit unneeded includes.
3506 2007-12-07 Dan Bernstein <mitz@apple.com>
3508 Reviewed by Darin Adler.
3510 - fix http://bugs.webkit.org/show_bug.cgi?id=16334
3511 <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
3513 Test: fast/dynamic/subtree-no-common-root-static-y.html
3515 * rendering/RenderObject.cpp:
3516 (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
3517 to setChildNeedsLayout() to not mark containing blocks and added a
3518 separate call to markContainingBlocksForLayout() that will not schedule
3519 a layout if we are already in the middle of scheduleRelayoutOfSubtree().
3521 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
3525 http://bugs.webkit.org/show_bug.cgi?id=16325
3526 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
3528 Test: http/tests/misc/empty-cookie.html
3530 * platform/mac/CookieJar.mm:
3531 (WebCore::setCookies): Don't store empty cookies.
3532 (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
3533 with an earlier version of Leopard!
3535 2007-12-06 Ada Chan <adachan@apple.com>
3537 Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
3538 returning true when there's an error).
3542 * platform/win/FileSystemWin.cpp:
3543 (WebCore::makeAllDirectories):
3545 2007-12-06 Darin Adler <darin@apple.com>
3547 - fix broken regression test
3549 * bindings/js/kjs_binding.cpp:
3550 (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
3552 2007-12-06 Darin Adler <darin@apple.com>
3554 Reviewed by Sam Weinig.
3556 - fix http://bugs.webkit.org/show_bug.cgi?id=16332
3557 ObjC DOM exception object descriptions should include the exception name
3559 * WebCore.pro: Added ExceptionCode.cpp.
3560 * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
3561 * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
3562 * WebCoreSources.bkl: Added ExceptionCode.cpp.
3564 * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
3565 ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
3566 the many unneeded includes that were here. Had to keep one special case here, for
3569 * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
3570 new getExceptionCodeDescription function so that this shares the exception name
3571 information that was previously only available to JavaScript.
3573 * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
3574 (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
3575 handle exception names in a slightly more robust way that is not subject to integer
3576 overflow. (Not a real world issue since we should never receive a bad exception code.)
3578 * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
3579 getExceptionCodeDescription function.
3581 * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
3582 the comments were mildly helpful, but others were incorrect. This now matches the other
3583 exception-related headers such as RangeException.h.
3585 2007-12-06 Brady Eidson <beidson@apple.com>
3589 Fixed a glaring bug that would prevent a statement from getting run a second time
3591 * storage/SQLStatement.cpp:
3592 (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
3594 (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
3596 2007-12-06 Timothy Hatcher <timothy@apple.com>
3598 Reviewed by Oliver Hunt.
3600 Use keydown instead of keypress so keyIdentifier can be used.
3602 * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
3603 * page/inspector/DatabasePanel.js: Ditto.
3604 * page/inspector/inspector.js: Ditto. Plus call removeEventListener
3605 before deleting windowLoaded.
3607 2007-12-06 Adam Roben <aroben@apple.com>
3609 Rename FontsTable.plist to FontsList.plist
3611 Rubberstamped by Hyatt.
3613 * platform/graphics/win/FontDatabase.cpp:
3615 2007-12-06 Brady Eidson <beidson@apple.com>
3619 Tweaked a comment and a few assertions from my last checkin
3621 * storage/SQLStatement.cpp:
3622 (WebCore::SQLStatement::execute):
3623 (WebCore::SQLStatement::clearFailureDueToQuota):
3624 (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
3626 2007-12-06 Brady Eidson <beidson@apple.com>
3630 Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
3631 will ask the UI Delegate for more space when that quota is met
3633 * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
3634 * platform/sql/SQLiteDatabase.h: Ditto
3636 * storage/Database.cpp:
3637 (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
3638 (WebCore::Database::stringIdentifier): Ditto
3639 * storage/Database.h:
3641 * storage/SQLStatement.cpp:
3642 (WebCore::SQLStatement::SQLStatement):
3643 (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
3644 If the result is quota, this statement expects that it might be run again, presumably after the user increases
3646 (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
3647 (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
3648 (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
3649 * storage/SQLStatement.h:
3651 * storage/SQLTransaction.cpp:
3652 (WebCore::SQLTransaction::SQLTransaction):
3653 (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
3654 (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this
3655 transaction. Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
3656 (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
3657 decision and whether the current statement was already run
3658 (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
3659 (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
3660 that handles a statement error was moved here
3661 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then
3662 reschedule the current statement on the database thread
3663 * storage/SQLTransaction.h:
3665 2007-12-06 Steve Falkenburg <sfalken@apple.com>
3667 <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
3669 Don't use callback-based timers, since these cause Windows to eat Windows crashes
3670 in code the timers call.
3672 Windows appears to be defending against "shatter" attacks partially by setting
3673 up a structured exception block while dispatching callback-based WM_TIMERs.
3675 I verified this by adding a divide by zero into some timer callback code.
3676 In the case where the timer was dispatched via a callback, the divide by zero
3677 exception was silently handled and ignored, with execution continuing after
3678 our call to DispatchMessage. When processed via the WNDPROC, no SEH
3679 block was established by Windows, and our divide by zero generated a real
3680 crash (which is what we wanted).
3682 Windows handling our crashes for us led us to leave the timer data structures
3683 in an invalid state so the next time a timer was set, we'd crash accessing an
3684 invalid HashMap of timer data.
3688 * platform/win/SharedTimerWin.cpp:
3689 (WebCore::TimerWindowWndProc):
3690 (WebCore::setSharedTimerFireTime):
3692 2007-12-06 Adam Roben <aroben@apple.com>
3694 Fix <rdar://5108390> Feed title is too low in blue banner
3696 Way back in r23069 we started applying the same font ascent hack that
3697 Mac WebKit applies to Helvetica, Times, and Courier. We did this so
3698 that those fonts would match the Mac metrics when we run the
3699 regression tests. However, this hack was applying to Arial on Windows
3700 when a site would specify the Helvetica font face because Windows will
3701 alias the font names. Instead of removing the hack entirely, we
3702 turn it off by default but provide some SPI so that DumpRenderTree can
3709 * platform/graphics/FontData.h: Add a new static method to turn on the
3710 hack on Windows only.
3711 * platform/graphics/win/FontDataWin.cpp:
3712 (WebCore::FontData::setShouldApplyMacAscentHack): Added.
3713 (WebCore::FontData::platformInit): Only perform the hack if
3714 shouldApplyMacAscentHack is true.
3716 2007-12-06 Geoffrey Garen <ggaren@apple.com>
3718 Reviewed by Sam Weinig.
3720 Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
3721 REGRESSION (r28470): Crash expanding a GMail conversation
3724 (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
3725 we haven't created the proxy yet. If we've created the proxy already, a
3726 script may be in the midst of execution, even though we've lost our
3727 settings object. During execution, scripts assume they have free access
3730 2007-12-06 Adele Peterson <adele@apple.com>
3734 Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
3736 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
3737 * html/HTMLMediaElement.h:
3739 2007-12-05 Antti Koivisto <antti@apple.com>
3745 Movie -> MediaPlayer
3746 MoviePrivate -> MediaPlayerPrivate
3748 Movie is QuickTime terminology and clashes with its C API.
3750 * WebCore.xcodeproj/project.pbxproj:
3751 * html/HTMLMediaElement.cpp:
3752 (WebCore::HTMLMediaElement::HTMLMediaElement):
3753 (WebCore::HTMLMediaElement::~HTMLMediaElement):
3754 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
3755 (WebCore::HTMLMediaElement::bufferingRate):
3756 (WebCore::HTMLMediaElement::load):
3757 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
3758 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
3759 (WebCore::HTMLMediaElement::setReadyState):
3760 (WebCore::HTMLMediaElement::progressEventTimerFired):
3761 (WebCore::HTMLMediaElement::seek):
3762 (WebCore::HTMLMediaElement::currentTime):
3763 (WebCore::HTMLMediaElement::duration):
3764 (WebCore::HTMLMediaElement::playbackRate):
3765 (WebCore::HTMLMediaElement::setPlaybackRate):
3766 (WebCore::HTMLMediaElement::play):
3767 (WebCore::HTMLMediaElement::pause):
3768 (WebCore::HTMLMediaElement::setVolume):
3769 (WebCore::HTMLMediaElement::setMuted):
3770 (WebCore::HTMLMediaElement::pickMedia):
3771 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
3772 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
3773 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3774 (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
3775 (WebCore::HTMLMediaElement::addCuePoint):
3776 (WebCore::HTMLMediaElement::buffered):
3777 (WebCore::HTMLMediaElement::seekable):
3778 (WebCore::HTMLMediaElement::effectiveStart):
3779 (WebCore::HTMLMediaElement::effectiveEnd):
3780 (WebCore::HTMLMediaElement::effectiveLoopStart):
3781 (WebCore::HTMLMediaElement::effectiveLoopEnd):
3782 (WebCore::HTMLMediaElement::updateMediaPlayer):
3783 (WebCore::HTMLMediaElement::willSaveToCache):
3784 * html/HTMLMediaElement.h:
3785 (WebCore::HTMLMediaElement::player):
3786 * html/HTMLVideoElement.cpp:
3787 (WebCore::HTMLVideoElement::videoWidth):
3788 (WebCore::HTMLVideoElement::videoHeight):
3789 * platform/MIMETypeRegistry.cpp:
3790 (WebCore::initialiseSupportedMediaMIMETypes):
3791 (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
3792 (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
3793 * platform/MIMETypeRegistry.h:
3794 * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
3795 (WebCore::MediaPlayer::MediaPlayer):
3796 (WebCore::MediaPlayer::~MediaPlayer):
3797 (WebCore::MediaPlayer::load):
3798 (WebCore::MediaPlayer::cancelLoad):
3799 (WebCore::MediaPlayer::play):
3800 (WebCore::MediaPlayer::pause):
3801 (WebCore::MediaPlayer::duration):
3802 (WebCore::MediaPlayer::currentTime):
3803 (WebCore::MediaPlayer::seek):
3804 (WebCore::MediaPlayer::paused):
3805 (WebCore::MediaPlayer::seeking):
3806 (WebCore::MediaPlayer::naturalSize):
3807 (WebCore::MediaPlayer::hasVideo):
3808 (WebCore::MediaPlayer::networkState):
3809 (WebCore::MediaPlayer::readyState):
3810 (WebCore::MediaPlayer::volume):
3811 (WebCore::MediaPlayer::setVolume):
3812 (WebCore::MediaPlayer::rate):
3813 (WebCore::MediaPlayer::setRate):
3814 (WebCore::MediaPlayer::muted):
3815 (WebCore::MediaPlayer::setMuted):
3816 (WebCore::MediaPlayer::dataRate):
3817 (WebCore::MediaPlayer::setEndTime):
3818 (WebCore::MediaPlayer::addCuePoint):
3819 (WebCore::MediaPlayer::removeCuePoint):
3820 (WebCore::MediaPlayer::clearCuePoints):
3821 (WebCore::MediaPlayer::maxTimeBuffered):
3822 (WebCore::MediaPlayer::maxTimeSeekable):
3823 (WebCore::MediaPlayer::bytesLoaded):
3824 (WebCore::MediaPlayer::totalBytesKnown):
3825 (WebCore::MediaPlayer::totalBytes):
3826 (WebCore::MediaPlayer::setRect):
3827 (WebCore::MediaPlayer::visible):
3828 (WebCore::MediaPlayer::setVisible):
3829 (WebCore::MediaPlayer::paint):
3830 (WebCore::MediaPlayer::getSupportedTypes):
3831 (WebCore::MediaPlayer::networkStateChanged):
3832 (WebCore::MediaPlayer::readyStateChanged):
3833 (WebCore::MediaPlayer::volumeChanged):
3834 (WebCore::MediaPlayer::timeChanged):
3835 (WebCore::MediaPlayer::cuePointReached):
3836 * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
3837 (WebCore::MediaPlayerClient::~MediaPlayerClient):
3838 (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
3839 (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
3840 (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
3841 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
3842 (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
3843 * platform/graphics/Movie.cpp: Removed.
3844 * platform/graphics/Movie.h: Removed.
3845 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
3846 (WebCore::mediaPlayerPrivateErrorCallback):
3847 (WebCore::mediaPlayerPrivateEOSCallback):
3848 (WebCore::mediaPlayerPrivateStateCallback):
3849 (WebCore::mediaPlayerPrivateBufferingCallback):
3850 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3851 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3852 (WebCore::MediaPlayerPrivate::load):
3853 (WebCore::MediaPlayerPrivate::play):
3854 (WebCore::MediaPlayerPrivate::pause):
3855 (WebCore::MediaPlayerPrivate::duration):
3856 (WebCore::MediaPlayerPrivate::currentTime):
3857 (WebCore::MediaPlayerPrivate::seek):
3858 (WebCore::MediaPlayerPrivate::setEndTime):
3859 (WebCore::MediaPlayerPrivate::addCuePoint):
3860 (WebCore::MediaPlayerPrivate::removeCuePoint):
3861 (WebCore::MediaPlayerPrivate::clearCuePoints):
3862 (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
3863 (WebCore::MediaPlayerPrivate::cancelSeek):
3864 (WebCore::MediaPlayerPrivate::cuePointTimerFired):
3865 (WebCore::MediaPlayerPrivate::paused):
3866 (WebCore::MediaPlayerPrivate::seeking):
3867 (WebCore::MediaPlayerPrivate::naturalSize):
3868 (WebCore::MediaPlayerPrivate::hasVideo):
3869 (WebCore::MediaPlayerPrivate::setVolume):
3870 (WebCore::MediaPlayerPrivate::setMuted):
3871 (WebCore::MediaPlayerPrivate::setRate):
3872 (WebCore::MediaPlayerPrivate::dataRate):
3873 (WebCore::MediaPlayerPrivate::networkState):
3874 (WebCore::MediaPlayerPrivate::readyState):
3875 (WebCore::MediaPlayerPrivate::maxTimeBuffered):
3876 (WebCore::MediaPlayerPrivate::maxTimeSeekable):
3877 (WebCore::MediaPlayerPrivate::maxTimeLoaded):
3878 (WebCore::MediaPlayerPrivate::bytesLoaded):
3879 (WebCore::MediaPlayerPrivate::totalBytesKnown):
3880 (WebCore::MediaPlayerPrivate::totalBytes):
3881 (WebCore::MediaPlayerPrivate::cancelLoad):
3882 (WebCore::MediaPlayerPrivate::updateStates):
3883 (WebCore::MediaPlayerPrivate::loadStateChanged):
3884 (WebCore::MediaPlayerPrivate::rateChanged):
3885 (WebCore::MediaPlayerPrivate::sizeChanged):
3886 (WebCore::MediaPlayerPrivate::timeChanged):
3887 (WebCore::MediaPlayerPrivate::volumeChanged):
3888 (WebCore::MediaPlayerPrivate::didEnd):
3889 (WebCore::MediaPlayerPrivate::loadingFailed):
3890 (WebCore::MediaPlayerPrivate::setRect):
3891 (WebCore::MediaPlayerPrivate::setVisible):
3892 (WebCore::MediaPlayerPrivate::paint):
3893 (WebCore::MediaPlayerPrivate::getSupportedTypes):
3894 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3895 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
3896 * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
3897 * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
3898 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
3899 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
3900 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3901 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3902 (WebCore::MediaPlayerPrivate::createQTMovie):
3903 (WebCore::MediaPlayerPrivate::createQTMovieView):
3904 (WebCore::MediaPlayerPrivate::createQTTime):
3905 (WebCore::MediaPlayerPrivate::load):
3906 (WebCore::MediaPlayerPrivate::play):
3907 (WebCore::MediaPlayerPrivate::pause):
3908 (WebCore::MediaPlayerPrivate::duration):
3909 (WebCore::MediaPlayerPrivate::currentTime):
3910 (WebCore::MediaPlayerPrivate::seek):
3911 (WebCore::MediaPlayerPrivate::doSeek):
3912 (WebCore::MediaPlayerPrivate::cancelSeek):
3913 (WebCore::MediaPlayerPrivate::seekTimerFired):
3914 (WebCore::MediaPlayerPrivate::setEndTime):
3915 (WebCore::MediaPlayerPrivate::addCuePoint):
3916 (WebCore::MediaPlayerPrivate::removeCuePoint):
3917 (WebCore::MediaPlayerPrivate::clearCuePoints):
3918 (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
3919 (WebCore::MediaPlayerPrivate::cuePointTimerFired):
3920 (WebCore::MediaPlayerPrivate::paused):
3921 (WebCore::MediaPlayerPrivate::seeking):
3922 (WebCore::MediaPlayerPrivate::naturalSize):
3923 (WebCore::MediaPlayerPrivate::hasVideo):
3924 (WebCore::MediaPlayerPrivate::setVolume):
3925 (WebCore::MediaPlayerPrivate::setMuted):
3926 (WebCore::MediaPlayerPrivate::setRate):
3927 (WebCore::MediaPlayerPrivate::dataRate):
3928 (WebCore::MediaPlayerPrivate::networkState):
3929 (WebCore::MediaPlayerPrivate::readyState):
3930 (WebCore::MediaPlayerPrivate::maxTimeBuffered):
3931 (WebCore::MediaPlayerPrivate::maxTimeSeekable):
3932 (WebCore::MediaPlayerPrivate::maxTimeLoaded):
3933 (WebCore::MediaPlayerPrivate::bytesLoaded):
3934 (WebCore::MediaPlayerPrivate::totalBytesKnown):
3935 (WebCore::MediaPlayerPrivate::totalBytes):
3936 (WebCore::MediaPlayerPrivate::cancelLoad):
3937 (WebCore::MediaPlayerPrivate::updateStates):
3938 (WebCore::MediaPlayerPrivate::loadStateChanged):
3939 (WebCore::MediaPlayerPrivate::rateChanged):
3940 (WebCore::MediaPlayerPrivate::sizeChanged):
3941 (WebCore::MediaPlayerPrivate::timeChanged):
3942 (WebCore::MediaPlayerPrivate::volumeChanged):
3943 (WebCore::MediaPlayerPrivate::didEnd):
3944 (WebCore::MediaPlayerPrivate::setRect):
3945 (WebCore::MediaPlayerPrivate::setVisible):
3946 (WebCore::MediaPlayerPrivate::paint):
3947 (WebCore::MediaPlayerPrivate::getSupportedTypes):
3948 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
3949 * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
3950 * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
3951 * rendering/RenderMedia.cpp:
3952 (WebCore::RenderMedia::player):
3953 * rendering/RenderMedia.h:
3954 * rendering/RenderVideo.cpp:
3955 (WebCore::RenderVideo::RenderVideo):
3956 (WebCore::RenderVideo::~RenderVideo):
3957 (WebCore::RenderVideo::videoSizeChanged):
3958 (WebCore::RenderVideo::paintReplaced):
3959 (WebCore::RenderVideo::layout):
3960 (WebCore::RenderVideo::updateFromElement):
3961 (WebCore::RenderVideo::updatePlayer):
3962 * rendering/RenderVideo.h:
3964 2007-12-06 Geoffrey Garen <ggaren@apple.com>
3966 Build fix: access global object directly.
3968 * plugins/win/PluginViewWin.cpp:
3969 (WebCore::PluginViewWin::bindingInstance):
3971 2007-12-06 Mark Rowe <mrowe@apple.com>
3975 Fix bug spotted by GCC 4.2.
3977 * bindings/js/kjs_window.cpp:
3978 (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
3980 2007-12-06 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
3982 Reviewed by Alp Toker.
3984 http://bugs.webkit.org/show_bug.cgi?id=16173
3987 Change license from BSD to LGPL.
3989 * platform/gtk/FileSystemGtk.cpp:
3991 2007-12-05 Rob Buis <buis@kde.org>
3995 http://bugs.webkit.org/show_bug.cgi?id=15289
3996 WebKit does not respect clip paths of a 0x0 rect
3998 Make empty clip paths clip the whole referencing graphic.
4000 * svg/SVGClipPathElement.cpp:
4001 (WebCore::SVGClipPathElement::canvasResource):
4002 * svg/graphics/SVGResourceClipper.h:
4003 (WebCore::ClipDataList::isEmpty):
4005 2007-12-05 Darin Adler <darin@apple.com>
4009 - fix http://bugs.webkit.org/show_bug.cgi?id=16266
4010 <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
4011 Interpreter::createObjectsForGlobalObjectProperties()
4013 I don't know how to reproduce this in a test.
4015 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
4016 Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
4017 right now, but it's best to call your base class, not your base's base.
4019 * bindings/js/kjs_events.h: Removed unneeded virtual from the
4020 JSUnprotectedEventListener::mark() function; it neither derives from or is
4021 derived from anyone else with a mark() function so there's no need for virtual.
4023 * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
4024 not JSObject::mark. This is the actual bug fix.
4026 2007-12-05 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
4028 http://bugs.webkit.org/show_bug.cgi?id=16145
4029 [gtk] Implement media support in GTK backend
4031 Reviewed by Alp Toker.
4033 Remove old comments, fix variable names, match WebKit coding style.
4035 * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
4036 (WebCore::moviePrivateEOSCallback):
4037 (WebCore::MoviePrivate::MoviePrivate):
4038 (WebCore::MoviePrivate::load):
4039 (WebCore::MoviePrivate::play):
4040 (WebCore::MoviePrivate::pause):
4041 (WebCore::MoviePrivate::currentTime):
4042 (WebCore::MoviePrivate::seek):
4043 (WebCore::MoviePrivate::cancelSeek):
4044 (WebCore::MoviePrivate::seeking):
4045 (WebCore::MoviePrivate::naturalSize):
4046 (WebCore::MoviePrivate::setVolume):
4047 (WebCore::MoviePrivate::setMuted):
4048 (WebCore::MoviePrivate::maxTimeBuffered):
4049 (WebCore::MoviePrivate::bytesLoaded):
4050 (WebCore::MoviePrivate::totalBytesKnown):
4051 (WebCore::MoviePrivate::totalBytes):
4052 (WebCore::MoviePrivate::updateStates):
4053 (WebCore::MoviePrivate::didEnd):
4054 (WebCore::MoviePrivate::paint):
4055 (WebCore::MoviePrivate::createGSTPlayBin):
4056 * platform/graphics/gtk/MoviePrivateGStreamer.h:
4058 2007-12-05 Mark Rowe <mrowe@apple.com>
4060 Speculative wx build fix. Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
4062 * platform/wx/TemporaryLinkStubs.cpp:
4064 2007-12-05 Alp Toker <alp@atoker.com>
4066 Rubber stamped by Mark Rowe.
4068 Remove DEPENDPATH on the generated sources directory. This causes
4069 trouble and is no longer necessary following the glib-genmarshal
4074 2007-12-04 Geoffrey Garen <ggaren@apple.com>
4076 Reviewed by Darin Adler.
4078 Third step in refactoring JSGlobalObject: Moved data members and data
4079 member access from Interpreter to JSGlobalObject. Changed Interpreter
4080 member functions to static functions. Same for the subclass,
4083 This is a big change, but it's mostly code motion and renaming.
4085 2007-12-05 Darin Adler <darin@apple.com>
4087 "Reviewed" by Geoff.
4089 * loader/FrameLoader.cpp:
4090 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
4091 (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
4092 The assertions are firing like crazy. Not sure why yet.
4094 2007-12-05 Darin Adler <darin@apple.com>
4096 Reviewed by Adam Roben.
4098 - fix http://bugs.webkit.org/show_bug.cgi?id=16306
4099 Assertion failed in WebCore/loader/FrameLoader.cpp:4642
4101 * loader/FrameLoader.cpp:
4102 (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
4103 and don't deliver the client call in that case.
4105 2007-12-05 Mark Rowe <mrowe@apple.com>
4107 Reviewed by Kevin Decker.
4109 Fix 64-bit debug build.
4111 * platform/text/mac/TextCodecMac.cpp:
4112 (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
4113 so we need to cast it to be able to use a single format specifier on both.
4115 2007-12-05 Kevin Decker <kdecker@apple.com>
4119 <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
4121 * loader/FrameLoader.cpp:
4122 (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
4123 takeover TIFF once again.
4125 2007-12-05 Luca Bruno <lethalman88@gmail.com>
4127 Reviewed by Alp Toker.
4129 http://bugs.webkit.org/show_bug.cgi?id=16290
4130 [GTK] Pasting clipboard in rich text.
4132 * platform/gtk/PasteboardGtk.cpp:
4133 (Pasteboard::documentFragment): Implement rich text paste support.
4135 2007-12-05 Adele Peterson <adele@apple.com>
4139 Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
4141 We need to just fix the underlying focus ring repaint problem.
4143 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
4145 2007-12-04 Kevin McCullough <kmccullough@apple.com>
4150 - Security Fix. Instead of having it off by default, WebKit now must
4151 explicitly turn off local-resource restriction when needed for backwards
4152 compatibility reasons.
4154 * loader/FrameLoader.cpp:
4156 2007-12-05 Adam Roben <aroben@apple.com>
4158 Set the menu item identifier for all menu items
4160 This allows WebKit clients to distinguish between submenus in the
4167 * platform/win/ContextMenuItemWin.cpp:
4168 (WebCore::ContextMenuItem::ContextMenuItem):
4170 2007-12-05 Dan Bernstein <mitz@apple.com>
4172 Reviewed by Darin Adler.
4174 - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
4176 * manual-tests/nested-plug-ins.html: Added.
4177 * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
4178 * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
4179 * platform/ScrollView.h:
4180 * platform/Widget.h:
4181 (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
4182 via visible ScrollViews to the root ScrollView of the WebView.
4183 (WebCore::Widget::detachFromWindow): Add