1 2007-12-18 Dan Bernstein <mitz@apple.com>
3 Reviewed by Dave Hyatt.
5 - avoid the simplified Chinese font linking code for characters that are
6 not in any Windows code page
8 * platform/graphics/win/FontCacheWin.cpp:
9 (WebCore::FontCache::getFontDataForCharacters):
11 2007-12-18 Brady Eidson <beidson@apple.com>
15 <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
17 Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
18 protected by authentication. Occasionally one can view the main page of a site but the favicon
19 is behind the iron curtain - in these cases, we should *not* prompt for a username and password
20 solely for the favicon.
22 * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
24 * loader/SubresourceLoader.cpp:
25 (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
26 is virtual from ResourceLoader, SubresourceLoader can override. First call to the
27 SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let
28 ResourceLoader work its magic (resulting in the auth sheet coming down)
29 * loader/SubresourceLoader.h:
31 * loader/SubresourceLoaderClient.h:
32 (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
34 * loader/icon/IconLoader.cpp:
35 (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
36 never prompt the user for credentials just for a favicon.
37 * loader/icon/IconLoader.h:
39 2007-12-18 John Sullivan <sullivan@apple.com>
43 - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
45 * storage/DatabaseTracker.cpp:
46 (WebCore::DatabaseTracker::canEstablishDatabase):
47 pass "name" instead of "displayName" if there's no displayName
49 2007-12-17 Dan Bernstein <mitz@apple.com>
51 Reviewed by Maciej Stachowiak.
53 - restore ButtonFace and ThreeDFace to their previous values for non-Mac
54 platforms. The Mac port also uses the same values for now instead
55 of NSColor-based ones.
57 * rendering/RenderTheme.cpp:
58 (WebCore::RenderTheme::systemColor):
60 2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com>
62 Reviewed by Maciej Stachowiak.
64 Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
65 Add required Frame::createScriptInstanceForWidget to FrameGtk
68 * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
70 2007-12-17 Alice Liu <alice.liu@apple.com>
74 Fixed <rdar://5566435> window with no scrollbars can be scrolled
76 * platform/win/ScrollViewWin.cpp:
77 (WebCore::ScrollView::maximumScroll):
78 corrected maximumScroll() to account for scrolling not allowed.
79 (WebCore::ScrollView::wheelEvent):
81 2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
83 Reviewed by Alp Toker.
85 http://bugs.webkit.org/show_bug.cgi?id=16042
86 [GTK] Eliminate webkit_init()
88 Move webkit initialization to WebView class init.
92 2007-12-17 Jon Honeycutt <jhoneycutt@apple.com>
96 <rdar://problem/5651291> REGRESSION: Flash content doesn't display
99 We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
101 * plugins/win/PluginViewWin.cpp:
102 (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
104 (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
105 (WebCore::PluginViewWin::handleKeyboardEvent): same
106 (WebCore::PluginViewWin::handleMouseEvent): same
107 * plugins/win/PluginViewWin.h:
109 2007-12-17 Alexey Proskuryakov <ap@webkit.org>
113 Live to the promise of never making AppKit special character codes visible via DOM.
115 Test: fast/events/arrow-keys-on-body.html
117 * page/EventHandler.cpp:
118 (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
119 to let quirks-aware code strip special charactrers.
120 * platform/mac/KeyEventMac.mm:
121 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
122 mode, remove the text if it's a special character.
124 2007-12-17 Mark Rowe <mrowe@apple.com>
126 Reviewed by Darin Adler.
128 Fix incorrect array size and incorrect array index in convertNSColorToColor.
130 * rendering/RenderThemeMac.mm:
131 (WebCore::convertNSColorToColor):
133 2007-12-17 Darin Adler <darin@apple.com>
135 Reviewed by Mark Rowe.
137 - fix http://bugs.webkit.org/show_bug.cgi?id=16468
138 REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
140 * storage/DatabaseThread.cpp:
141 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
142 because there's no guarantee it won't lose its last reference otherwise.
144 2007-12-17 Dan Bernstein <mitz@apple.com>
146 Reviewed by Maciej Stachowiak.
148 - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
149 and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
151 * platform/graphics/win/FontCacheWin.cpp:
152 (WebCore::FontCache::getFontDataForCharacters): To ensure that font
153 linking gives consistent results for characters that are exclusive to
154 the simplified Chinese code page and characters that belong to that
155 code page and other code pages, always ask to map to simplified Chinese
158 2007-12-17 Christian Dywan <christian@twotoasts.de>
160 Reviewed by Alp Toker.
162 http://bugs.webkit.org/show_bug.cgi?id=16378
163 Implement Icon for Gtk
165 Icon provides a GdkPixbuf containing a themed icon.
166 The icon theme is probed for an icon name according to the
167 Icon Naming Specification or conventional Gnome icon names respectively.
169 See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
171 * platform/graphics/Icon.h:
172 * platform/graphics/gtk/IconGtk.cpp:
173 (WebCore::Icon::~Icon):
174 (WebCore::lookupIconName):
175 (WebCore::Icon::newIconForFile):
176 (WebCore::Icon::paint):
178 2007-12-16 Sam Weinig <sam@webkit.org>
182 Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
183 Move the JS Location object to its own file
185 - Move Location into its own file and rename it JSLocation.
187 * DerivedSources.make:
189 * WebCore.vcproj/WebCore.vcproj:
190 * WebCore.xcodeproj/project.pbxproj:
191 * WebCoreSources.bkl:
192 * bindings/js/JSDocumentCustom.cpp:
193 * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
195 (WebCore::JSLocation::JSLocation):
196 (WebCore::JSLocation::getValueProperty):
197 (WebCore::JSLocation::getOwnPropertySlot):
198 (WebCore::JSLocation::put):
199 (WebCore::JSLocationProtoFuncReplace::callAsFunction):
200 (WebCore::JSLocationProtoFuncReload::callAsFunction):
201 (WebCore::JSLocationProtoFuncAssign::callAsFunction):
202 (WebCore::JSLocationProtoFuncToString::callAsFunction):
203 * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
204 (WebCore::JSLocation::):
205 (WebCore::JSLocation::frame):
206 (WebCore::JSLocation::classInfo):
207 * bindings/js/kjs_window.cpp:
208 (KJS::Window::location):
209 * bindings/js/kjs_window.h:
210 * history/CachedPage.cpp:
212 2007-12-16 Dan Bernstein <mitz@apple.com>
214 Reviewed by Sam Weinig.
216 - make 'cursor: copy' and 'cursor: none' work.
218 Already covered by manual-tests/cursor.html
220 * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
221 needed for the 33rd and 34th cursor values.
223 2007-12-16 Mark Rowe <mrowe@apple.com>
225 Reviewed by Maciej Stachowiak.
227 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
230 * WebCore.xcodeproj/project.pbxproj:
231 * loader/NetscapePlugInStreamLoader.h:
232 * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
233 * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
235 2007-12-16 Sam Weinig <sam@webkit.org>
239 Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
242 - Move ScheduledAction into its own file and put it in the WebCore namespace.
245 * WebCore.vcproj/WebCore.vcproj:
246 * WebCore.xcodeproj/project.pbxproj:
247 * WebCoreSources.bkl:
248 * bindings/js/PausedTimeouts.cpp:
249 * bindings/js/PausedTimeouts.h:
250 * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
251 (WebCore::ScheduledAction::ScheduledAction):
252 (WebCore::ScheduledAction::execute):
253 * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
254 (WebCore::ScheduledAction::ScheduledAction):
255 * bindings/js/kjs_window.cpp:
256 (KJS::DOMWindowTimer::DOMWindowTimer):
257 (KJS::DOMWindowTimer::action):
258 (KJS::DOMWindowTimer::takeAction):
259 (KJS::Window::installTimeout):
260 (KJS::Window::timerFired):
261 * bindings/js/kjs_window.h:
263 2007-12-16 Alp Toker <alp@atoker.com>
267 http://bugs.webkit.org/show_bug.cgi?id=16356
268 [GTK] Integrate GStreamer video with the graphics backend
270 Integrate the GStreamer media backend with the Cairo graphics backend.
271 There are still some issues: Data is copied more often than necessary,
272 and repaint() is not called, causing transformed video not to update
276 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
277 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
278 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
279 (WebCore::MediaPlayerPrivate::currentTime):
280 (WebCore::MediaPlayerPrivate::setEndTime):
281 (WebCore::MediaPlayerPrivate::seeking):
282 (WebCore::MediaPlayerPrivate::naturalSize):
283 (WebCore::MediaPlayerPrivate::setMuted):
284 (WebCore::MediaPlayerPrivate::setRect):
285 (WebCore::MediaPlayerPrivate::setVisible):
286 (WebCore::MediaPlayerPrivate::repaint):
287 (WebCore::MediaPlayerPrivate::paint):
288 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
289 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
290 * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
291 (webkit_video_sink_base_init):
292 (webkit_video_sink_init):
293 (webkit_video_sink_idle_func):
294 (webkit_video_sink_render):
295 (webkit_video_sink_set_caps):
296 (webkit_video_sink_dispose):
297 (webkit_video_sink_finalize):
298 (webkit_video_sink_set_property):
299 (webkit_video_sink_get_property):
300 (webkit_video_sink_stop):
301 (webkit_video_sink_class_init):
302 (webkit_video_sink_new):
303 (webkit_video_sink_set_surface):
305 * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
307 2007-12-16 Mark Rowe <mrowe@apple.com>
311 * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
312 Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
313 new shared implementation.
315 2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com>
317 Reviewed by Maciej Stachowiak.
319 http://bugs.webkit.org/show_bug.cgi?id=16389
320 Bug 16389: Common Implementation of NetscapePlugInStreamLoader
322 * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
323 * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
324 * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
326 2007-12-16 Grace Kloba <klobag@gmail.com>
328 Reviewed by Darin Adler.
330 Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
331 Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
334 (WebCore::Document::Document):
335 * loader/FrameLoader.cpp:
336 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
337 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
339 2007-12-16 Darin Adler <darin@apple.com>
343 - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
345 Test: storage/execute-sql-args.html
347 * bindings/js/JSSQLTransactionCustom.cpp:
348 (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
349 exception happens, we won't try to do any more argument processing. Changed processing
350 of the second argument so that we allow an undefined value or null, and simply omit the
351 array. Changed processing of the second argument so that we don't require an actual
352 JavaScript array. Instead, as with the JavaScript array operations themselves, we use
353 the length property and corresponding numeric properties of the object, allowing other
354 objects to act as arrays. Changed processing of the third and fourth arguments to
355 allow the undefined value as well as null; we check the value of the argument rather
356 than looking at the size of the passed-in arguments list.
358 2007-12-16 Sam Weinig <sam@webkit.org>
362 More of http://bugs.webkit.org/show_bug.cgi?id=16385
365 - Move PausedTimeouts into its own file and put it in the WebCore namespace.
368 * WebCore.vcproj/WebCore.vcproj:
369 * WebCore.xcodeproj/project.pbxproj:
370 * WebCoreSources.bkl:
371 * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
372 * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
373 * bindings/js/kjs_window.cpp:
374 (KJS::Window::pauseTimeouts):
375 * bindings/js/kjs_window.h:
376 * history/CachedPage.cpp:
377 * history/CachedPage.h:
380 2007-12-16 Beth Dakin <bdakin@apple.com>
384 Make relative-size SVGs work in border-image.
386 * rendering/RenderBox.cpp:
387 (WebCore::RenderBox::calculateBackgroundSize):
388 * rendering/RenderObject.cpp:
389 (WebCore::RenderObject::paintBorderImage):
391 2007-12-16 Darin Adler <darin@apple.com>
393 - fix Tiger build (my fault it was broken)
395 * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
397 2007-12-16 Andrew Wellington <proton@wiretapped.net>
401 http://bugs.webkit.org/show_bug.cgi?id=6129
402 Incomplete implementation of CSS 2.1 system colors
404 Test: fast/css/css2-system-color.html
406 Based on original patch by Rob Buis.
408 System colors are retrieved from NSColor as appropriate. If the color is a pattern color
409 (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
410 color and sample that to get a solid color.
412 * css/CSSStyleSelector.cpp:
414 (WebCore::colorForCSSValue):
415 * rendering/RenderTheme.cpp:
416 (WebCore::RenderTheme::systemColor):
417 * rendering/RenderTheme.h:
418 * rendering/RenderThemeMac.h:
419 * rendering/RenderThemeMac.mm:
420 (WebCore::getSystemColor):
421 (WebCore::RenderThemeMac::platformColorsDidChange):
422 (WebCore::RenderThemeMac::systemColor):
424 2007-12-16 Dan Bernstein <mitz@apple.com>
426 Reviewed by Darin Adler.
428 - fix http://bugs.webkit.org/show_bug.cgi?id=16426
429 Divs with overflow:auto: scrollbars not correctly updated when contents change
431 Test: fast/overflow/scrollbar-position-update.html
433 * platform/mac/PlatformScrollBarMac.mm:
434 (WebCore::PlatformScrollbar::updateThumbProportion): Update the
435 NSScroller's value for the new proportions.
436 * rendering/RenderLayer.cpp:
437 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
438 repaint(). Scrollbars repaint themselves as needed.
440 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
444 http://bugs.webkit.org/show_bug.cgi?id=14140
445 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
447 * dom/KeyboardEvent.h:
448 (WebCore::KeypressCommand::KeypressCommand):
449 (WebCore::KeyboardEvent::keypressCommands):
450 Change stored command class to preserve complete information about commands.
452 * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
453 command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
456 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
457 a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
459 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
463 http://bugs.webkit.org/show_bug.cgi?id=16462
464 REGRESSION: access keys broken on Windows
466 * page/EventHandler.cpp:
467 (WebCore::EventHandler::handleAccessKey):
468 (WebCore::EventHandler::keyEvent):
469 * page/EventHandler.h:
470 Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
472 2007-12-16 Xan Lopez <xan@gnome.org>
474 Reviewed by Alexey Proskuryakov.
476 http://bugs.webkit.org/show_bug.cgi?id=16454
477 [GTK] Text input doesn't work consistently on PPC
479 * platform/gtk/KeyEventGtk.cpp:
480 (WebCore::singleCharacterString):
482 UChar is 2 bytes (UTF-16), so transform accordingly from
483 gunichar (UCS-4). Fixes keyboard input on big endian systems.
485 2007-12-15 Darin Adler <darin@apple.com>
487 Reviewed by Mark Rowe.
489 - better build fix for the problem affecting GTK and some other platforms
492 * WebCore.xcodeproj/project.pbxproj:
493 * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
494 * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
495 which won't work, declare the tables that are in the .lut.h file in the header.
497 2007-12-12 Kevin Watters <kevin@dotsyntax.com>
499 Reviewed by Darin Adler.
501 Fixed the Wx port's FontPlatformData for use in HashTable.
502 - FontPlatformData(Deleted) made unequal to FontPlatformData()
504 * platform/graphics/wx/FontPlatformData
506 2007-12-15 Dan Bernstein <mitz@apple.com>
508 Reviewed by Darin Adler.
510 - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
512 * platform/graphics/win/FontCacheWin.cpp:
513 (WebCore::metaFileEnumProc): Added. Called during metafile record
514 enumeration and extracts the font from the create font record.
515 (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
516 let Uniscribe draw the characters and see what font it chooses.
518 2007-12-15 Darin Adler <darin@apple.com>
520 * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
522 2007-12-15 Darin Adler <darin@apple.com>
524 Another try at a GTK build fix.
526 * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
528 2007-12-15 Sam Weinig <sam@webkit.org>
530 Force windows to regenerate COM DOM bindings.
532 * WebCore.vcproj/build-generated-files.sh: Add license.
533 * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
535 2007-12-15 Sam Weinig <sam@webkit.org>
537 Fix Windows and wx builds.
539 * WebCore.vcproj/WebCore.vcproj:
540 * WebCoreSources.bkl:
542 2007-12-15 Mark Rowe <mrowe@apple.com>
544 Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
548 2007-12-15 Sam Weinig <sam@webkit.org>
552 * WebCoreSources.bkl:
554 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
556 Not reviewed. Build fix for Qt/Gtk.
558 * WebCore.pro: Include JSEventTargetBase.lut.h in generation
560 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
564 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
566 Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
567 in the base class. Applied the same refactorization to EventTargetNode.
569 This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
570 to share as much code as possible with the EventTargetNode classes.
572 * DerivedSources.make:
573 * WebCore.xcodeproj/project.pbxproj:
574 * bindings/js/JSEventTargetBase.cpp: Added.
575 (WebCore::retrieveEventTargetAndCorrespondingNode):
576 (WebCore::eventNameForPropertyToken):
577 * bindings/js/JSEventTargetBase.h: Added.
578 (WebCore::JSEventTargetProperties::):
579 (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
580 (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
583 (WebCore::JSEventTargetBase::JSEventTargetBase):
584 (WebCore::JSEventTargetBase::getValueProperty):
585 (WebCore::JSEventTargetBase::putValueProperty):
586 (WebCore::JSEventTargetBase::getOwnPropertySlot):
587 (WebCore::JSEventTargetBase::put):
588 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
589 (WebCore::JSEventTargetPrototype::self):
590 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
591 (WebCore::JSEventTargetPrototype::classInfo):
592 * bindings/js/JSEventTargetNode.cpp:
593 (WebCore::JSEventTargetNode::getOwnPropertySlot):
594 (WebCore::JSEventTargetNode::getValueProperty):
595 (WebCore::JSEventTargetNode::put):
596 (WebCore::JSEventTargetNode::putValueProperty):
597 (WebCore::JSEventTargetNode::setListener):
598 (WebCore::toEventTargetNode):
599 * bindings/js/JSEventTargetNode.h:
600 (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
601 (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
602 * dom/EventTarget.cpp:
603 (WebCore::EventTarget::addEventListener):
604 (WebCore::EventTarget::removeEventListener):
605 (WebCore::EventTarget::dispatchGenericEvent):
606 (WebCore::EventTarget::removeAllEventListeners):
607 (WebCore::EventTarget::insertedIntoDocument):
608 (WebCore::EventTarget::removedFromDocument):
609 (WebCore::EventTarget::handleLocalEvents):
610 (WebCore::EventTarget::applySVGEventTargetRules):
611 (WebCore::forbidEventDispatch):
612 (WebCore::allowEventDispatch):
613 (WebCore::eventDispatchForbidden):
615 (WebCore::EventTarget::preDispatchEventHandler):
616 (WebCore::EventTarget::postDispatchEventHandler):
617 (WebCore::forbidEventDispatch):
618 (WebCore::allowEventDispatch):
619 * dom/EventTargetNode.cpp:
620 (WebCore::EventTargetNode::~EventTargetNode):
621 (WebCore::EventTargetNode::insertedIntoDocument):
622 (WebCore::EventTargetNode::removedFromDocument):
623 (WebCore::EventTargetNode::addEventListener):
624 (WebCore::EventTargetNode::removeEventListener):
625 (WebCore::EventTargetNode::removeAllEventListeners):
626 (WebCore::EventTargetNode::handleLocalEvents):
627 (WebCore::EventTargetNode::dispatchEvent):
628 (WebCore::EventTargetNode::dispatchWindowEvent):
629 * dom/EventTargetNode.h:
630 (WebCore::EventTargetNode::localEventListeners):
631 * svg/SVGElement.cpp:
632 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
633 (WebCore::SVGElement::dispatchEvent):
635 2007-12-15 Eric Seidel <eric@webkit.org>
639 Width of SVG elements not applied to container elements
640 http://bugs.webkit.org/show_bug.cgi?id=16305
641 Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
642 This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
644 svg/css/css-box-min-width.html
646 * rendering/RenderSVGRoot.cpp:
647 (WebCore::RenderSVGRoot::calcPrefWidths): Added.
648 * rendering/RenderSVGRoot.h:
649 * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
651 2007-12-15 David Kilzer <ddkilzer@apple.com>
653 Fix comment after isSafeScript() was renamed to allowsAccessFrom().
655 * bindings/js/kjs_window.cpp:
658 2007-12-15 Alp Toker <alp@atoker.com>
660 Reviewed by Mark Rowe.
662 http://bugs.webkit.org/show_bug.cgi?id=16449
663 cairo_arc() functions hang or crash when passed inf as radius or start/end angle
665 Add checks. This matches a similar workaround for a CG bug in the CG
666 graphics backend: <rdar://problem/5189233>
669 fast/canvas/arc-crash.html
670 fast/canvas/canvas-with-incorrect-args.html
672 * platform/graphics/cairo/PathCairo.cpp:
673 (WebCore::Path::addArc):
675 2007-12-15 Alexey Proskuryakov <ap@webkit.org>
679 http://bugs.webkit.org/show_bug.cgi?id=16078
680 Google Maps zooming via the scroll wheel (almost) always zooms IN only.
682 * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
683 Ensure that delta is never rounded down to zero - we are getting values less than 1 from
684 many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
686 2007-12-14 Dan Bernstein <mitz@apple.com>
690 * WebCore.vcproj/WebCore.vcproj:
692 2007-12-14 Alp Toker <alp@atoker.com>
694 GTK+/Qt build fix. Track added files in r28722.
698 2007-12-14 Sam Weinig <sam@webkit.org>
702 Speed up getElementByClassName.
703 - This makes getElementByClassName 33% faster on the stress test
704 linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
706 * platform/text/StringImpl.cpp:
707 (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
709 2007-12-14 Alp Toker <alp@atoker.com>
713 http://bugs.webkit.org/show_bug.cgi?id=16432
714 [GTK] Update license headers
716 Consent has been given by the authors of these files to change license
717 to the LGPL as outlined in the bug report.
719 * platform/gtk/ClipboardGtk.cpp:
720 * platform/gtk/ContextMenuGtk.cpp:
721 * platform/gtk/ContextMenuItemGtk.cpp:
722 * platform/gtk/CookieJarGtk.cpp:
723 * platform/gtk/CursorGtk.cpp:
724 * platform/gtk/DragDataGtk.cpp:
725 * platform/gtk/DragImageGtk.cpp:
726 * platform/gtk/PasteboardGtk.cpp:
727 * platform/gtk/PlatformScreenGtk.cpp:
728 * platform/gtk/PlatformScrollBarGtk.cpp:
729 * platform/gtk/SearchPopupMenuGtk.cpp:
730 * platform/gtk/WidgetGtk.cpp:
732 2007-12-14 Darin Adler <darin@apple.com>
736 - fix http://bugs.webkit.org/show_bug.cgi?id=16442
737 navigation policy delegate gets called twice for each load
739 * loader/MainResourceLoader.cpp:
740 (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
741 That's handled by FrameLoader.
743 * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
744 and continueAfterNavigationPolicy.
746 2007-12-14 Anders Carlsson <andersca@apple.com>
750 Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
751 return nil in that case.
753 * loader/FrameLoader.cpp:
754 (WebCore::FrameLoader::didExplicitOpen):
756 2007-12-14 David Smith <catfish.man@gmail.com>
760 - fix http://bugs.webkit.org/show_bug.cgi?id=14955
761 Implement getElementsByClassName.
763 This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
764 and takes advantage of admitting that it's class-specific to encapsulate class attribute
765 parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
766 list to store the class names.
768 Tests: fast/dom/getElementsByClassName/001.html
769 fast/dom/getElementsByClassName/002.html
770 fast/dom/getElementsByClassName/003.html
771 fast/dom/getElementsByClassName/004.html
772 fast/dom/getElementsByClassName/005.html
773 fast/dom/getElementsByClassName/006.html
774 fast/dom/getElementsByClassName/007.html
775 fast/dom/getElementsByClassName/008.html
776 fast/dom/getElementsByClassName/009.html
777 fast/dom/getElementsByClassName/010.xml
778 fast/dom/getElementsByClassName/011.xml
779 fast/dom/getElementsByClassName/012.html
780 fast/dom/getElementsByClassName/013.html
781 fast/dom/getElementsByClassName/014.html
782 fast/dom/getElementsByClassName/array/001.html
783 fast/dom/getElementsByClassName/array/002.html
784 fast/dom/getElementsByClassName/array/003.html
785 fast/dom/getElementsByClassName/array/004.html
786 fast/dom/getElementsByClassName/dumpNodeList.html
788 * WebCore.xcodeproj/project.pbxproj:
789 * css/CSSStyleSelector.cpp:
790 (WebCore::CSSStyleSelector::matchRules):
791 (WebCore::CSSStyleSelector::checkOneSelector):
792 * dom/AtomicStringList.h: Removed.
793 * dom/ClassNames.cpp: Added.
794 (WebCore::ClassNames::contains):
795 (WebCore::ClassNames::parseClassAttribute):
796 * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
797 (WebCore::ClassNames::ClassNames):
798 (WebCore::ClassNames::size):
799 (WebCore::ClassNames::clear):
800 (WebCore::ClassNames::operator[]):
801 (WebCore::isClassWhitespace):
802 * dom/ClassNodeList.cpp: Added.
803 (WebCore::ClassNodeList::ClassNodeList):
804 (WebCore::ClassNodeList::length):
805 (WebCore::ClassNodeList::item):
806 (WebCore::ClassNodeList::nodeMatches):
807 * dom/ClassNodeList.h: Added.
809 (WebCore::Document::getElementsByName):
810 (WebCore::Document::getElementsByClassName):
814 (WebCore::Element::getClassNames):
815 (WebCore::Element::getElementsByClassName):
818 * dom/NameNodeList.cpp:
819 (WebCore::NameNodeList::NameNodeList):
820 (WebCore::NameNodeList::item):
821 (WebCore::NameNodeList::nodeMatches):
822 * dom/NameNodeList.h:
823 * dom/NamedMappedAttrMap.cpp:
824 (WebCore::NamedMappedAttrMap::clearAttributes):
825 (WebCore::NamedMappedAttrMap::parseClassAttribute):
826 * dom/NamedMappedAttrMap.h:
827 (WebCore::NamedMappedAttrMap::getClassNames):
828 * dom/StyledElement.cpp:
829 (WebCore::StyledElement::getClassNames):
830 * dom/StyledElement.h:
832 2007-12-14 Darin Adler <darin@apple.com>
836 - fix http://bugs.webkit.org/show_bug.cgi?id=16351
837 FontFallbackList.h doesn't include wtf/PassRefPtr.h
839 * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
840 * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
842 2007-12-14 Darin Adler <darin@apple.com>
846 - http://bugs.webkit.org/show_bug.cgi?id=16420
847 change regression tests to use document.execCommand instead of textInputController.doCommand
849 Add a few more operations to document.execCommand.
851 Finished up the transition to the new Editor::Command, including removing
852 the Editor::execCommand function.
854 * WebCore.base.exp: Added Editor::Command::isSupported.
855 * editing/Editor.h: Removed execCommand.
856 * editing/EditorCommand.cpp:
857 (WebCore::expandSelectionToGranularity): Added.
858 (WebCore::verticalScrollDistance): Added; replaces canScroll.
859 (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
860 (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
861 (WebCore::executeDeleteForward): Ditto.
862 (WebCore::executeDeleteToBeginningOfLine): Ditto.
863 (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
864 (WebCore::executeDeleteToEndOfLine): Ditto.
865 (WebCore::executeDeleteToEndOfParagraph): Ditto.
866 (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
867 Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
868 removing the explicit scrolling, and letting it be done automatically by code that makes
869 the caret visible. In some cases the old code would scroll twice which was harmless but
871 (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
872 (WebCore::executeMovePageUp): See MovePageDown above.
873 (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
874 (WebCore::executeSelectLine): Ditto.
875 (WebCore::executeSelectParagraph): Ditto.
876 (WebCore::executeSelectSentence): Ditto.
877 (WebCore::executeSelectWord): Ditto.
878 (WebCore::executeSwapWithMark): Some small tweaks.
880 * page/ContextMenuController.cpp:
881 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
882 instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
883 bit more, but I didn't do that this time.
885 - Removed some obsolete unused code.
887 * page/mac/EventHandlerMac.mm:
888 (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
889 NSTextView. This was left over from when we used NSTextField and NSTextView for form
890 elements and is no longer used at all.
892 * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
893 of the bridge or another. We really need to find a time to tear down the rest of the
894 bridge, but that's not this patch.
896 * page/mac/WebCoreFrameBridge.mm:
897 (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
898 instead of using a method.
899 (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
900 Took out obsolete comment about matching enums (we use a single enum now and have for some
902 (-[WebCoreFrameBridge selectionGranularity]): Ditto.
904 2007-12-14 Justin Garcia <justin.garcia@apple.com>
906 Reviewed by Darin Adler.
908 <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
910 * editing/CompositeEditCommand.cpp:
911 (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
912 * editing/CompositeEditCommand.h:
913 * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
914 * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
915 * editing/InsertListCommand.cpp:
916 (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
917 it and listNode, if they exists, so that moving listChildNode doesn't put it out
918 of order. Added a test case to cover each change.
919 * editing/SplitElementCommand.cpp:
920 (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
921 tries to split a container at a bogus child, and an early return to avoid a
924 2007-12-14 Anders Carlsson <andersca@apple.com>
926 Reviewed by Darin and Geoff.
928 <rdar://problem/5619295>
929 REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
931 _NPN_CreateScriptObject doesn't take an origin root object anymore.
933 * html/HTMLPlugInElement.cpp:
934 (WebCore::HTMLPlugInElement::createNPObject):
936 (WebCore::Frame::windowScriptNPObject):
938 2007-12-14 Dan Bernstein <mitz@apple.com>
940 Reviewed by Darin Adler.
942 - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
943 which is the root cause of:
944 http://bugs.webkit.org/show_bug.cgi?id=12943
945 box-shadow: small values don't affect shadow position
946 http://bugs.webkit.org/show_bug.cgi?id=14736
947 Safari implementation of text-shadow off by 1px
949 * platform/graphics/cg/GraphicsContextCG.cpp:
950 (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
951 of the offsets passed to CGContextSetShadow* to ensure that the end
952 result after truncation is the desired integer offsets.
954 2007-12-13 Alp Toker <alp@atoker.com>
956 curl backend build fix for breakage introduced in r28709.
958 * platform/network/ResourceHandleInternal.h:
959 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
961 2007-12-13 Justin Garcia <justin.garcia@apple.com>
963 Reviewed by Oliver Hunt.
965 <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
967 * editing/InsertLineBreakCommand.cpp:
968 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
969 handle editing positions, like [input, 0];
970 * editing/InsertParagraphSeparatorCommand.cpp:
971 (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
972 off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
973 the input element itself.
974 Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
977 2007-12-13 Alp Toker <alp@atoker.com>
979 Reviewed by Oliver Hunt.
981 http://bugs.webkit.org/show_bug.cgi?id=16365
982 [cURL] Acid2 test segmentation fault
984 This patch makes the Acid2 test pass.
986 Defer the cleanup of cancelled jobs and halt further transfer as early
989 Bug found by and initial patch provided by Luca Bruno.
991 * platform/network/curl/ResourceHandleManager.cpp:
992 (WebCore::writeCallback):
993 (WebCore::headerCallback):
994 (WebCore::ResourceHandleManager::downloadTimerCallback):
995 (WebCore::ResourceHandleManager::cancel):
997 2007-12-13 Sam Weinig <sam@webkit.org>
999 Reviewed by Mark Rowe.
1001 Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
1003 * page/InspectorController.cpp:
1004 (WebCore::moveByUnrestricted):
1005 (WebCore::InspectorController::windowScriptObjectAvailable):
1006 (WebCore::InspectorController::moveWindowBy):
1007 * page/InspectorController.h:
1008 * page/inspector/inspector.js:
1010 2007-12-13 Dan Bernstein <mitz@apple.com>
1012 Reviewed by Dave Hyatt.
1014 - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
1016 Test: fast/css/transition-timing-function.html
1018 * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
1019 not reject non-primitive non-list values, and instead made sure that the
1020 mapping functions rejected them if necessary. This allows non-primitive
1021 timing functions to be mapped.
1022 (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1023 (WebCore::CSSStyleSelector::mapBackgroundClip):
1024 (WebCore::CSSStyleSelector::mapBackgroundComposite):
1025 (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1026 (WebCore::CSSStyleSelector::mapBackgroundImage):
1027 (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1028 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1029 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1030 (WebCore::CSSStyleSelector::mapTransitionDuration):
1031 (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
1032 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
1033 (WebCore::CSSStyleSelector::mapTransitionProperty):
1034 * css/CSSTimingFunctionValue.cpp:
1035 (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
1037 * css/CSSTimingFunctionValue.h:
1038 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
1039 Added. Returns true.
1041 (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
1044 2007-12-13 Steve Falkenburg <sfalken@apple.com>
1046 Move source file generation into its own vcproj to fix build dependencies.
1050 * WebCore.vcproj/WebCore.make:
1051 * WebCore.vcproj/WebCore.sln:
1052 * WebCore.vcproj/WebCore.submit.sln:
1053 * WebCore.vcproj/WebCore.vcproj:
1054 * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
1056 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1058 Reviewed by Oliver Hunt.
1060 <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
1062 Some of the operations performed in removeHTMLFontStyle were non-undoable.
1064 I'm having trouble writing a layout test for this because I can't get DRT to
1065 perform editing operations in separate Undo steps without adding unacceptably long
1066 wait times between operations. I filed:
1068 <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
1070 * editing/ApplyStyleCommand.cpp:
1071 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1073 2007-12-13 Sam Weinig <sam@webkit.org>
1077 Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
1078 Toolbar dragged inspector cannot be moved beyond screen edges
1080 * page/InspectorController.cpp:
1081 (WebCore::moveByUnrestricted):
1082 (WebCore::InspectorController::windowScriptObjectAvailable):
1083 (WebCore::InspectorController::moveByUnrestricted):
1084 * page/InspectorController.h:
1085 * page/inspector/inspector.js:
1087 2007-12-13 Adam Roben <aroben@apple.com>
1089 Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1091 Windows Media Player has a modal message loop that will deliver
1092 messages to us at inappropriate times and we will crash if we handle
1093 them when they are delivered. In PluginViewWin, we add a quirk for
1094 Media Player to set a flag whenever we give the plugin a chance to
1095 execute code, and in SharedTimerWin we check if the plugin is
1096 executing code and repost messages if so.
1100 * platform/win/SharedTimerWin.cpp:
1101 (WebCore::TimerWindowWndProc): Repost messages if we're calling a
1103 * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
1104 setCallingPlugin(true/false).
1105 (WebCore::PluginViewWin::updateWindow):
1106 (WebCore::PluginViewWin::dispatchNPEvent):
1107 (WebCore::PluginViewWin::setNPWindowRect):
1108 (WebCore::PluginViewWin::start):
1109 (WebCore::PluginViewWin::stop):
1110 (WebCore::PluginViewWin::performRequest):
1111 (WebCore::PluginViewWin::bindingInstance):
1112 (WebCore::PluginViewWin::determineQuirks):
1113 (WebCore::PluginViewWin::setCallingPlugin): Added.
1114 (WebCore::PluginViewWin::isCallingPlugin): Added.
1115 * plugins/win/PluginViewWin.h: Added a new quirk.
1117 2007-12-13 Alp Toker <alp@atoker.com>
1119 Add a missing DEPENDPATH. Fixes non-clean builds following networking
1124 2007-12-13 Dan Bernstein <mitz@apple.com>
1126 Reviewed by Anders Carlsson.
1128 - fix regression in fast/text/international/bidi-override on Tiger
1130 * platform/graphics/GlyphPageTreeNode.cpp:
1131 (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
1132 too. I forgot to add them when I added them to treatAsZeroWidthSpace in
1135 2007-12-13 Justin Garcia <justin.garcia@apple.com>
1137 Reviewed by Darin Adler.
1139 <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
1141 The code that checks the selected Range to see if it's inside an anchor
1142 checks ancestors of the Range's commonAncestor() but not the
1143 commonAncestor() itself, and so we'd fail to add markup for the enclosing
1144 anchor to the pasteboard.
1146 Some enclosing element getters check the node passed to the getter and some
1147 don't. There were a few places where we incorrectly assumed that enclosing
1148 element getters check the node passed to the getter, but this is the only
1149 case that I'm able to write a test case for at the moment.
1152 Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
1153 like the newer enclosing element getters. This is important because we must
1154 soon add code to the getters so that they understand that some editing positions
1155 inside nodes don't actually refer to positions inside those nodes but positions
1156 before and after them. Like [table, 0].
1157 Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
1158 n where [n, o] is the position passed to the getter, instead of starting the the parent
1159 of n. This makes all but a few of the enclosing element getters behave consistently.
1160 Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
1161 nodes if the input position was editable. This fixes a bug that that the above change
1163 Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
1164 this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
1165 unless doing so would affect readability, like it would in the case of enclosingTableCell.
1166 Ditto for enclosingBlock.
1168 * editing/AppendNodeCommand.cpp:
1169 (WebCore::AppendNodeCommand::doApply):
1170 * editing/DeleteButtonController.cpp:
1171 (WebCore::enclosingDeletableElement):
1172 * editing/DeleteSelectionCommand.cpp:
1173 (WebCore::DeleteSelectionCommand::initializePositionData):
1174 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
1175 * editing/Editor.cpp:
1176 (WebCore::Editor::selectionUnorderedListState):
1177 (WebCore::Editor::selectionOrderedListState):
1178 * editing/IndentOutdentCommand.cpp:
1179 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
1180 (WebCore::IndentOutdentCommand::outdentParagraph):
1181 * editing/InsertNodeBeforeCommand.cpp:
1182 (WebCore::InsertNodeBeforeCommand::doApply):
1183 * editing/InsertParagraphSeparatorCommand.cpp:
1184 (WebCore::InsertParagraphSeparatorCommand::doApply):
1185 * editing/ReplaceSelectionCommand.cpp:
1186 (WebCore::ReplaceSelectionCommand::shouldMerge):
1187 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1188 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
1189 * editing/TextIterator.cpp:
1190 * editing/htmlediting.cpp:
1191 (WebCore::enclosingBlock):
1192 (WebCore::enclosingNodeWithTag):
1193 (WebCore::enclosingNodeOfType):
1194 (WebCore::enclosingTableCell):
1195 (WebCore::isTableCell):
1196 * editing/htmlediting.h:
1197 * editing/markup.cpp:
1198 (WebCore::appendStartMarkup):
1199 (WebCore::createMarkup):
1201 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
1205 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
1208 * dom/KeyboardEvent.cpp:
1209 (WebCore::KeyboardEvent::charCode):
1210 * page/EventHandler.cpp:
1211 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1212 (WebCore::EventHandler::keyEvent):
1213 * page/EventHandler.h:
1214 * page/Settings.cpp:
1215 (WebCore::Settings::Settings):
1216 (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
1218 (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
1219 * page/mac/EventHandlerMac.mm:
1220 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1221 * platform/PlatformKeyboardEvent.h:
1222 * platform/mac/KeyEventMac.mm:
1223 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1224 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1226 2007-12-13 Dan Bernstein <mitz@apple.com>
1230 * platform/network/cf/ResourceErrorCF.cpp:
1232 2007-12-13 Antti Koivisto <antti@apple.com>
1234 Reviewed by Tim Hatcher.
1236 Fix <rdar://problem/5605674>
1237 Make <video> display WebKit context menu instead of the QTKit one.
1239 It doesn't really matter where the QTMovieView is.
1242 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1243 (WebCore::MediaPlayerPrivate::createQTMovieView):
1244 (WebCore::MediaPlayerPrivate::setRect):
1246 2007-12-13 Dan Bernstein <mitz@apple.com>
1248 Reviewed by Adam Roben.
1250 - ensure that Unicode bidi control characters are rendered as zero width
1253 Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
1255 * platform/graphics/Font.h:
1256 (WebCore::Font::treatAsZeroWidthSpace):
1257 * platform/graphics/GlyphPageTreeNode.cpp:
1258 (WebCore::GlyphPageTreeNode::initializePage):
1259 * platform/text/CharacterNames.h:
1261 2007-12-13 Brady Eidson <beidson@apple.com>
1265 * platform/wx/TemporaryLinkStubs.cpp:
1267 2007-12-12 Brady Eidson <beidson@apple.com>
1271 * platform/gtk/TemporaryLinkStubs.cpp:
1273 2007-12-12 Brady Eidson <beidson@apple.com>
1278 * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
1280 2007-12-12 Brady Eidson <beidson@apple.com>
1284 * platform/win/TemporaryLinkStubs.cpp:
1286 2007-12-12 Brady Eidson <beidson@apple.com>
1288 Reviewed by Sam Weinig
1290 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1292 All back/forward list and page cache related items used to be in WebKit.
1293 When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
1294 Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
1295 in CachedPage and having the Mac-only CachedPageMac.mm
1297 To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
1298 concept of "CachedPagePlatformData" which can contain anything the platform API wants.
1300 I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
1303 * WebCore.xcodeproj/project.pbxproj:
1305 * history/CachedPage.cpp:
1306 (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
1307 (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
1308 (WebCore::CachedPage::setCachedPagePlatformData):
1309 (WebCore::CachedPage::cachedPagePlatformData):
1310 * history/CachedPage.h:
1312 * history/CachedPagePlatformData.h: Added.
1313 (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
1314 (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
1316 * history/PageCache.cpp:
1317 (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
1319 * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
1321 * loader/FrameLoader.cpp:
1322 (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
1323 (setting the cached DocumentLoader to the Frame).
1324 (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
1326 * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
1327 become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
1329 * svg/graphics/SVGImageEmptyClients.h:
1330 (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
1331 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
1332 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
1334 2007-12-12 Dan Bernstein <mitz@apple.com>
1336 Reviewed by Oliver Hunt.
1338 - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
1340 * css/CSSStyleSelector.cpp:
1341 (WebCore::CSSStyleSelector::applyProperty): When the font property is
1342 set to 'initial', set the font size to its initial value, 'medium',
1343 and the font family to the standard family.
1345 2007-12-12 Justin Garcia <justin.garcia@apple.com>
1347 Reviewed by Darin Adler.
1349 <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
1351 * editing/DeleteSelectionCommand.cpp:
1352 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
1353 Don't remove the table row that contained the end of the selection if it is where we are
1354 about to place the ending selection.
1355 Don't remove all empty rows after the row that contained the start of the selection,
1356 they might come after the row that contained the end of the selection.
1358 2007-12-12 Sam Weinig <sam@webkit.org>
1360 Reviewed by Anders Carlsson.
1362 Add button to clear the Web Inspector's console.
1364 * English.lproj/InspectorLocalizedStrings.js:
1365 * page/inspector/ConsolePanel.js:
1366 * page/inspector/inspector.css:
1368 2007-12-12 Anders Carlsson <andersca@apple.com>
1370 Reviewed by Adam and Jon.
1372 <rdar://problem/5349282>
1373 popup blocking is not applied to plugins on Windows.
1375 Implement popup blocking. If the plug-in supports the new
1376 NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
1377 to determine if a plug-in request can open new windows.
1379 If a plug-in does not support the new API, we assume that a plug-in can open new windows
1380 in response to either mouse click or key press events.
1382 * plugins/win/PluginViewWin.cpp:
1383 (WebCore::PluginRequestWin::PluginRequestWin):
1384 (WebCore::PluginRequestWin::shouldAllowPopups):
1385 Add new shouldAllowPopups member.
1387 (WebCore::PluginViewWin::popPopupsStateTimerFired):
1388 Reset the popup state.
1390 (WebCore::isWindowsMessageUserGesture):
1391 New function that given a windows message id returns whether it's a user gesture or not.
1393 (WebCore::PluginViewWin::wndProc):
1394 Allow popups if the window message is a user gesture.
1396 (WebCore::PluginViewWin::dispatchNPEvent):
1397 New method that dispatches an NPEvent, turning on popups if necessary.
1399 (WebCore::PluginViewWin::paint):
1400 (WebCore::PluginViewWin::handleKeyboardEvent):
1401 (WebCore::PluginViewWin::handleMouseEvent):
1402 Call dispatchNPEvent().
1404 (WebCore::PluginViewWin::performRequest):
1405 (WebCore::PluginViewWin::load):
1406 Add calls to shouldAllowPopups().
1408 (WebCore::PluginViewWin::pushPopupsEnabledState):
1409 (WebCore::PluginViewWin::popPopupsEnabledState):
1410 New methods that maintain the popup state stack.
1412 (WebCore::PluginViewWin::arePopupsAllowed):
1413 New method that returns whether popups are allowed.
1415 (WebCore::PluginViewWin::PluginViewWin):
1416 * plugins/win/PluginViewWin.h:
1417 Add new instance variables.
1419 * plugins/win/npapi.cpp:
1420 (NPN_PushPopupsEnabledState):
1421 (NPN_PopPopupsEnabledState):
1424 2007-12-12 Dan Bernstein <mitz@apple.com>
1426 Reviewed by John Sullivan.
1428 - fix a bug in debug builds only where selecting an earlier item in
1429 a popup selects the first item
1431 Test: fast/forms/menulist-selection-reset.html
1433 * html/HTMLSelectElement.cpp:
1434 (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
1435 tells that function whether it should update the selected state of
1437 (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
1438 as the above argument.
1439 * html/HTMLSelectElement.h:
1441 2007-12-12 Adele Peterson <adele@apple.com>
1445 Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
1447 When the specification for cue ranges is more final, we will implement those.
1449 * html/HTMLMediaElement.cpp:
1450 (WebCore::HTMLMediaElement::~HTMLMediaElement):
1451 (WebCore::HTMLMediaElement::load):
1452 * html/HTMLMediaElement.h:
1453 * html/HTMLMediaElement.idl:
1454 * platform/graphics/MediaPlayer.cpp:
1455 * platform/graphics/MediaPlayer.h:
1456 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1457 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1458 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1459 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1460 (WebCore::MediaPlayerPrivate::load):
1461 (WebCore::MediaPlayerPrivate::play):
1462 (WebCore::MediaPlayerPrivate::pause):
1463 (WebCore::MediaPlayerPrivate::setEndTime):
1464 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1465 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1466 (WebCore::MediaPlayerPrivate::timeChanged):
1467 (WebCore::MediaPlayerPrivate::didEnd):
1468 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1469 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1470 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1471 (WebCore::MediaPlayerPrivate::endPointTimerFired):
1472 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1474 2007-12-12 MorganL <morganl.webkit@yahoo.com>
1479 http://bugs.webkit.org/show_bug.cgi?id=16408
1481 When navigating back/forward to a http:// link, we should prefer to
1482 load from cache if possible.
1484 * loader/FrameLoader.cpp:
1486 2007-12-12 Anders Carlsson <andersca@apple.com>
1490 <rdar://problem/5132003>
1491 dumpResourceLoadCallbacks is not implemented in DRT on Windows.
1493 * platform/network/cf/ResourceErrorCF.cpp:
1494 (WebCore::ResourceError::unpackPlatformError):
1495 Handle kCFErrorDomainWinSock.
1497 * platform/network/cf/ResourceHandleCFNet.cpp:
1498 (WebCore::willSendRequest):
1499 Ignore willSendRequest calls where the redirect response is null, like we do in
1502 2007-12-12 Steve Falkenburg <sfalken@apple.com>
1504 <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
1508 * platform/win/SharedTimerWin.cpp:
1509 (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
1511 2007-12-12 Beth Dakin <bdakin@apple.com>
1515 Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
1516 with width and height 100% clip to 300 x 150
1518 Though it was correct in an earlier iteration of my patch, it is
1519 not sufficient in the final, committed version to ask if the
1520 relativeWidthValue() or relativeHeightValue() is greater than 0
1521 just to determine if one has been set, for, they are now
1522 initialized to 300 and 150 respectively! This patch instead adds a
1523 bool to keep track of whether a container size has been set, and
1524 only used the relative value if it has.
1526 * rendering/RenderSVGRoot.cpp:
1527 (WebCore::RenderSVGRoot::calcViewport):
1528 * svg/SVGSVGElement.cpp:
1529 (WebCore::SVGSVGElement::SVGSVGElement):
1530 * svg/SVGSVGElement.h:
1531 (WebCore::SVGSVGElement::setContainerSize):
1532 (WebCore::SVGSVGElement::hasSetContainerSize):
1534 2007-12-12 Brady Eidson <beidson@apple.com>
1536 Reviewed by Steve Falkenburg
1538 <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
1540 * platform/network/ProtectionSpace.cpp:
1541 (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
1543 2007-12-12 Alp Toker <alp@atoker.com>
1547 http://bugs.webkit.org/show_bug.cgi?id=16388
1548 [GTK] Widget::setCursor() gets called frequently
1550 Cache the current cursor to avoid calling gdk_window_set_cursor() when
1551 there's no change in cursor.
1553 * platform/gtk/WidgetGtk.cpp:
1554 (WebCore::Widget::Widget):
1555 (WebCore::Widget::cursor):
1556 (WebCore::Widget::setCursor):
1558 2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
1562 http://bugs.webkit.org/show_bug.cgi?id=16342
1563 Build Warning and Error fixes in WebCore GTK+
1565 Use C-style casts for casting function pointers to gpointer
1566 Use static_cast<int> to cast a float to int to fix a warning
1568 * platform/gtk/PlatformScrollBarGtk.cpp:
1569 (PlatformScrollbar::PlatformScrollbar):
1570 (PlatformScrollbar::~PlatformScrollbar):
1571 (PlatformScrollbar::gtkValueChanged):
1572 * platform/gtk/ThreadingGtk.cpp:
1573 (callFunctionOnMainThread):
1576 2007-12-12 Dan Bernstein <mitz@apple.com>
1578 Reviewed by Darin Adler.
1580 - better fix for a crash when pressing a key that is not associated
1583 * editing/EditorCommand.cpp:
1584 (WebCore::Editor::command): Return the empty command if the command name
1587 2007-12-12 Alexey Proskuryakov <ap@webkit.org>
1591 http://bugs.webkit.org/show_bug.cgi?id=16410
1592 Implement isKeypadEvent() on Windows
1594 Test: platform/win/fast/events/keyLocation-numpad.html
1596 * platform/win/KeyEventWin.cpp:
1597 (WebCore::isKeypadEvent): Added.
1598 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
1600 2007-12-12 Oliver Hunt <oliver@apple.com>
1604 <rdar://problem/5071781> window.mouseout events are not sent
1605 to window when mouse moves out of window
1607 Make PlatformMouseEvent recognise WM_MOUSELEAVE.
1609 * platform/win/PlatformMouseEventWin.cpp:
1610 (WebCore::messageToEventType):
1611 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1613 2007-12-12 Sam Weinig <sam@webkit.org>
1615 Fix Mac release build.
1619 2007-12-12 Sam Weinig <sam@webkit.org>
1621 Build fix for Qt, Gtk, and Wx.
1623 * css/CSSParser.cpp:
1624 (WebCore::CSSParser::parseValue):
1625 * loader/win/FrameLoaderWin.cpp:
1626 (WebCore::FrameLoader::urlSelected):
1627 * platform/network/curl/ResourceHandleManager.cpp:
1628 (WebCore::parseDataUrl):
1629 (WebCore::ResourceHandleManager::startJob):
1630 * platform/network/win/CookieJarWin.cpp:
1631 (WebCore::setCookies):
1633 * platform/network/win/ResourceHandleWin.cpp:
1634 (WebCore::ResourceHandle::start):
1635 * platform/qt/PasteboardQt.cpp:
1636 (WebCore::Pasteboard::writeURL):
1638 2007-12-11 Dan Bernstein <mitz@apple.com>
1640 Reviewed by Maciej Stachowiak.
1642 - allow non-integer font sizes on Windows for small caps
1644 * platform/graphics/win/FontDataWin.cpp:
1645 (WebCore::FontData::smallCapsFontData):
1646 * platform/graphics/win/FontPlatformData.h:
1647 (WebCore::FontPlatformData::size):
1648 (WebCore::FontPlatformData::setSize):
1649 * platform/graphics/win/FontPlatformDataWin.cpp:
1650 (WebCore::FontPlatformData::FontPlatformData):
1652 2007-12-11 Sam Weinig <sam@webkit.org>
1654 Build fix for Qt, Gtk, and Wx.
1656 * platform/gtk/CookieJarGtk.cpp:
1657 (WebCore::setCookies):
1659 * platform/qt/ClipboardQt.cpp:
1660 (WebCore::ClipboardQt::writeURL):
1661 * platform/qt/CookieJarQt.cpp:
1662 (WebCore::setCookies):
1664 * platform/wx/PasteboardWx.cpp:
1665 (WebCore::Pasteboard::writeURL):
1667 2007-12-11 Sam Weinig <sam@webkit.org>
1669 Reviewed by Darin Adler.
1671 Scrub URL out of the tree in preparation for renaming KURL to URL.
1672 - Renames Document::URL() -> Document::url()
1673 - Renames DocumentLoader::URL() -> DocumentLoader::url()
1674 - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
1675 - Remove FrameLoader::URL()
1676 - Various variable renames.
1678 The change from Document::URL() to Document::url() required changes
1679 to the bindings scripts as well, because URL() is the name of a DOM
1680 method. The code generation scripts now have code to special case URL()
1684 * bindings/js/kjs_events.cpp:
1685 (WebCore::JSLazyEventListener::parseCode):
1686 * bindings/js/kjs_navigator.cpp:
1687 (KJS::Navigator::getValueProperty):
1688 * bindings/js/kjs_proxy.cpp:
1689 (WebCore::KJSProxy::initScript):
1690 * bindings/js/kjs_window.cpp:
1692 (KJS::Window::allowsAccessFrom):
1693 (KJS::Location::put):
1694 (KJS::LocationProtoFuncReplace::callAsFunction):
1695 (KJS::LocationProtoFuncReload::callAsFunction):
1696 (KJS::LocationProtoFuncAssign::callAsFunction):
1697 * bindings/scripts/CodeGenerator.pm:
1698 * bindings/scripts/CodeGeneratorCOM.pm:
1699 * bindings/scripts/CodeGeneratorJS.pm:
1700 * bindings/scripts/CodeGeneratorObjC.pm:
1701 * css/CSSImportRule.cpp:
1702 (WebCore::CSSImportRule::insertedIntoParent):
1703 * css/CSSParser.cpp:
1704 (WebCore::CSSParser::parseValue):
1705 (WebCore::CSSParser::parseContent):
1706 (WebCore::CSSParser::parseBackgroundImage):
1707 (WebCore::CSSParser::parseFontFaceSrc):
1708 (WebCore::CSSParser::parseBorderImage):
1709 (WebCore::CSSParser::createImportRule):
1710 * css/CSSStyleSelector.cpp:
1711 (WebCore::CSSStyleSelector::setEncodedURL):
1713 (WebCore::Document::processHttpEquiv):
1714 (WebCore::Document::cookie):
1715 (WebCore::Document::setCookie):
1716 (WebCore::Document::domain):
1717 (WebCore::Document::setDomain):
1718 (WebCore::Document::getImageMap):
1719 (WebCore::Document::completeURL):
1721 (WebCore::Document::url):
1722 (WebCore::Document::baseURL):
1724 (WebCore::Element::baseURI):
1725 * dom/ProcessingInstruction.h:
1726 * dom/StyledElement.cpp:
1727 (WebCore::StyledElement::addCSSImageProperty):
1728 * dom/StyledElement.h:
1729 * dom/XMLTokenizer.cpp:
1730 (WebCore::XMLTokenizer::endElementNs):
1731 (WebCore::XMLTokenizer::end):
1733 * dom/XMLTokenizer.h:
1734 * editing/Editor.cpp:
1735 (WebCore::Editor::copy):
1736 * editing/markup.cpp:
1737 (WebCore::completeURLs):
1738 * history/CachedPage.h:
1739 (WebCore::CachedPage::url):
1740 * history/HistoryItem.cpp:
1741 (WebCore::HistoryItem::HistoryItem):
1742 (WebCore::HistoryItem::setURL):
1743 (WebCore::HistoryItem::isCurrentDocument):
1744 * html/HTMLBaseElement.cpp:
1745 (WebCore::HTMLBaseElement::process):
1746 * html/HTMLParser.cpp:
1747 (WebCore::HTMLParser::reportErrorToConsole):
1748 * html/HTMLScriptElement.cpp:
1749 (WebCore::HTMLScriptElement::childrenChanged):
1750 (WebCore::HTMLScriptElement::insertedIntoDocument):
1751 (WebCore::HTMLScriptElement::evaluateScript):
1752 * html/HTMLScriptElement.h:
1753 * html/HTMLTokenizer.cpp:
1754 (WebCore::HTMLTokenizer::scriptExecution):
1756 (WebCore::createResource):
1757 (WebCore::Cache::requestResource):
1758 * loader/CachedCSSStyleSheet.cpp:
1759 (WebCore::CachedCSSStyleSheet::checkNotify):
1760 * loader/CachedResource.cpp:
1761 (WebCore::CachedResource::CachedResource):
1762 * loader/CachedResource.h:
1763 (WebCore::CachedResource::):
1764 * loader/CachedScript.h:
1765 * loader/DocLoader.cpp:
1766 (WebCore::DocLoader::checkForReload):
1767 (WebCore::DocLoader::requestResource):
1768 * loader/DocumentLoader.cpp:
1769 (WebCore::DocumentLoader::url):
1770 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1771 (WebCore::DocumentLoader::setRequest):
1772 (WebCore::DocumentLoader::startLoadingMainResource):
1773 * loader/DocumentLoader.h:
1774 * loader/FrameLoader.cpp:
1775 (WebCore::FormSubmission::FormSubmission):
1776 (WebCore::ScheduledRedirection::ScheduledRedirection):
1777 (WebCore::FrameLoader::changeLocation):
1778 (WebCore::FrameLoader::urlSelected):
1779 (WebCore::FrameLoader::requestFrame):
1780 (WebCore::FrameLoader::loadSubframe):
1781 (WebCore::FrameLoader::submitFormAgain):
1782 (WebCore::FrameLoader::submitForm):
1783 (WebCore::FrameLoader::didExplicitOpen):
1784 (WebCore::FrameLoader::replaceContentsWithScriptResult):
1785 (WebCore::FrameLoader::executeScript):
1786 (WebCore::FrameLoader::receivedFirstData):
1787 (WebCore::FrameLoader::begin):
1788 (WebCore::FrameLoader::startIconLoader):
1789 (WebCore::FrameLoader::commitIconURLToIconDatabase):
1790 (WebCore::FrameLoader::scheduleRefresh):
1791 (WebCore::FrameLoader::redirectionTimerFired):
1792 (WebCore::FrameLoader::loadPlugin):
1793 (WebCore::FrameLoader::didNotOpenURL):
1794 (WebCore::FrameLoader::updatePolicyBaseURL):
1795 (WebCore::FrameLoader::scrollToAnchor):
1796 (WebCore::FrameLoader::startRedirectionTimer):
1797 (WebCore::FrameLoader::load):
1798 (WebCore::FrameLoader::canLoad):
1799 (WebCore::FrameLoader::shouldHideReferrer):
1800 (WebCore::FrameLoader::shouldAllowNavigation):
1801 (WebCore::FrameLoader::commitProvisionalLoad):
1802 (WebCore::FrameLoader::clientRedirected):
1803 (WebCore::FrameLoader::open):
1804 (WebCore::FrameLoader::didTellBridgeAboutLoad):
1805 (WebCore::FrameLoader::haveToldBridgeAboutLoad):
1806 (WebCore::FrameLoader::post):
1807 (WebCore::FrameLoader::loadResourceSynchronously):
1808 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1809 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
1810 (WebCore::FrameLoader::createHistoryItem):
1811 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
1812 (WebCore::FrameLoader::loadItem):
1813 (WebCore::FrameLoader::urlsMatchItem):
1814 (WebCore::FrameLoader::recursiveGoToItem):
1815 (WebCore::FrameLoader::updateHistoryForStandardLoad):
1816 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1817 * loader/FrameLoader.h:
1818 (WebCore::FrameLoader::url):
1819 * loader/ImageDocument.cpp:
1820 (WebCore::ImageDocument::createDocumentStructure):
1821 * loader/MainResourceLoader.cpp:
1822 (WebCore::shouldLoadAsEmptyDocument):
1823 (WebCore::MainResourceLoader::didFinishLoading):
1824 * loader/NavigationAction.cpp:
1825 (WebCore::NavigationAction::NavigationAction):
1826 * loader/NavigationAction.h:
1827 (WebCore::NavigationAction::url):
1828 * loader/PluginDocument.cpp:
1829 (WebCore::PluginTokenizer::createDocumentStructure):
1830 * loader/SubresourceLoader.cpp:
1831 (WebCore::SubresourceLoader::load):
1832 (WebCore::SubresourceLoader::create):
1833 * loader/icon/IconLoader.cpp:
1834 (WebCore::IconLoader::startLoading):
1835 (WebCore::IconLoader::finishLoading):
1836 * loader/loader.cpp:
1837 (WebCore::Loader::servePendingRequests):
1838 * loader/mac/LoaderNSURLExtras.m:
1841 (WebCore::Chrome::setToolTip):
1842 * page/ContextMenuController.cpp:
1843 (WebCore::ContextMenuController::contextMenuItemSelected):
1845 (WebCore::Frame::setUserStyleSheetLocation):
1846 * page/InspectorController.cpp:
1847 (WebCore::InspectorResource::type):
1848 (WebCore::addSourceToFrame):
1849 (WebCore::InspectorController::addScriptResource):
1850 (WebCore::InspectorController::updateScriptResourceRequest):
1851 (WebCore::InspectorController::didCommitLoad):
1852 * page/mac/WebCoreFrameBridge.mm:
1853 (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1855 (WebCore::KURL::string):
1856 (WebCore::KURL::deprecatedString):
1857 * platform/mac/ClipboardMac.mm:
1858 (WebCore::ClipboardMac::getData):
1859 * platform/mac/CookieJar.mm:
1861 (WebCore::setCookies):
1862 * platform/mac/PasteboardMac.mm:
1863 (WebCore::Pasteboard::writeURL):
1864 (WebCore::fileWrapperForImage):
1865 (WebCore::Pasteboard::writeImage):
1866 (WebCore::Pasteboard::plainText):
1867 * platform/network/ResourceHandle.cpp:
1868 (WebCore::ResourceHandle::portAllowed):
1869 * platform/network/ResourceRequestBase.cpp:
1870 (WebCore::ResourceRequestBase::isNull):
1871 * platform/network/cf/ResourceHandleCFNet.cpp:
1872 (WebCore::willSendRequest):
1873 (WebCore::didReceiveResponse):
1874 (WebCore::didReceiveData):
1875 (WebCore::didFinishLoading):
1877 (WebCore::didReceiveChallenge):
1878 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1879 (WebCore::ResourceHandle::~ResourceHandle):
1880 (WebCore::ResourceHandle::start):
1881 * platform/win/ClipboardUtilitiesWin.cpp:
1882 (WebCore::createGlobalData):
1883 (WebCore::urlToMarkup):
1884 * platform/win/ClipboardWin.cpp:
1885 (WebCore::writeURL):
1886 (WebCore::writeImageToDataObject):
1887 (WebCore::ClipboardWin::writeURL):
1888 (WebCore::ClipboardWin::writeRange):
1889 * platform/win/PasteboardWin.cpp:
1890 (WebCore::Pasteboard::writeSelection):
1891 (WebCore::Pasteboard::writeURL):
1892 * plugins/win/PluginDatabaseWin.cpp:
1893 (WebCore::PluginDatabaseWin::findPlugin):
1894 * plugins/win/PluginStreamWin.cpp:
1895 (WebCore::PluginStreamWin::startStream):
1896 (WebCore::PluginStreamWin::destroyStream):
1897 * plugins/win/PluginViewWin.cpp:
1898 (WebCore::scriptStringIfJavaScriptURL):
1899 (WebCore::PluginViewWin::performRequest):
1900 * svg/SVGImageLoader.cpp:
1901 (WebCore::SVGImageLoader::updateFromElement):
1902 * xml/XMLHttpRequest.cpp:
1903 (WebCore::XMLHttpRequest::getResponseXML):
1904 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1905 * xml/XSLImportRule.cpp:
1906 (WebCore::XSLImportRule::loadSheet):
1907 * xml/XSLTProcessor.cpp:
1908 (WebCore::XSLTProcessor::createDocumentFromSource):
1909 (WebCore::xsltStylesheetPointer):
1910 (WebCore::xmlDocPtrFromNode):
1912 2007-12-11 Beth Dakin <bdakin@apple.com>
1916 Fix for <rdar://problem/5641255> SVGs with width and height 100%
1917 fail to render when used as background images
1919 CachedImage now has a setImageContainerSize function. It is only
1920 needed for SVG right now.
1921 * loader/CachedImage.cpp:
1922 (WebCore::CachedImage::setImageContainerSize):
1923 * loader/CachedImage.h:
1925 Relatively sized SVGs have no intrinsic size. Because this call is
1926 low-level enough that we cannot pass in the container size and get
1927 the real size of the SVG, we need to know if it has relative
1928 dimensions, and if so, we need to get the size from scaledTileSize.
1929 * platform/graphics/Image.cpp:
1930 (WebCore::Image::drawTiled):
1931 * platform/graphics/Image.h:
1932 (WebCore::Image::setContainerSize):
1933 (WebCore::Image::hasRelativeWidth):
1934 (WebCore::Image::hasRelativeHeight):
1936 Re-factored calculateBackgroundSize a bit so that it returns an
1937 IntSize. Made it a member function so that it can send m_width and
1938 m_height along to setImageContainerSize.
1939 * rendering/RenderBox.cpp:
1940 (WebCore::RenderBox::calculateBackgroundSize):
1941 (WebCore::RenderBox::calculateBackgroundImageGeometry):
1942 * rendering/RenderBox.h:
1944 Need to account for relatively sized SVGs in calcViewport()
1945 * rendering/RenderSVGRoot.cpp:
1946 (WebCore::RenderSVGRoot::calcViewport):
1948 Added new member variables to store the size of the SVG container.
1949 relativeWidthValue() and relativeHeightValue() use the stored SVG
1950 container size to correctly calculate the width and height of a
1951 relatively sized SVG.
1952 * svg/SVGSVGElement.cpp:
1953 (WebCore::SVGSVGElement::SVGSVGElement):
1954 (WebCore::SVGSVGElement::setContainerSize):
1955 (WebCore::SVGSVGElement::relativeWidthValue):
1956 (WebCore::SVGSVGElement::relativeHeightValue):
1957 * svg/SVGSVGElement.h:
1958 (WebCore::SVGSVGElement::containerSize):
1960 Re-factored size calculations to use the size of the container.
1961 * svg/graphics/SVGImage.cpp:
1962 (WebCore::SVGImage::setContainerSize):
1963 (WebCore::SVGImage::size):
1964 (WebCore::SVGImage::hasRelativeWidth):
1965 (WebCore::SVGImage::hasRelativeHeight):
1966 * svg/graphics/SVGImage.h:
1968 2007-12-11 Darin Adler <darin@apple.com>
1970 * editing/Editor.cpp:
1971 (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
1972 a missing return statement.
1974 2007-12-11 Darin Adler <darin@apple.com>
1978 - exposed many new commands to the DOM Document executeCommand function by
1979 merging the JSEditor and Editor executeCommand implementations
1980 - replaced the execCommand function with a EditorCommand class
1981 - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
1982 - replaced the WTF::CaseInsensitiveHash<> class template with the
1983 WebCore::CaseFoldingHash class
1985 * WebCore.base.exp: Updated.
1986 * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
1987 * WebCore.vcproj/WebCore.vcproj: Ditto.
1988 * WebCore.xcodeproj/project.pbxproj: Ditto.
1989 * WebCoreSources.bkl: Ditto.
1992 (WebCore::Document::Document): Removed code to set up m_jsEditor.
1993 (WebCore::Document::~Document): Removed code to delete m_jsEditor.
1994 (WebCore::command): Added. Helper function that gets an Editor::Command.
1995 (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
1997 (WebCore::Document::queryCommandEnabled): Ditto.
1998 (WebCore::Document::queryCommandIndeterm):
1999 (WebCore::Document::queryCommandState): Ditto.
2000 (WebCore::Document::queryCommandSupported): Ditto.
2001 (WebCore::Document::queryCommandValue): Ditto.
2003 * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
2004 use CaseFoldingHash.
2006 * editing/Editor.cpp:
2007 (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
2008 made into a member function so it is accessible from the new EditorCommand.cpp file.
2009 Also changed to get the selection from the passed-in frame instead of from the
2010 page, because this should work on the targeted frame unless the event overrides it.
2011 (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
2012 (WebCore::Editor::handleInputMethodKeypress): Ditto.
2013 (WebCore::imageElementFromImageDocument): Renamed and changed to return
2014 a HTMLImageElement instead of a Node*.
2015 (WebCore::Editor::canCopy): Updated for name change.
2016 (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
2017 (WebCore::Editor::selectionOrderedListState): Ditto.
2018 (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
2019 (WebCore::updateState): Moved here from Frame.
2020 (WebCore::Editor::selectionHasStyle): Ditto.
2021 (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
2022 (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
2023 selectionForCommand change.
2024 (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
2025 (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
2026 machinery since it's no longer in this file as a local function.
2027 (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
2028 (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
2030 (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
2031 without a kill ring, but it's relatively straightforward to implement one.
2032 (WebCore::Editor::appendToKillRing): Put default implementation here for
2033 platforms other than Mac. We should probably put a simple kill ring
2034 implementation here -- doesn't need to be shared with the OS oh platforms
2036 (WebCore::Editor::prependToKillRing): Ditto.
2037 (WebCore::Editor::yankFromKillRing): Ditto.
2038 (WebCore::Editor::startNewKillRingSequence): Ditto.
2039 (WebCore::Editor::setKillRingToYankedState): Ditto.
2041 * editing/Editor.h: Moved the TriState enum here instead of inside the
2042 Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
2043 here from the Frame class. Added Editor::Command class with five functions
2044 for the various things you can do with a command (execute it, check if it
2045 can be used, and its state and value). Changed hte parameter of
2046 setBaseWritingDirection to be a const String& rather than a String.
2047 Got rid of the kill-ring-related operations, but added the kill ring
2048 functions themselves. Made selectedRange() public. Made the
2049 m_startNewKillRingSequence not Mac-specific and added "should" to its
2052 * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
2053 Retained only the editing commands.
2054 (WebCore::targetFrame): Moved to the top of the file.
2055 (WebCore::executeApplyStyle): Added. Helper function for commands
2056 that need to apply styles.
2057 (WebCore::executeToggleStyle): Added. Helper function for commands
2058 that need to toggle styles based on the style of the start of selection.
2059 (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
2060 for paragraph styles.
2061 (WebCore::executeInsertFragment): Added. Helper function for commands
2062 that need to insert a DOM fragment.
2063 (WebCore::executeInsertNode): Added. Helper function for commands that
2064 need to insert a tree rooted in a single DOM node.
2065 (WebCore::stateStyle): Added. Helper function for the state of commands
2066 that represent style.
2067 (WebCore::valueStyle): Added. Helper function for the value of commands
2068 that represent style.
2069 (WebCore::canScroll): Added. Helper functions for some move and scroll
2070 commands that need to determine if the renderer they are in can scroll.
2071 (WebCore::unionDOMRanges): Moved here from EditorMac.
2072 (WebCore::executeBackColor):
2073 (WebCore::executeBackwardDelete):
2074 (WebCore::executeCopy):
2075 (WebCore::executeCreateLink):
2076 (WebCore::executeCut):
2077 (WebCore::executeDelete):
2078 (WebCore::executeDeleteToMark):
2079 (WebCore::executeDeleteWordBackward):
2080 (WebCore::executeDeleteWordForward):
2081 (WebCore::executeFindString):
2082 (WebCore::executeFontName):
2083 (WebCore::executeFontSize):
2084 (WebCore::executeFontSizeDelta):
2085 (WebCore::executeForeColor):
2086 (WebCore::executeFormatBlock):
2087 (WebCore::executeForwardDelete):
2088 (WebCore::executeIndent):
2089 (WebCore::executeInsertBacktab):
2090 (WebCore::executeInsertHorizontalRule):
2091 (WebCore::executeInsertHTML):
2092 (WebCore::executeInsertImage):
2093 (WebCore::executeInsertLineBreak):
2094 (WebCore::executeInsertNewline):
2095 (WebCore::executeInsertNewlineInQuotedContent):
2096 (WebCore::executeInsertOrderedList):
2097 (WebCore::executeInsertParagraph):
2098 (WebCore::executeInsertTab):
2099 (WebCore::executeInsertText):
2100 (WebCore::executeInsertUnorderedList):
2101 (WebCore::executeJustifyCenter):
2102 (WebCore::executeJustifyFull):
2103 (WebCore::executeJustifyLeft):
2104 (WebCore::executeJustifyRight):
2105 (WebCore::executeMoveBackward):
2106 (WebCore::executeMoveBackwardAndModifySelection):
2107 (WebCore::executeMoveDown):
2108 (WebCore::executeMoveDownAndModifySelection):
2109 (WebCore::executeMoveDownByPageAndModifyCaret):
2110 (WebCore::executeMoveForward):
2111 (WebCore::executeMoveForwardAndModifySelection):
2112 (WebCore::executeMoveLeft):
2113 (WebCore::executeMoveLeftAndModifySelection):
2114 (WebCore::executeMoveRight):
2115 (WebCore::executeMoveRightAndModifySelection):
2116 (WebCore::executeMoveToBeginningOfDocument):
2117 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
2118 (WebCore::executeMoveToBeginningOfLine):
2119 (WebCore::executeMoveToBeginningOfLineAndModifySelection):
2120 (WebCore::executeMoveToBeginningOfParagraph):
2121 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
2122 (WebCore::executeMoveToBeginningOfSentence):
2123 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
2124 (WebCore::executeMoveToEndOfDocument):
2125 (WebCore::executeMoveToEndOfDocumentAndModifySelection):
2126 (WebCore::executeMoveToEndOfSentence):
2127 (WebCore::executeMoveToEndOfSentenceAndModifySelection):
2128 (WebCore::executeMoveToEndOfLine):
2129 (WebCore::executeMoveToEndOfLineAndModifySelection):
2130 (WebCore::executeMoveToEndOfParagraph):
2131 (WebCore::executeMoveToEndOfParagraphAndModifySelection):
2132 (WebCore::executeMoveParagraphBackwardAndModifySelection):
2133 (WebCore::executeMoveParagraphForwardAndModifySelection):
2134 (WebCore::executeMoveUp):
2135 (WebCore::executeMoveUpAndModifySelection):
2136 (WebCore::executeMoveUpByPageAndModifyCaret):
2137 (WebCore::executeMoveWordBackward):
2138 (WebCore::executeMoveWordBackwardAndModifySelection):
2139 (WebCore::executeMoveWordForward):
2140 (WebCore::executeMoveWordForwardAndModifySelection):
2141 (WebCore::executeMoveWordLeft):
2142 (WebCore::executeMoveWordLeftAndModifySelection):
2143 (WebCore::executeMoveWordRight):
2144 (WebCore::executeMoveWordRightAndModifySelection):
2145 (WebCore::executeOutdent):
2146 (WebCore::executePaste):
2147 (WebCore::executePasteAndMatchStyle):
2148 (WebCore::executePrint):
2149 (WebCore::executeRedo):
2150 (WebCore::executeRemoveFormat):
2151 (WebCore::executeSelectAll):
2152 (WebCore::executeSelectToMark):
2153 (WebCore::executeSetMark):
2154 (WebCore::executeStrikethrough):
2155 (WebCore::executeSubscript):
2156 (WebCore::executeSuperscript):
2157 (WebCore::executeSwapWithMark):
2158 (WebCore::executeToggleBold):
2159 (WebCore::executeToggleItalic):
2160 (WebCore::executeTranspose):
2161 (WebCore::executeUnderline):
2162 (WebCore::executeUndo):
2163 (WebCore::executeUnlink):
2164 (WebCore::executeUnscript):
2165 (WebCore::executeUnselect):
2166 (WebCore::executeYank):
2167 (WebCore::executeYankAndSelect):
2168 (WebCore::supported):
2169 (WebCore::supportedPaste):
2171 (WebCore::enabledAnySelection):
2172 (WebCore::enabledAnySelectionAndMark):
2173 (WebCore::enableCaretInEditableText):
2174 (WebCore::enabledCopy):
2175 (WebCore::enabledCut):
2176 (WebCore::enabledInEditableText):
2177 (WebCore::enabledInRichlyEditableText):
2178 (WebCore::enabledPaste):
2179 (WebCore::enabledRangeInEditableText):
2180 (WebCore::enabledRangeInRichlyEditableText):
2181 (WebCore::enabledRedo):
2182 (WebCore::enabledUndo):
2183 (WebCore::stateNone):
2184 (WebCore::stateBold):
2185 (WebCore::stateItalic):
2186 (WebCore::stateOrderedList):
2187 (WebCore::stateStrikethrough):
2188 (WebCore::stateSubscript):
2189 (WebCore::stateSuperscript):
2190 (WebCore::stateUnderline):
2191 (WebCore::stateUnorderedList):
2192 (WebCore::valueNull):
2193 (WebCore::valueBackColor):
2194 (WebCore::valueFontName):
2195 (WebCore::valueFontSize):
2196 (WebCore::valueFontSizeDelta):
2197 (WebCore::valueForeColor):
2198 (WebCore::createCommandMap): Added lots of commands, including all the commands
2199 from JSEditor. A few commands needed different behavior based on whether they are
2200 invoked from the DOM or a keyboard binding.
2201 (WebCore::Editor::command): Added. Gets a command object given a name.
2202 (WebCore::Editor::Command::Command): Added.
2203 (WebCore::Editor::Command::execute): Added.
2204 (WebCore::Editor::Command::isSupported): Added.
2205 (WebCore::Editor::Command::isEnabled): Added.
2206 (WebCore::Editor::Command::state): Added.
2207 (WebCore::Editor::Command::value): Added.
2208 (WebCore::Editor::execCommand): Changed to call command().execute().
2210 * editing/JSEditor.cpp: Removed.
2211 * editing/JSEditor.h: Removed.
2213 * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
2214 kill ring commands, so the kill ring commands can be cross-platform.
2215 (WebCore::Editor::appendToKillRing): Added.
2216 (WebCore::Editor::prependToKillRing): Added.
2217 (WebCore::Editor::yankFromKillRing): Added.
2218 (WebCore::Editor::startNewKillRingSequence): Added.
2219 (WebCore::Editor::setKillRingToYankedState): Added.
2221 * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
2222 * page/Frame.h: Ditto.
2224 * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
2225 * page/mac/WebCoreFrameBridge.h: Ditto.
2227 * platform/ContextMenu.cpp:
2228 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
2230 * platform/text/StringHash.h:
2231 (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
2232 (WebCore::StringHash::equal): Ditto.
2233 (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
2235 (WebCore::CaseFoldingHash::equal): Ditto.
2237 * platform/text/StringImpl.cpp:
2238 (WebCore::equal): Changed to invoke StringHash.
2239 (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
2241 * dom/DOMImplementation.cpp:
2242 (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
2243 (WebCore::isSVG10Feature): Ditto.
2244 (WebCore::isSVG11Feature): Ditto.
2245 * loader/FrameLoader.cpp:
2246 (WebCore::localSchemes): Ditto.
2247 * platform/graphics/FontCache.cpp:
2248 (WebCore::computeHash): Ditto.
2249 * platform/network/HTTPHeaderMap.h: Ditto.
2250 * platform/text/PlatformString.h: Ditto.
2251 * platform/text/StringImpl.h: Ditto.
2252 * rendering/RenderPartObject.cpp:
2253 (WebCore::RenderPartObject::updateWidget): Ditto.
2254 * xml/XMLHttpRequest.cpp:
2255 (WebCore::canSetRequestHeader): Ditto.
2257 * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
2259 2007-12-11 Darin Adler <darin@apple.com>
2261 * platform/wx/KeyboardEventWx.cpp:
2262 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
2263 WX build. Changes the code around a little bit.
2265 2007-12-11 Darin Adler <darin@apple.com>
2267 * platform/wx/KeyboardEventWx.cpp:
2268 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
2270 2007-12-11 Dan Bernstein <mitz@apple.com>
2272 Reviewed by Darin Adler.
2274 - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
2276 Test: fast/text/international/complex-character-based-fallback.html
2278 * platform/graphics/Font.cpp:
2279 (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
2280 that forces this function to use the small caps font. It is used for
2281 combining marks that need to combine with a small cap.
2282 * platform/graphics/Font.h:
2283 * platform/win/UniscribeController.cpp:
2284 (WebCore::UniscribeController::advance): Changed to split the string
2285 into runs of characters that will be rendered using the same FontData.
2286 This is done by calling glyphDataForCharacter() for each cahracter to
2287 find the FontData it should be rendered with.
2288 (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
2289 argument that is passed on to shapeAndPlaceItem() instead of the
2291 (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
2292 argument and removed the font fallback logic from this function, as
2293 it is now expected to be called with an item all of whose characters
2294 can be rendered with the given fontData.
2295 * platform/win/UniscribeController.h:
2297 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
2301 <rdar://problem/5535636>
2302 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2304 http://bugs.webkit.org/show_bug.cgi?id=13916
2305 JavaScript detects Tab as a character input on a textfield validation
2307 Test: platform/win/fast/events/double-dead-char.html
2309 * platform/PlatformKeyboardEvent.h:
2310 (WebCore::PlatformKeyboardEvent::):
2311 (WebCore::PlatformKeyboardEvent::type):
2312 (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
2313 (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
2314 (WebCore::PlatformKeyboardEvent::keyIdentifier):
2315 (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2316 Added an explicit type member to differentiate different kinds of events:
2317 RawKeyDown == keydown == WM_KEYDOWN
2318 KeyUp == keyup == WM_KEYUP
2319 Char == keypress == WM_CHAR
2320 KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
2321 event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
2323 * platform/mac/KeyEventMac.mm:
2324 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2325 Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
2326 (WebCore::windowsKeyCodeForKeyEvent):
2327 (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
2328 that it still fails.
2329 (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
2330 should not be available in those (because it cannot be provided on Windows).
2332 * platform/win/KeyEventWin.cpp:
2333 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2334 Used standard Windows constants for bit masks instead of our own ones.
2335 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
2337 * platform/gtk/KeyEventGtk.cpp:
2338 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2339 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2340 * platform/qt/PlatformKeyboardEventQt.cpp:
2341 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2342 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2343 * platform/wx/KeyboardEventWx.cpp:
2344 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2345 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2346 Updated for cross-platform changes as much as it was possible without appropriate build
2349 * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
2350 convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
2352 * bridge/EditorClient.h:
2353 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2354 Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
2358 (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
2360 * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
2362 * dom/KeyboardEvent.cpp:
2363 (WebCore::eventTypeForKeyboardEventType):
2364 (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
2365 now straightforward, so scary hacks such as using autorepeat to distinguish types are
2367 (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
2368 (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
2369 Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
2373 * editing/Editor.cpp:
2374 (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
2375 (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
2376 (WebCore::Editor::handleInputMethodKeydown): Ditto.
2378 * html/HTMLButtonElement.cpp:
2379 (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
2380 appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
2381 not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
2382 highlighted when Space is pressed.
2384 * html/HTMLInputElement.cpp:
2385 (WebCore::HTMLInputElement::defaultEventHandler):
2386 * html/HTMLSelectElement.cpp:
2387 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2388 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2389 Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
2392 * page/EventHandler.cpp:
2393 (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
2394 to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
2395 handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
2396 now being handleInputMethodKeydown().
2397 (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
2398 (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
2399 as default tab handling happens when processing keydown.
2400 (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
2401 event handling. Fixed accesskey processing to use information that's available in a raw keydown
2404 (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
2405 handle tabs during keydown processing.
2407 * page/mac/EventHandlerMac.mm:
2408 (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
2411 * platform/text/PlatformString.h:
2412 * platform/text/String.cpp:
2413 (WebCore::String::characterStartingAt):
2414 * platform/text/StringImpl.cpp:
2415 (WebCore::StringImpl::characterStartingAt):
2416 * platform/text/StringImpl.h:
2417 Added a UChar32 accessor.
2419 * svg/graphics/SVGImageEmptyClients.h:
2420 (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
2421 (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
2422 Updated for new function names.
2424 2007-12-11 John Sullivan <sullivan@apple.com>
2428 Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
2430 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2431 (WebCore::MediaPlayerPrivate::createQTMovieView):
2432 (WebCore::MediaPlayerPrivate::detachQTMovieView):
2434 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
2438 http://bugs.webkit.org/show_bug.cgi?id=16325
2439 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2441 Fix this on Windows, too!
2443 Test: http/tests/misc/empty-cookie.html
2445 * platform/network/win/CookieJarWin.cpp:
2446 (WebCore::setCookies):
2448 Same fix as on Mac, translated into CF.
2450 * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2452 2007-12-11 Christian Dywan <christian@twotoasts.de>
2454 Reviewed by Alp Toker.
2456 http://bugs.webkit.org/show_bug.cgi?id=16371
2457 Implement additional mouse cursors for Gtk
2459 Added cursor bitmaps from Mozilla:
2460 http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
2462 * platform/gtk/CursorGtk.cpp:
2463 (WebCore::customCursorNew):
2464 (WebCore::verticalTextCursor):
2465 (WebCore::cellCursor):
2466 (WebCore::contextMenuCursor):
2467 (WebCore::noDropCursor):
2468 (WebCore::copyCursor):
2469 (WebCore::progressCursor):
2470 (WebCore::aliasCursor):
2471 (WebCore::noneCursor):
2472 (WebCore::notAllowedCursor):
2473 (WebCore::zoomInCursor):
2474 (WebCore::zoomOutCursor):
2475 * platform/gtk/CursorGtk.h: Added.
2477 2007-12-10 Oliver Hunt <oliver@apple.com>
2479 Reviewed by Weinig, Dan, and Alexey.
2481 Fix character set used for dynamically loaded scripts.
2484 <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
2485 <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
2486 <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
2488 Use the same logic to determine the charset for a script loaded dynamically
2489 as we do for a statically loaded script.
2491 * html/HTMLScriptElement.cpp:
2492 (WebCore::HTMLScriptElement::insertedIntoDocument):
2494 2007-12-10 Justin Garcia <justin.garcia@apple.com>
2496 Reviewed by Oliver Hunt.
2498 <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
2500 We were trying to insert a block of the requested type before the body element.
2502 * editing/FormatBlockCommand.cpp:
2503 (WebCore::FormatBlockCommand::doApply):
2504 Removed unnecessary ()s in the if condition.
2505 Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
2506 a) upstreamStart will never be outside the root editable element, since in that case
2507 there would be no block inside the editable root to Format, and b) if upstreamStart.node()
2508 *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
2510 Added comments to explain the use of upstream() in the second if-clause.
2511 Added an early return for case where there is nothing selected, in that case, there is nothing
2514 2007-12-10 Adele Peterson <adele@apple.com>
2516 Reviewed and partially fixed by Tim Hatcher.
2518 Remaining part of fix for <rdar://problem/5633400>
2519 Transformed <video> is not clipped correctly until a repaint is forced
2521 Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
2522 from clobbering the WebCore repaints.
2524 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
2525 * html/HTMLMediaElement.h:
2526 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
2527 * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
2529 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2530 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2531 (method_setImplementation): Added for Tiger.
2533 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
2534 (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
2535 (WebCore::MediaPlayerPrivate::setVisible): ditto.
2536 (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
2538 (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
2539 (-[WebCoreMovieObserver repaint]): ditto.
2541 (WebCore::mainThreadSetNeedsDisplay): Added.
2542 Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
2543 (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
2545 2007-12-10 Geoffrey Garen <ggaren@apple.com>
2547 Reviewed by Sam Weinig.
2549 Updated for rename in JavaScriptCore.
2551 * bridge/mac/WebCoreScriptDebugger.mm:
2552 (-[WebCoreScriptCallFrame scopeChain]):
2553 (-[WebCoreScriptCallFrame functionName]):
2554 (-[WebCoreScriptCallFrame evaluateWebScript:]):
2556 2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
2558 Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
2559 <http://bugs.webkit.org/show_bug.cgi?id=16383>
2561 Use KJS::Window not the ambiguous Window
2563 Reviewed by ddkilzer.
2565 * bindings/js/kjs_dom.cpp (checkNodeSecurity):
2567 2007-12-10 Sam Weinig <sam@webkit.org>
2571 * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
2573 2007-12-10 Marvin Decker <marv.decker@gmail.com>
2577 Fix a divide by 0 in the progress tracker.
2578 http://bugs.webkit.org/show_bug.cgi?id=15055
2580 * loader/ProgressTracker.cpp:
2581 (WebCore::ProgressTracker::incrementProgress):
2583 2007-12-09 Sam Weinig <sam@webkit.org>
2587 More cleanup of kjs_window.
2588 - Move WindowFeatures from bridge/ to page/
2589 - Move functions related to WindowFeatures (boolFeature,
2590 floatFeature, setWindowFeature, parseWindowFeatures) into the class.
2591 - Fix up whitespace.
2593 * WebCore.vcproj/WebCore.vcproj:
2594 * WebCore.xcodeproj/project.pbxproj:
2595 * bindings/js/kjs_window.cpp:
2596 (KJS::DOMWindowTimer::~DOMWindowTimer):
2597 (KJS::createWindow):
2598 (KJS::showModalDialog):
2599 (KJS::Window::getOwnPropertySlot):
2600 (KJS::Window::allowsAccessFrom):
2601 (KJS::Window::shouldInterruptScript):
2602 (KJS::WindowProtoFuncAToB::callAsFunction):
2603 (KJS::WindowProtoFuncOpen::callAsFunction):
2604 (KJS::Window::setReturnValueSlot):
2605 (KJS::ScheduledAction::execute):
2606 (KJS::Window::timerFired):
2607 (KJS::Location::Location):
2608 (KJS::Location::getValueProperty):
2609 (KJS::Location::getOwnPropertySlot):
2610 (KJS::Location::put):
2611 (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
2612 (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
2613 (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
2614 allowsAccessFrom, cleanup the function a little.
2615 (KJS::PausedTimeouts::~PausedTimeouts):
2616 * bridge/WindowFeatures.h: Removed.
2617 * page/WindowFeatures.cpp: Added.
2618 (WebCore::isSeparator):
2619 (WebCore::WindowFeatures::WindowFeatures):
2620 (WebCore::WindowFeatures::setWindowFeature):
2621 (WebCore::WindowFeatures::boolFeature):
2622 (WebCore::WindowFeatures::floatFeature):
2623 * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
2624 (WebCore::WindowFeatures::WindowFeatures):
2626 2007-12-10 Timothy Hatcher <timothy@apple.com>
2628 Reviewed by Mark Rowe.
2630 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2632 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2633 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2635 2007-12-10 Alp Toker <alp@atoker.com>
2639 Cairo implementation of GraphicsContext::setUseAntialiasing().
2641 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2642 (WebCore::GraphicsContext::setUseAntialiasing):
2644 2007-12-10 Rob Buis <buis@kde.org>
2648 http://bugs.webkit.org/show_bug.cgi?id=16182
2649 SVG should disable antialiasing for shape-rendering="crispEdges"
2651 Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
2653 * platform/graphics/GraphicsContext.h:
2654 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2655 (WebCore::GraphicsContext::setUseAntialiasing):
2656 * platform/graphics/cg/GraphicsContextCG.cpp:
2657 (WebCore::GraphicsContext::setUseAntialiasing):
2658 * platform/graphics/qt/GraphicsContextQt.cpp:
2659 (WebCore::GraphicsContext::setUseAntialiasing):
2660 * platform/graphics/wx/GraphicsContextWx.cpp:
2661 (WebCore::GraphicsContext::setUseAntialiasing):
2662 * rendering/RenderPath.cpp:
2663 (WebCore::RenderPath::paint):
2665 2007-12-09 Rob Buis <buis@kde.org>
2669 http://bugs.webkit.org/show_bug.cgi?id=16163
2670 SVG crash in Node::setChanged() on Debug builds only (trashed parent)
2672 Fix the crash by properly unregistering as client from SVGResource
2673 when deleting a styled svg node.
2675 * svg/SVGStyledElement.cpp:
2676 (WebCore::SVGStyledElement::~SVGStyledElement):
2678 2007-12-10 Brady Eidson <beidson@apple.com>
2680 Rubberstamped by John
2682 * storage/DatabaseTracker.cpp:
2683 (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
2684 for the new quota, we should allow the database to be created
2686 2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
2688 Bug 9683: Implement select.options.remove() method
2689 <http://bugs.webkit.org/show_bug.cgi?id=9683>
2693 Implement select.options.remove() by calling select.remove()
2694 with the same arguments. This is what MSIE 7 does, although its
2695 select.remove() method differs from WebKit's by throwing an
2696 exception when called with no arguments or with a negative
2697 integer argument. Note that the DOM Level 1 documentation
2698 specifies that select.remove() does not throw an exception.
2700 Tests: fast/js/select-options-remove-gc.html
2701 fast/js/select-options-remove.html
2703 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2704 (WebCore::JSHTMLOptionsCollection::remove): Added.
2705 * html/HTMLOptionsCollection.cpp:
2706 (WebCore::HTMLOptionsCollection::remove): Added.
2707 * html/HTMLOptionsCollection.h:
2708 * html/HTMLOptionsCollection.idl:
2710 2007-12-09 Sam Weinig <sam@webkit.org>
2712 Rubber stamped by Mark Rowe.
2714 * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
2716 2007-12-09 Oliver Hunt <oliver@apple.com>
2720 Correction, 'z' and 'Z' are the only commands that cannot have an extended
2723 * svg/SVGParserUtilities.cpp:
2724 (WebCore::SVGPathParser::parseSVG):
2726 2007-12-09 Oliver Hunt <oliver@apple.com>
2730 Prevent unlimited iteration in the case of invalid path data.
2732 The only path commands that can leave numbers trailing the command processing
2733 are 'm' and 'M', in which trailing numbers are parsed as arguments to an
2734 implicit lineto command. In any case we should just terminate as an invalid
2737 * svg/SVGParserUtilities.cpp:
2738 (WebCore::SVGPathParser::parseSVG):
2740 2007-12-09 Luca Bruno <lethalman88@gmail.com>
2742 Reviewed by Alp Toker.
2744 http://bugs.webkit.org/show_bug.cgi?id=15825
2745 [GTK] curl - slow dns causing hangs.
2747 Create a vector of jobs, to satisfy requests in the right order.
2748 Set a limit to the number of simultaneous connections.
2750 * platform/network/curl/ResourceHandleManager.cpp:
2751 (WebCore::maxRunningJobs): added
2752 (WebCore::ResourceHandleManager::ResourceHandleManager):
2753 (WebCore::ResourceHandleManager::removeFromCurl):
2754 (WebCore::ResourceHandleManager::startScheduledJobs):
2756 * platform/network/curl/ResourceHandleManager.h:
2757 (WebCore::ResourceHandleList): removed
2758 (WebCore::ResourceHandleManager::m_runningJobs): added
2759 (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
2760 (WebCore::ResourceHandleManager::m_resourceHandleList): added
2762 2007-12-08 Sam Weinig <sam@webkit.org>
2766 Cleanup kjs_window.h/cpp.
2768 * bindings/js/kjs_window.cpp:
2769 (KJS::WindowPrivate::WindowPrivate):
2770 (KJS::DOMWindowTimer::DOMWindowTimer):
2771 (KJS::Window::Window):
2772 (KJS::Window::retrieveWindow):
2773 (KJS::Window::retrieveActive):
2774 (KJS::Window::retrieve):
2775 (KJS::Window::location):
2776 (KJS::Window::mark):
2778 (KJS::parseModalDialogFeatures):
2779 (KJS::floatFeature):
2780 (KJS::canShowModalDialog):
2781 (KJS::canShowModalDialogNow):
2782 (KJS::showModalDialog):
2783 (KJS::Window::getValueProperty):
2784 (KJS::Window::getOwnPropertySlot):
2785 (KJS::Window::globalExec):
2786 (KJS::Window::setListener):
2787 (KJS::Window::getListener):
2788 (KJS::Window::findOrCreateJSEventListener):
2789 (KJS::Window::findOrCreateJSUnprotectedEventListener):
2790 (KJS::Window::clearHelperObjectProperties):
2791 (KJS::Window::setCurrentEvent):
2792 (KJS::WindowProtoFuncAToB::callAsFunction):
2793 (KJS::WindowProtoFuncBToA::callAsFunction):
2794 (KJS::WindowProtoFuncOpen::callAsFunction):
2795 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2796 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2797 (KJS::WindowProtoFuncSetInterval::callAsFunction):
2798 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2799 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2800 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2801 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2802 * bindings/js/kjs_window.h:
2803 (KJS::PausedTimeouts::PausedTimeouts):
2804 (KJS::PausedTimeouts::takeTimeouts):
2805 (KJS::ScheduledAction::ScheduledAction):
2807 2007-12-08 Sam Weinig <sam@webkit.org>
2811 Move window scrolling, moving and resizing methods from KJS::Window
2812 to WebCore::DOMWindow so that there bindings can be autogenerated.
2814 Tests: fast/dom/Window/window-resize-and-move-arguments.html
2815 fast/dom/Window/window-scroll-arguments.html
2817 * WebCore.xcodeproj/project.pbxproj:
2818 * bindings/js/kjs_window.cpp:
2819 (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
2820 (KJS::WindowProtoFuncOpen::callAsFunction):
2821 (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
2822 * bindings/js/kjs_window.h:
2823 * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
2824 to ensure that the no less than the declared number of attributes
2826 * page/DOMWindow.cpp:
2827 (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
2828 (WebCore::DOMWindow::scrollBy):
2829 (WebCore::DOMWindow::scrollTo):
2830 (WebCore::DOMWindow::moveBy):
2831 (WebCore::DOMWindow::moveTo):
2832 (WebCore::DOMWindow::resizeBy):
2833 (WebCore::DOMWindow::resizeTo):
2835 (WebCore::DOMWindow::scroll):
2836 * page/DOMWindow.idl:
2838 2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
2840 Reviewed by Alp Toker.
2842 http://bugs.webkit.org/show_bug.cgi?id=14651
2843 [CURL] didReceiveResponse() only called for HTTP loads
2845 http://bugs.webkit.org/show_bug.cgi?id=14583
2846 [GDK] file:// relative CSS include URLs handled incorrectly
2848 Make sure CURL sets the ResourceResponse URL and calls
2849 didReceiveResponse for local files too.
2851 * platform/network/curl/ResourceHandleManager.cpp:
2852 (WebCore::writeCallback):
2854 2007-12-08 Oliver Hunt <oliver@apple.com>
2858 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
2860 Fixes <rdar://problem/5620249> Must disable SVG animation
2861 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
2863 In order to allow finer grained control over the set of SVG features
2864 this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
2866 ENABLE_SVG_ANIMATION
2872 by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
2874 * Configurations/WebCore.xcconfig:
2875 * DerivedSources.make:
2876 Handle the increased number of build flags that may be necessary
2878 * WebCore.SVG.Animation.exp: Added.
2879 * WebCore.SVG.Filters.exp: Added.
2881 We now may not need the animation or filter exports so
2882 these need to be separate.
2884 * WebCore.vcproj/WebCore.vcproj:
2885 * WebCore.vcproj/build-generated-files.sh:
2886 Update for new flags
2888 Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES)
2889 with the appropriate specific feature flag.
2890 * bindings/js/JSSVGElementWrapperFactory.cpp:
2891 (WebCore::createJSSVGWrapper):
2892 * bindings/objc/DOM.mm:
2893 (WebCore::createElementClassMap):
2894 * dom/make_names.pl:
2895 * loader/CachedImage.cpp:
2896 (WebCore::CachedImage::createImage):
2897 * page/DOMWindow.idl:
2898 * rendering/RenderPath.cpp:
2899 (WebCore::RenderPath::absoluteClippedOverflowRect):
2900 * rendering/RenderSVGContainer.cpp:
2901 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2902 * rendering/RenderSVGImage.cpp:
2903 (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
2904 * rendering/RenderSVGRoot.cpp:
2905 (WebCore::RenderSVGRoot::paint):
2906 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2907 * rendering/RenderSVGText.cpp:
2908 (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2909 * rendering/SVGRenderSupport.cpp:
2910 (WebCore::prepareToRenderSVGContent):
2911 (WebCore::finishRenderSVGContent):
2912 * svg/SVGAnimateElement.cpp:
2913 * svg/SVGAnimateElement.h:
2914 * svg/SVGAnimateElement.idl:
2915 * svg/SVGAnimateMotionElement.cpp:
2916 * svg/SVGAnimateMotionElement.h:
2917 * svg/SVGAnimateTransformElement.cpp:
2918 * svg/SVGAnimateTransformElement.h:
2919 * svg/SVGAnimateTransformElement.idl:
2920 * svg/SVGComponentTransferFunctionElement.cpp:
2921 * svg/SVGComponentTransferFunctionElement.h:
2922 * svg/SVGComponentTransferFunctionElement.idl:
2923 * svg/SVGDocumentExtensions.cpp:
2924 (WebCore::SVGDocumentExtensions::startAnimations):
2925 * svg/SVGFEBlendElement.cpp:
2926 * svg/SVGFEBlendElement.h:
2927 * svg/SVGFEBlendElement.idl:
2928 * svg/SVGFEColorMatrixElement.cpp:
2929 * svg/SVGFEColorMatrixElement.h:
2930 * svg/SVGFEColorMatrixElement.idl:
2931 * svg/SVGFEComponentTransferElement.cpp:
2932 * svg/SVGFEComponentTransferElement.h:
2933 * svg/SVGFEComponentTransferElement.idl:
2934 * svg/SVGFECompositeElement.cpp:
2935 * svg/SVGFECompositeElement.h:
2936 * svg/SVGFECompositeElement.idl:
2937 * svg/SVGFEDiffuseLightingElement.cpp:
2938 * svg/SVGFEDiffuseLightingElement.h:
2939 * svg/SVGFEDiffuseLightingElement.idl:
2940 * svg/SVGFEDisplacementMapElement.cpp:
2941 * svg/SVGFEDisplacementMapElement.h:
2942 * svg/SVGFEDisplacementMapElement.idl:
2943 * svg/SVGFEDistantLightElement.cpp:
2944 * svg/SVGFEDistantLightElement.h:
2945 * svg/SVGFEDistantLightElement.idl:
2946 * svg/SVGFEFloodElement.cpp:
2947 * svg/SVGFEFloodElement.h:
2948 * svg/SVGFEFloodElement.idl:
2949 * svg/SVGFEFuncAElement.cpp:
2950 * svg/SVGFEFuncAElement.h:
2951 * svg/SVGFEFuncAElement.idl:
2952 * svg/SVGFEFuncBElement.cpp:
2953 * svg/SVGFEFuncBElement.h:
2954 * svg/SVGFEFuncBElement.idl:
2955 * svg/SVGFEFuncGElement.cpp:
2956 * svg/SVGFEFuncGElement.h:
2957 * svg/SVGFEFuncGElement.idl:
2958 * svg/SVGFEFuncRElement.cpp:
2959 * svg/SVGFEFuncRElement.h:
2960 * svg/SVGFEFuncRElement.idl:
2961 * svg/SVGFEGaussianBlurElement.cpp:
2962 * svg/SVGFEGaussianBlurElement.h:
2963 * svg/SVGFEGaussianBlurElement.idl:
2964 * svg/SVGFEImageElement.cpp:
2965 * svg/SVGFEImageElement.h:
2966 * svg/SVGFEImageElement.idl:
2967 * svg/SVGFELightElement.cpp:
2968 * svg/SVGFELightElement.h:
2969 * svg/SVGFEMergeElement.cpp:
2970 * svg/SVGFEMergeElement.h:
2971 * svg/SVGFEMergeElement.idl:
2972 * svg/SVGFEMergeNodeElement.cpp:
2973 * svg/SVGFEMergeNodeElement.h:
2974 * svg/SVGFEMergeNodeElement.idl:
2975 * svg/SVGFEOffsetElement.cpp:
2976 * svg/SVGFEOffsetElement.h:
2977 * svg/SVGFEOffsetElement.idl:
2978 * svg/SVGFEPointLightElement.cpp:
2979 * svg/SVGFEPointLightElement.h:
2980 * svg/SVGFEPointLightElement.idl:
2981 * svg/SVGFESpecularLightingElement.cpp:
2982 * svg/SVGFESpecularLightingElement.h:
2983 * svg/SVGFESpecularLightingElement.idl:
2984 * svg/SVGFESpotLightElement.cpp:
2985 * svg/SVGFESpotLightElement.h:
2986 * svg/SVGFESpotLightElement.idl:
2987 * svg/SVGFETileElement.cpp:
2988 * svg/SVGFETileElement.h:
2989 * svg/SVGFETileElement.idl:
2990 * svg/SVGFETurbulenceElement.cpp:
2991 * svg/SVGFETurbulenceElement.h:
2992 * svg/SVGFETurbulenceElement.idl:
2993 * svg/SVGFilterElement.cpp:
2994 * svg/SVGFilterElement.h:
2995 * svg/SVGFilterElement.idl:
2996 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2998 (WebCore::SVGTimer::animationsByElement):
2999 * svg/SVGUseElement.cpp:
3000 (WebCore::SVGUseElement::buildPendingResource):
3001 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3002 * svg/SVGUseElement.h:
3003 * svg/TimeScheduler.cpp:
3004 (WebCore::TimeScheduler::connectIntervalTimer):
3005 (WebCore::TimeScheduler::disconnectIntervalTimer):
3006 * svg/graphics/SVGResourceFilter.cpp:
3007 * svg/graphics/SVGResourceFilter.h:
3008 * svg/graphics/cg/SVGResourceFilterCg.cpp:
3009 * svg/graphics/cg/SVGResourceFilterCg.mm:
3010 * svg/graphics/filters/SVGDistantLightSource.h:
3011 * svg/graphics/filters/SVGFEBlend.cpp:
3012 * svg/graphics/filters/SVGFEBlend.h:
3013 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3014 * svg/graphics/filters/SVGFEColorMatrix.h:
3015 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3016 * svg/graphics/filters/SVGFEComponentTransfer.h:
3017 * svg/graphics/filters/SVGFEComposite.cpp:
3018 * svg/graphics/filters/SVGFEComposite.h:
3019 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3020 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3021 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3022 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3023 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3024 * svg/graphics/filters/SVGFEDisplacementMap.h:
3025 * svg/graphics/filters/SVGFEFlood.cpp:
3026 * svg/graphics/filters/SVGFEFlood.h:
3027 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3028 * svg/graphics/filters/SVGFEGaussianBlur.h:
3029 * svg/graphics/filters/SVGFEImage.cpp:
3030 * svg/graphics/filters/SVGFEImage.h:
3031 * svg/graphics/filters/SVGFEMerge.cpp:
3032 * svg/graphics/filters/SVGFEMerge.h:
3033 * svg/graphics/filters/SVGFEMorphology.cpp:
3034 * svg/graphics/filters/SVGFEMorphology.h:
3035 * svg/graphics/filters/SVGFEOffset.cpp:
3036 * svg/graphics/filters/SVGFEOffset.h:
3037 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3038 * svg/graphics/filters/SVGFESpecularLighting.h:
3039 * svg/graphics/filters/SVGFETile.h:
3040 * svg/graphics/filters/SVGFETurbulence.cpp:
3041 * svg/graphics/filters/SVGFETurbulence.h:
3042 * svg/graphics/filters/SVGFilterEffect.cpp:
3043 * svg/graphics/filters/SVGFilterEffect.h:
3044 * svg/graphics/filters/SVGLightSource.cpp:
3045 * svg/graphics/filters/SVGLightSource.h:
3046 * svg/graphics/filters/SVGPointLightSource.h:
3047 * svg/graphics/filters/SVGSpotLightSource.h:
3048 * svg/graphics/filters/cg/SVGFEBlendCg.mm:
3049 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
3050 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
3051 * svg/graphics/filters/cg/SVGFECompositeCg.mm:
3052 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3053 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3054 * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3055 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3056 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3057 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3058 * svg/graphics/filters/cg/SVGFEImageCg.mm:
3059 * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3060 * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3061 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3062 * svg/graphics/filters/cg/SVGFETileCg.mm:
3063 * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
3064 * svg/graphics/filters/cg/WKArithmeticFilter.h:
3065 * svg/graphics/filters/cg/WKArithmeticFilter.m:
3066 * svg/graphics/filters/cg/WKComponentMergeFilter.h:
3067 * svg/graphics/filters/cg/WKComponentMergeFilter.m:
3068 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
3069 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
3070 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
3071 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
3072 * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
3073 * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
3074 * svg/graphics/filters/cg/WKDistantLightFilter.h:
3075 * svg/graphics/filters/cg/WKDistantLightFilter.m:
3076 * svg/graphics/filters/cg/WKGammaTransferFilter.h:
3077 * svg/graphics/filters/cg/WKGammaTransferFilter.m:
3078 * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
3079 * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
3080 * svg/graphics/filters/cg/WKLinearTransferFilter.h:
3081 * svg/graphics/filters/cg/WKLinearTransferFilter.m:
3082 * svg/graphics/filters/cg/WKNormalMapFilter.h:
3083 * svg/graphics/filters/cg/WKNormalMapFilter.m:
3084 * svg/graphics/filters/cg/WKPointLightFilter.h:
3085 * svg/graphics/filters/cg/WKPointLightFilter.m:
3086 * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
3087 * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
3088 * svg/graphics/filters/cg/WKSpotLightFilter.h:
3089 * svg/graphics/filters/cg/WKSpotLightFilter.m:
3090 * svg/graphics/filters/cg/WKTableTransferFilter.h:
3091 * svg/graphics/filters/cg/WKTableTransferFilter.m:
3092 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
3093 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
3096 2007-12-08 Dan Bernstein <mitz@apple.com>
3098 Reviewed by Adele Peterson.
3100 - fix two bugs in parsing of stylesheets in <style> elements created by
3102 1. each such stylesheet is parsed twice, once when the text node is
3103 added and again when the </style> tag is reached
3104 2. re-inserting such a <style> element into the document fails to
3105 re-parse and apply its stylesheet.
3107 Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
3109 * html/HTMLStyleElement.cpp:
3110 (WebCore::HTMLStyleElement::finishedParsing):
3111 * svg/SVGStyleElement.cpp:
3112 (WebCore::SVGStyleElement::finishedParsing):
3114 2007-12-07 Sam Weinig <sam@webkit.org>
3118 - Removes the faulty isSafeScript implementation that was only
3120 - Renames isSafeScript to allowsAccessFrom.
3122 * bindings/js/JSDOMWindowCustom.cpp:
3123 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3124 (WebCore::JSDOMWindow::customPut):
3125 * bindings/js/kjs_dom.cpp:
3126 (WebCore::checkNodeSecurity):
3127 * bindings/js/kjs_window.cpp:
3128 (KJS::createWindow):
3129 (KJS::Window::getValueProperty):
3130 (KJS::Window::namedItemGetter):
3131 (KJS::Window::getOwnPropertySlot):
3133 (KJS::Window::allowsAccessFrom):
3134 (KJS::Window::setListener):
3135 (KJS::Window::getListener):
3136 (KJS::WindowProtoFuncOpen::callAsFunction):
3137 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
3138 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
3139 (KJS::WindowProtoFuncSetInterval::callAsFunction):
3140 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
3141 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
3142 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
3143 (KJS::Location::getOwnPropertySlot):
3144 (KJS::Location::put):
3145 (KJS::LocationProtoFuncReplace::callAsFunction):
3146 (KJS::LocationProtoFuncReload::callAsFunction):
3147 (KJS::LocationProtoFuncAssign::callAsFunction):
3148 (KJS::LocationProtoFuncToString::callAsFunction):
3149 * bindings/js/kjs_window.h:
3150 (KJS::Window::allowsAccessFrom):
3151 * bindings/objc/WebScriptObject.mm:
3152 (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
3154 * bindings/scripts/CodeGeneratorJS.pm:
3156 2007-12-08 Rob Buis <buis@kde.org>
3160 http://bugs.webkit.org/show_bug.cgi?id=15464
3161 SVGLengthList allows bad values
3163 Be more strict with svg lengths without a unit identifier.
3165 Test: svg/custom/invalid-lengthlist.svg
3167 * svg/SVGLength.cpp:
3168 (WebCore::SVGLength::setValueAsString):
3170 2007-12-08 Rob Buis <buis@kde.org>
3172 Mac Tiger build fix.
3174 Use the wtf prefix when including MathExtras.h.
3176 * rendering/RenderMedia.cpp:
3178 2007-12-08 Alp Toker <alp@atoker.com>
3180 GTK+ build fix (for ENABLE_VIDEO builds):
3182 Include MathExtras.h to get isfinite().
3184 * rendering/RenderMedia.cpp:
3186 2007-12-08 Rob Buis <buis@kde.org>
3190 http://bugs.webkit.org/show_bug.cgi?id=15528
3191 svg_dynamic_cast should be removed
3193 Replace svg_dynamic_cast with a combination of
3194 isSVGElement and static_cast.
3196 * rendering/SVGRootInlineBox.cpp:
3197 (WebCore::SVGRootInlineBox::buildLayoutInformation):
3198 (WebCore::SVGRootInlineBox::buildTextChunks):
3199 * svg/SVGAnimationElement.cpp:
3200 (WebCore::SVGAnimationElement::targetElement):
3202 * svg/SVGElementInstance.cpp:
3203 (WebCore::SVGElementInstance::updateInstance):
3204 * svg/SVGFilterElement.cpp:
3205 (WebCore::SVGFilterElement::canvasResource):
3206 * svg/SVGGradientElement.cpp:
3207 (WebCore::SVGGradientElement::buildStops):
3208 * svg/SVGLocatable.cpp:
3209 (WebCore::SVGLocatable::getTransformToElement):
3210 * svg/SVGMaskElement.cpp:
3211 (WebCore::SVGMaskElement::drawMaskerContent):
3212 * svg/SVGSwitchElement.cpp:
3213 (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3214 * svg/SVGUseElement.cpp:
3215 (WebCore::SVGUseElement::insertedIntoDocument):
3216 (WebCore::SVGUseElement::buildPendingResource):
3217 (WebCore::SVGUseElement::buildInstanceTree):
3218 (WebCore::SVGUseElement::handleDeepUseReferencing):
3219 (WebCore::SVGUseElement::buildShadowTree):
3220 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3221 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3222 * svg/graphics/SVGResource.cpp:
3223 (WebCore::getResourceById):
3225 2007-12-07 Antti Koivisto <antti@apple.com>
3229 Partial fix for <rdar://problem/5633400>
3230 Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
3232 Fix video painting when transform is applied.
3234 Test: media/video-transformed.html
3236 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3237 (WebCore::MediaPlayerPrivate::paint):
3239 2007-12-07 Dan Bernstein <mitz@apple.com>
3241 Reviewed by Sam Weinig.
3243 - fix http://bugs.webkit.org/show_bug.cgi?id=16348
3244 @font-face does not affect the default style
3246 Test: fast/css/font-face-default-font.html
3249 (WebCore::Document::recalcStyle): Pass our font selector to
3250 Font::update() if we already have one.
3252 2007-12-07 Darin Adler <darin@apple.com>
3256 * bridge/win/GlobalHistoryWin.cpp:
3257 (WebCore::historyContains): Missed a rename.
3259 2007-12-07 Brady Eidson <beidson@apple.com>
3261 Reviewed by Anders and Darin
3263 When a statement bumps up against the quota and the UI Delegate grants more space, we need to
3264 actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
3265 in the DatabaseTracker, which was already done)
3267 * storage/SQLTransaction.cpp:
3268 (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
3269 the SQLiteDatabase to the new maximum size
3271 2007-12-07 Darin Adler <darin@apple.com>
3275 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
3276 QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
3278 2007-12-07 Darin Adler <darin@apple.com>
3280 - fix 64-bit build, hopefully without breaking Tiger build
3282 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3283 (WebCore::MediaPlayerPrivate::updateStates):
3284 Don't use Movies.h constants that are nonexistent in 64-bit.
3285 Define the new QTMovie.h constants, though, when using an older QTKit.
3287 2007-12-07 Brady Eidson <beidson@apple.com>
3291 Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
3293 * storage/DatabaseTracker.cpp:
3294 (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
3295 (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
3296 * storage/DatabaseTracker.h:
3298 2007-12-07 Darin Adler <darin@apple.com>
3302 - http://bugs.webkit.org/show_bug.cgi?id=15981
3303 speed up visited-link code a bit
3305 * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
3306 instead of requiring a DeprecatedString.
3308 * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
3309 Also removes pointless "fast Latin-1" case that was never used.
3310 * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
3311 * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3312 * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3314 * css/CSSStyleSelector.cpp:
3315 (WebCore::findHash): Added. Helper for cleanpath.
3316 (WebCore::findSlashDotDotSlash): Ditto.
3317 (WebCore::findSlashSlash): Ditto.
3318 (WebCore::findSlashDotSlash): Ditto.
3319 (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
3320 DeprecatedString find function.
3321 (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
3322 (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
3323 instead of an AtomicString for the attribute value. Changed to use fast helper function
3324 instead of slower DeprecatedString::contains function, and also made the fast case not
3325 bother allocating a DeprecatedConstString.
3327 - unrelated tiny cleanup
3329 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3330 (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
3331 (WebCore::cgGradientCallback): Ditto.
3333 2007-12-07 Darin Adler <darin@apple.com>
3335 Fix build on Tiger (Mark Rowe told me how).
3337 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3338 Include <objc/objc-runtime.h>, which existed back on Tiger,
3339 rather than <objc/runtime.h>, which did not.
3341 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3343 Build fix: rolling out last build fix to change #include path.
3345 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3347 2007-12-07 Steve Falkenburg <sfalken@apple.com>
3349 Re-named our B&I flag from BUILDBOT to PRODUCTION.
3351 Reviewed by Sam Weinig.
3353 * WebCore.vcproj/WebCore.make:
3355 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3357 Build fix: corrected #include path.
3359 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3361 2007-12-07 Geoffrey Garen <ggaren@apple.com>
3363 Reviewed by Sam Weinig.
3365 Added some namespace qualifications and a forwarding header, now that
3366 KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
3368 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
3369 * bindings/js/JSXSLTProcessor.cpp:
3370 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
3371 * bindings/js/kjs_binding.cpp:
3372 (KJS::ScriptInterpreter::getDOMNodeForDocument):
3373 (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3374 (KJS::ScriptInterpreter::putDOMNodeForDocument):
3375 (KJS::ScriptInterpreter::markDOMNodesForDocument):
3376 (KJS::ScriptInterpreter::updateDOMNodeDocument):
3378 2007-12-07 Adam Roben <aroben@apple.com>
3380 Add SoftLinking.h for Windows and use it in a few places
3384 * WebCore.vcproj/WebCore.vcproj: Added new file to project.
3385 * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
3386 (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
3388 (WebCore::PlatformScrollbar::paintButton): Check for the presence of
3389 the SafariTheme library now that we can't check for the presence of
3390 paintThemePart directly.
3391 (WebCore::PlatformScrollbar::paintTrack): Ditto.
3392 (WebCore::PlatformScrollbar::paintThumb): Ditto.
3393 * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
3394 * rendering/RenderThemeSafari.cpp: Same basic changes as to
3395 PlatformScrollBarSafari.cpp.
3396 (WebCore::RenderThemeSafari::RenderThemeSafari):
3397 (WebCore::RenderThemeSafari::isControlStyled):
3398 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3399 * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
3401 2007-12-07 Darin Adler <darin@apple.com>
3405 - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
3406 at WebCore::HTMLSelectElement::saveState const + 152
3408 Test: fast/forms/select-set-inner.html
3410 * dom/ContainerNode.cpp:
3411 (WebCore::ContainerNode::removeChildren): Added a return value, as with other
3412 calls that change children, so we can optimize for the case where it does nothing.
3413 (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
3414 * dom/ContainerNode.h: See above.
3416 * html/HTMLOptGroupElement.cpp:
3417 (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
3418 recalcSelectOptions in that case.
3419 (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
3420 addChild, for consistency with HTMLSelectElement; no need to override both.
3421 (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
3422 * html/HTMLOptGroupElement.h: See above.
3424 * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
3425 override childrenChanged, and addChild calls that.
3426 (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
3427 recalcSelectOptions in that case.
3428 (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
3429 by using a for loop and traverseNextSibling. Also added some new comments and
3430 removed some obsolete ones.
3431 (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
3432 sure we don't have a stale list items vector.
3433 * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
3434 This will help us catch cases where we have too few calls to setRecalcListItems.
3436 2007-12-07 Dan Bernstein <mitz@apple.com>
3438 Reviewed by Darin Adler.
3440 - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3442 Test: fast/repaint/focus-ring.html
3444 * editing/SelectionController.cpp:
3445 (WebCore::SelectionController::caretRepaintRect): Changed to return just
3446 the caret rect without any padding.
3447 (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
3448 just the caret rect without any padding.
3449 * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
3450 clearFocusRingClip().
3451 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3452 * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
3453 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
3454 m_focusRingClip member.
3455 * platform/graphics/mac/GraphicsContextMac.mm:
3456 (WebCore::GraphicsContext::drawFocusRing): Changed to call
3457 wkDrawFocusRing() once without setting up additional clip. On Leopard,
3458 wkDrawFocusRing() respects the context clip now. On Tiger, a
3459 transparency layer is used to apply clipping to the focus ring.
3460 * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
3462 * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
3463 * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
3464 to wkDrawFocusRing().
3465 * platform/mac/WebCoreSystemInterface.mm: Ditto.
3466 * rendering/RenderLayer.cpp:
3467 (WebCore::setClip): Removed call to set the focus ring clip.
3468 (WebCore::restoreClip): Removed call to reset the focus ring clip.
3470 2007-12-07 Darin Adler <darin@apple.com>
3472 Reviewed by Antti Koivisto and Kevin Decker.
3474 - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
3476 Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
3478 * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
3480 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
3481 Made a lot more functions const. Made a few more members private and a couple inline.
3482 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
3483 things we currently use in QTKit. It's a little more awkward for classes and other data objects
3484 than it is for functions, but still relatively straightforward, with no changes needed to the
3485 client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
3486 it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
3487 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
3489 (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
3490 (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
3491 (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
3492 Changed to use long instead of int because that's the type for a QTTime time scale anyway.
3493 (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
3494 (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
3495 (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
3496 points set to avoid a potential problem with a set being modified as we iterate it.
3497 (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
3498 (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
3499 values, used the constants from the headers directly.
3500 (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
3501 pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
3502 of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
3503 no better). Used RetainPtr instead of explicit CFRelease calls.
3505 * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
3506 It's not quite as automatic as the soft linking we can do for functions, since these define
3507 functions to get the values, so you need to define macros to make what look like variable
3508 accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
3510 * html/HTMLMediaElement.h:
3511 * html/TimeRanges.h:
3512 * html/VoidCallback.h:
3513 * platform/graphics/MediaPlayer.h:
3514 Use angle brackets for wtf includes. Omit unneeded includes.
3516 2007-12-07 Dan Bernstein <mitz@apple.com>
3518 Reviewed by Darin Adler.
3520 - fix http://bugs.webkit.org/show_bug.cgi?id=16334
3521 <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
3523 Test: fast/dynamic/subtree-no-common-root-static-y.html
3525 * rendering/RenderObject.cpp:
3526 (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
3527 to setChildNeedsLayout() to not mark containing blocks and added a
3528 separate call to markContainingBlocksForLayout() that will not schedule
3529 a layout if we are already in the middle of scheduleRelayoutOfSubtree().
3531 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
3535 http://bugs.webkit.org/show_bug.cgi?id=16325
3536 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
3538 Test: http/tests/misc/empty-cookie.html
3540 * platform/mac/CookieJar.mm:
3541 (WebCore::setCookies): Don't store empty cookies.
3542 (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
3543 with an earlier version of Leopard!
3545 2007-12-06 Ada Chan <adachan@apple.com>
3547 Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
3548 returning true when there's an error).
3552 * platform/win/FileSystemWin.cpp:
3553 (WebCore::makeAllDirectories):
3555 2007-12-06 Darin Adler <darin@apple.com>