1 2007-11-27 Timothy Hatcher <timothy@apple.com>
3 Reviewed by Adam Roben.
5 * page/inspector/inspector.css: Make the text in the Network
6 panel legend more readable.
8 2007-11-27 Timothy Hatcher <timothy@apple.com>
10 Reviewed by Adam Roben.
12 Don't call setNeedsReapplyStylesInAllFrames if the
13 authorAndUserStylesEnabled setting didn't change.
16 (WebCore::Settings::setAuthorAndUserStylesEnabled):
18 2007-11-27 Alp Toker <alp@atoker.com>
20 Fix potential broken build due to a missing DEPENDPATH.
24 2007-11-26 Timothy Hatcher <timothy@apple.com>
26 Reviewed by Dave Hyatt.
28 <rdar://problem/5569233> Add the ability to disable author and user CSS styles
30 * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
31 * css/CSSStyleSelector.cpp:
32 (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
33 (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
34 matching user and author rules.
35 (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
36 (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
37 * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
39 (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
40 (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
41 Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
43 (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
44 (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
45 when the setting changes.
46 * page/Settings.h: Add m_authorAndUserStylesEnabled.
47 (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
49 2007-11-27 Alp Toker <alp@atoker.com>
51 Reviewed by Mark Rowe.
53 Based on changes by Mike Emmel.
55 CURL HTTP backend local file fixes:
57 Set a MIME type for local files based on the file extension.
59 Remove any HTTP query part sent to a local file.
61 * platform/network/curl/ResourceHandleManager.cpp:
62 (WebCore::ResourceHandleManager::startJob):
64 2007-11-26 Brady Eidson <beidson@apple.com>
68 Allow setting the default storage quota per database origin
73 (WebCore::Settings::setDefaultDatabaseOriginQuota):
74 (WebCore::Settings::defaultDatabaseOriginQuota):
77 * storage/DatabaseTracker.cpp:
78 (WebCore::DatabaseTracker::DatabaseTracker):
79 (WebCore::DatabaseTracker::setDefaultOriginQuota):
80 (WebCore::DatabaseTracker::defaultOriginQuota):
81 * storage/DatabaseTracker.h:
83 2007-11-26 Peter Kasting <zerodpx@gmail.com>
85 Reviewed by Alp Toker.
87 http://bugs.webkit.org/show_bug.cgi?id=15974
88 GIF decoding should respect frames' specified disposal methods.
90 * platform/image-decoders/ImageDecoder.h:
91 (WebCore::RGBA32Buffer::):
92 (WebCore::RGBA32Buffer::RGBA32Buffer):
93 (WebCore::RGBA32Buffer::disposalMethod):
94 (WebCore::RGBA32Buffer::setDisposalMethod):
95 * platform/image-decoders/gif/GIFImageDecoder.cpp:
96 (WebCore::GIFImageDecoder::frameBufferAtIndex):
97 (WebCore::GIFImageDecoder::initFrameBuffer):
98 (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
99 (WebCore::GIFImageDecoder::haveDecodedRow):
100 (WebCore::GIFImageDecoder::frameComplete):
101 * platform/image-decoders/gif/GIFImageDecoder.h:
102 * platform/image-decoders/gif/GIFImageReader.cpp:
103 (GIFImageReader::read):
104 * platform/image-decoders/gif/GIFImageReader.h:
105 (GIFFrameReader::GIFFrameReader):
107 2007-11-26 Adam Roben <aroben@apple.com>
109 Add a Color(CGColorRef) constructor
113 * platform/graphics/Color.h:
114 * platform/graphics/cg/ColorCG.cpp:
115 (WebCore::Color::Color): Added.
117 2007-11-26 Adele Peterson <adele@apple.com>
121 Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet.
124 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
126 2007-11-26 Adele Peterson <adele@apple.com>
130 Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]
132 * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil.
133 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
134 (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
136 2007-11-26 Mark Rowe <mrowe@apple.com>
140 * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
142 2007-11-26 Feng Qian <ian.eng.webkit@gmail.com>
144 Reviewed and touched up by Sam Weinig.
146 Fix for http://bugs.webkit.org/show_bug.cgi?id=16073
148 Test: http/tests/security/xss-DENIED-invalid-domain-change.html
151 (WebCore::Document::setDomain): Don't set the securityOrigin policy unless
152 the set succeeds. Adds some early returns as well.
154 2007-11-26 Steve Falkenburg <sfalken@apple.com>
158 * WebCore.vcproj/WebCore.make:
159 * WebCore.vcproj/migrate-idls.sh:
161 2007-11-26 Sam Weinig <sam@webkit.org>
163 Fix potential null-dereference.
165 Reviewed by Adam Roben.
167 * page/FrameTree.cpp:
168 (WebCore::FrameTree::isDescendantOf):
170 2007-11-26 Sam Weinig <sam@webkit.org>
174 Fix for <rdar://problem/5592988>
175 - Enforce tighter restrictions on what frames in other domains
178 Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
179 http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
181 * bindings/js/kjs_window.cpp:
183 (KJS::Location::put):
184 (KJS::LocationProtoFuncReplace::callAsFunction):
185 (KJS::LocationProtoFuncAssign::callAsFunction):
186 * loader/FrameLoader.cpp:
187 (WebCore::FrameLoader::createWindow):
188 (WebCore::FrameLoader::load):
189 (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
190 * loader/FrameLoader.h:
191 * page/FrameTree.cpp:
192 (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
195 2007-11-26 Steve Falkenburg <sfalken@apple.com>
199 * WebCore.vcproj/migrate-idls.sh:
201 2007-11-26 Dan Bernstein <mitz@apple.com>
203 Reviewed by Dave Hyatt.
205 - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
207 Test: fast/dynamic/float-withdrawal-2.html
209 * rendering/RenderBlock.cpp:
210 (WebCore::RenderBlock::layoutBlockChildren): When a float may have
211 been withdrawn from a child, mark all descendants if necessary and not
214 2007-11-26 Steve Falkenburg <sfalken@apple.com>
218 * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
219 * WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
220 * WebCore.vcproj/migrate-idls.sh:
222 2007-11-26 Brady Eidson <beidson@apple.com>
224 Reviewed by Anders (and typo lovingly found by Adam)
226 Change Databases to be stored in a per-origin directory hierarchy - this will make
227 storage quotas much easier to enforce
229 * platform/SecurityOriginData.cpp:
230 (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':'
231 (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'.
232 '_' still works due to not being allowed in domain names, but also is a valid filename character '
233 on all filesystems we care about
235 * storage/DatabaseTracker.cpp:
236 (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize
239 2007-11-26 Timothy Hatcher <timothy@apple.com>
241 Reviewed by Adam Roben.
243 Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
244 http://bugs.webkit.org/show_bug.cgi?id=16137
246 On Leopard the toolbar background will be transparent, to allow the
247 window background to show through the transparent WebView. The
248 search results divs needed to move inside the "main" div, so they
249 would be clipped and not show where the toolbar is.
251 * page/InspectorController.cpp:
252 (WebCore::platform): Return a string for which platform we are.
253 (WebCore::InspectorController::windowScriptObjectAvailable):
254 Define the platform function on the JavaScript class.
255 * page/inspector/Panel.js: Add panels to the panels div.
256 * page/inspector/inspector.css: On the Leopard platform make
257 the toolbar background transparent so the window background shows.
258 * page/inspector/inspector.html: Add a panels div and move search
259 result divs inside the main div.
260 * page/inspector/inspector.js: Tweak the resize code to acount for
261 the search results divs moving inside the main div.
263 2007-11-25 Rodney Dawes <dobey@wayofthemonkey.com>
265 Reviewed by Maciej Stachowiak.
267 Remove the unneeded CFNETWORK #ifdefs.
269 * loader/NetscapePlugInStreamLoader.h:
271 2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com>
273 Reviewed by Sam Weinig.
275 Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.
277 * dom/XMLTokenizer.cpp:
278 * dom/XMLTokenizer.h:
279 * platform/DeprecatedString.h:
280 * platform/PlatformString.h:
282 2007-11-25 Dan Bernstein <mitz@apple.com>
284 Reviewed by Adam Roben.
286 - fix off-center error images
288 Covered by many pixel tests with missing images
290 * rendering/RenderImage.cpp:
291 (WebCore::RenderImage::paint): Account for the 1 pixel outline when
292 positioning the error image.
294 2007-11-25 Kevin Ollivier <kevino@theolliviers.com>
296 wx build fix. Fix filename case for case-sensitive filesystems.
298 * WebCoreSources.bkl:
300 2007-11-22 Nikolas Zimmermann <zimmermann@kde.org>
302 Reviewed by Adam Roben.
304 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564
306 Fix problems with hidden glyphs. They were taken into account for quite
307 some operations (hit testing, length calulcations etc..) except painting.
308 Especially fixes boundaries of <textPath> (see using Web Inspector) if
309 text-anchor isn't equal to 'start'.
312 svg/text/textPathBoundsBug.svg
314 Fixed testcase: (all showed text selection problems on text paths)
315 svg/batik/text/textGlyphOrientationHorizontal.svg
316 svg/batik/text/textOnPath.svg
317 svg/batik/text/textOnPath3.svg
318 svg/batik/text/verticalTextOnPath.svg
319 svg/text/text-align-04-b.svg
320 svg/W3C-SVG-1.1/text-align-04-b.svg
322 * rendering/SVGCharacterLayoutInfo.cpp:
323 (WebCore::SVGChar::isHidden):
324 * rendering/SVGCharacterLayoutInfo.h:
325 (WebCore::SVGCharOnPath::SVGCharOnPath):
326 * rendering/SVGInlineTextBox.cpp:
327 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
328 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
329 * rendering/SVGRootInlineBox.cpp:
330 (WebCore::topLeftPositionOfCharacterRange):
331 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
332 (WebCore::cummulatedWidthOrHeightOfTextChunk):
333 (WebCore::applyTextAnchorToTextChunk):
334 (WebCore::applyTextLengthCorrectionToTextChunk):
335 (WebCore::SVGRootInlineBox::layoutInlineBoxes):
336 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
337 (WebCore::SVGRootInlineBox::buildTextChunks):
339 2007-11-25 Alexey Proskuryakov <ap@webkit.org>
343 http://bugs.webkit.org/show_bug.cgi?id=15919
344 XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end
346 Test: fast/xsl/extra-lf-at-end.html
348 * xml/XSLTProcessor.cpp:
349 (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend().
350 (WebCore::saveResultToString): Remove trailing line feed if present.
352 2007-11-24 Mark Rowe <mrowe@apple.com>
354 Reviewed by Tim Hatcher.
356 Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
357 http://bugs.webkit.org/show_bug.cgi?id=13705
359 Don't buffer the entire stream contents in memory in the ResourceLoader.
361 * loader/mac/NetscapePlugInStreamLoaderMac.mm:
362 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
363 (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
364 * loader/mac/WebPlugInStreamLoaderDelegate.h:
366 2007-11-23 Adam Roben <aroben@apple.com>
368 Get rid of WebCoreSystemInterface on Windows
370 The one function defined in that file is now in WebKitSystemInterface.
374 * WebCore.vcproj/WebCore.vcproj: Removed
375 WebCoreSystemInterface.{cpp,h}.
376 * platform/graphics/cg/ImageCG.cpp: Made #include of
377 WebCoreSystemInterface.h Mac-only.
378 * platform/win/GraphicsContextWin.cpp: Ditto.
379 * platform/win/WebCoreSystemInterface.cpp: Removed.
380 * platform/win/WebCoreSystemInterface.h: Removed.
382 2007-11-24 Adam Roben <aroben@apple.com>
384 Replace uses of %@ with %s in the inspector
386 Rubberstamped by Tim.
388 * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
389 * page/inspector/DatabasePanel.js: Ditto.
390 * page/inspector/StylesSidebarPane.js: Ditto.
391 * page/inspector/inspector.js: Ditto.
392 * page/inspector/utilities.js:
393 (String.vsprintf): Removed @ as a format specifier.
395 2007-11-24 Adam Roben <aroben@apple.com>
399 Turn off the change made in r27984 on Windows for now.
401 * xml/XSLTProcessor.cpp:
402 (WebCore::XSLTProcessor::transformToString):
403 * xml/XSLTUnicodeSort.cpp:
405 2007-11-24 Timothy Hatcher <timothy@apple.com>
407 Reviewed by Adam Roben.
409 Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
410 addEventListener and setTimeout
411 http://bugs.webkit.org/show_bug.cgi?id=16121
413 Add Function.prototype.bind. This helper will return a wrapper function
414 that will call the original function with the supplied arguments
415 and using the supplied 'this' object.
417 * page/inspector/Database.js: Remove a use of setTimeout by
418 inheriting some common functions from Resource.
419 * page/inspector/DatabasePanel.js: Use the new bind function.
420 * page/inspector/ConsolePanel.js: Ditto.
421 * page/inspector/DocumentPanel.js: Ditto.
422 * page/inspector/NetworkPanel.js: Ditto.
423 * page/inspector/PropertiesSection.js: Ditto.
424 * page/inspector/Resource.js: Ditto.
425 * page/inspector/SidebarPane.js: Ditto.
426 * page/inspector/inspector.html: Moved Database.js after Resource.js,
427 now that Database.js uses it.
428 * page/inspector/inspector.js: Use the new bind function. Also
429 removed a setTimeout used for the localized strings code. There is
430 now a load event listener added to the localized strings script
431 element that will call WebInspector.loaded.
432 * page/inspector/utilities.js: Add Function.prototype.bind.
434 2007-11-24 Timothy Hatcher <timothy@apple.com>
436 Reviewed by Adam Roben.
438 Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
439 http://bugs.webkit.org/show_bug.cgi?id=16112
441 In the places where we use offsetWidth and offsetHeight before
442 the stylesheet loads there is now a check. If the body's
443 offsetWidth is not greater than zero, then set a timeout
444 to do the updates requiring the stylesheet later.
446 The three places this happened:
447 - DOM tree selection highlight would show up at the wrong height
448 when using Inspect Element to open the inspector.
449 - DOM tree breadcrumbs would not collapse when using Inspect Element
450 to open the inspector.
451 - Network Timeline divider lines would not show when opening directly
454 * page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
455 * page/inspector/NetworkPanel.js: Ditto.
456 * page/inspector/inspector.html: Include the stylesheet before
457 any scripts, this will help get it loaded sooner.
459 2007-11-24 Kevin Ollivier <kevino@theolliviers.com>
461 Add wx implementation for pathGetFilename
463 Reviewed by David D. Kilzer.
465 * html/HTMLFormElement.cpp:
466 (WebCore::pathGetFilename):
468 2007-11-23 Timothy Hatcher <timothy@apple.com>
470 Reviewed by Adam Roben.
472 Bug 16110: Clicking inside the resource headers in the network timeline collapses them
473 http://bugs.webkit.org/show_bug.cgi?id=16110
475 Toggle the resource headers only if the click happens on the
476 resource row, not within the headers area.
478 * WebCore.xcodeproj/project.pbxproj:
479 * page/inspector/NetworkPanel.js:
481 2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
483 Win build fixes. CURL needs winsock, so don't disable it, and
484 include pthreads.h to get the threadsafe *_r functions.
486 Reviewed by Adam Roben.
489 * loader/FTPDirectoryDocument.cpp:
490 * loader/FTPDirectoryParser.cpp:
492 2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
494 wx build fix. Move wx settings to project build settings,
495 remove some old settings that were masking a build problem,
496 and fix include ordering to ensure proper config.h and
497 unicode/utf8.h headers are used.
502 2007-11-23 Simon Hausmann <hausmann@webkit.org>
504 Reviewed by George Staikos <staikos@kde.org>.
506 Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call).
510 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
512 Not reviewed, trivial leak fix.
514 Fix xsltUnicodeSortFunction() memory leaks.
516 * xml/XSLTUnicodeSort.cpp:
517 (WebCore::xsltUnicodeSortFunction):
519 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
523 <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but
524 not closed (affects digg.com)
526 Tests: fast/loader/meta-refresh-vs-open.html
527 fast/loader/redirect-with-open-subframe-2.html
528 fast/loader/redirect-with-open-subframe.html
529 http/tests/loading/onload-vs-immediate-refresh.pl
531 * loader/FrameLoader.cpp:
532 (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for
533 HTTP redirects - JavaScript-initiated ones are effective immediately.
535 2007-11-23 Dan Bernstein <mitz@apple.com>
537 Reviewed by Alexey Proskuryakov.
539 - apply matrix transforms on the correct side of the transformation
540 matrix (not on the side where the vector is multiplied).
542 Test: fast/transforms/matrix-02.html
544 * rendering/RenderStyle.h:
545 (WebCore::MatrixTransformOperation::apply):
547 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
551 http://bugs.webkit.org/show_bug.cgi?id=16077
552 <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other
553 browser implementations
555 Test: fast/xsl/sort-unicode.xml
557 * xml/XSLTProcessor.cpp:
558 (WebCore::XSLTProcessor::transformToString): Set a custom sort function.
560 * xml/XSLTUnicodeSort.cpp: Added.
561 (init_xsltTransformError):
562 (xsltTransformError):
563 (WebCore::xsltUnicodeSortFunction):
564 * xml/XSLTUnicodeSort.h: Added.
565 ICU-based implementation of xsl:sort, using an example from libxslt distribution.
566 Only minimal coding style fixes to ease synchronization with upstream in the future.
568 * icu/unicode/ucol.h: Added.
569 * icu/unicode/uset.h: Added.
573 * WebCore.vcproj/WebCore.vcproj:
574 * WebCore.xcodeproj/project.pbxproj:
575 * WebCoreSources.bkl:
576 Added XSLTUnicodeSort.cpp.
578 2007-11-22 Alexey Proskuryakov <ap@webkit.org>
582 http://bugs.webkit.org/show_bug.cgi?id=14977
583 Hixie's DOM Core performance test shows insert >10x slower than append
585 Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList,
586 which persisted and listened to notifications until GC.
588 A fix is to avoid registering child node lists for notifications - they don't need them, as
589 they share a common cache in Node.
592 (WebCore::Node::registerNodeList):
593 (WebCore::Node::unregisterNodeList):
594 (WebCore::Node::notifyLocalNodeListsAttributeChanged):
595 (WebCore::Node::notifyLocalNodeListsChildrenChanged):
597 (WebCore::NodeList::needsNotifications):
599 2007-11-22 Dan Bernstein <mitz@apple.com>
601 Reviewed by Antti Koivisto.
603 - fix http://bugs.webkit.org/show_bug.cgi?id=15811
604 WebKit plug-ins can re-enter WebKit under attach()
605 <rdar://problem/5577978>
607 Defer plug-in loading until after attach and recalcStyle using the
608 post-attach callback mechanism. Netscape plug-ins are still loaded only
611 * dom/ContainerNode.cpp:
612 Made NodeCallbackQueue elements retain the Node because callbacks might
613 delete nodes that are in the callback queue.
614 (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to
615 prevent post-attach callbacks from being dispatched under recalcStyle().
616 (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto.
617 (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from
619 (WebCore::ContainerNode::attach):
620 * dom/ContainerNode.h:
622 (WebCore::Document::recalcStyle): Added calls to
623 suspendPostAttachCallbacks() and resumePostAttachCallbacks().
624 * html/HTMLEmbedElement.cpp:
625 (WebCore::HTMLEmbedElement::HTMLEmbedElement):
626 (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update
628 (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the
629 post-attach callback.
630 * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to
631 prevent a double update if another plug-in's post-attach updateWidget()
632 triggers a layout which updates the widget before this plug-in's
633 post-attach callback is invoked.
634 (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for
636 * html/HTMLObjectElement.cpp:
637 (WebCore::HTMLObjectElement::attach): Changed to queue the widget update
639 (WebCore::HTMLObjectElement::updateWidget): Added. Called by the
640 post-attach callback.
641 * html/HTMLObjectElement.h:
642 (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for
644 * html/HTMLPlugInElement.cpp:
645 (WebCore::HTMLPlugInElement::updateWidgetCallback): Added.
646 * html/HTMLPlugInElement.h:
647 (WebCore::HTMLPlugInElement::updateWidget):
648 * rendering/RenderPartObject.cpp:
649 (WebCore::RenderPartObject::updateWidget): Added calls to
650 setNeedWidgetUpdate(false) so that if this method is called from
651 FrameView::layout() during post-attach dispatch of another plug-in,
652 it will not be called again when this plug-in's post-attach callback
654 * rendering/RenderPartObject.h:
655 (WebCore::RenderPartObject::updateWidget) Renamed argument to match
656 the method definition.
658 2007-11-22 Timothy Hatcher <timothy@apple.com>
660 Reviewed by Dan Bernstein.
662 Fix the Element.hasStyleClass and Element.removeStyleClass helpers
663 to not find and replace substrings, but whole class names at the
664 beginning or end of the string or surrounded by whitespace.
666 * page/inspector/utilities.js:
668 2007-11-22 Timothy Hatcher <timothy@apple.com>
670 Revert part of my r27935 change that made the Tip balloons
671 animate with CSS transitions. The balloon was only opacity 0,
672 so it would cause its row to highlight when hovering over
675 * page/inspector/NetworkPanel.js:
676 * page/inspector/inspector.css:
678 2007-11-22 Dan Bernstein <mitz@apple.com>
680 Reviewed by Maciej Stachowiak.
682 - fix http://bugs.webkit.org/show_bug.cgi?id=15943
683 -webkit-transform matrix does not work
685 Test: fast/transforms/matrix-01.html
687 Parse all six matrix entries as numbers.
690 (WebCore::TransformOperationInfo::TransformOperationInfo):
691 (WebCore::CSSParser::parseTransform):
692 * css/CSSStyleSelector.cpp:
693 (WebCore::CSSStyleSelector::applyProperty):
694 * rendering/RenderStyle.cpp:
695 (WebCore::MatrixTransformOperation::blend):
696 * rendering/RenderStyle.h:
697 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
698 (WebCore::MatrixTransformOperation::apply):
700 2007-11-22 Laszlo Gombos <laszlo.gombos@gmail.com>
702 Reviewed by Alp Toker.
704 Fix some compilation warnings. Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData)
706 * loader/CachedFont.cpp:
707 (WebCore::CachedFont::~CachedFont):
708 (WebCore::CachedFont::allReferencesRemoved):
710 2007-11-22 Alp Toker <alp@atoker.com>
712 Reviewed by Mark Rowe.
716 Add a check to avoid crashing when the GraphicsContext is not
717 associated with a GdkEventExpose. This was noticed when adding
718 printing support but might be triggered in other situations too.
720 * platform/gtk/WidgetGtk.cpp:
721 (WebCore::Widget::paint):
723 2007-11-22 Julien Chaffraix <julien.chaffraix@gmail.com>
727 Bug 15530: XMLHttpRequest should not support certain methods
729 Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html
731 * xml/XMLHttpRequest.cpp:
732 (WebCore::XMLHttpRequest::open):
734 2007-11-22 Simon Hausmann <hausmann@kde.org>
738 For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.)
742 2007-11-22 Simon Hausmann <hausmann@kde.org>
746 Don't set OBJECTS_DIR when building inside Qt
750 2007-11-22 Simon Hausmann <hausmann@kde.org>
754 Use ../generated as path for the generated sources for builds inside Qt
758 2007-11-22 Simon Hausmann <hausmann@kde.org>
762 Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
766 2007-11-22 Simon Hausmann <hausmann@kde.org>
770 Centralize the setup for all the extra compilers in a addExtraCompiler function.
772 This allows adding a "generated_files" target that builds all generated files using "make generated_files".
773 For the build inside Qt we do not generate actual rules for the extra compilers but instead
774 do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
778 2007-11-21 Timothy Hatcher <timothy@apple.com>
780 Reviewed by Eric Seidel.
782 Show Fonts as Yellow in the network timeline.
784 * page/inspector/NetworkPanel.js:
785 * page/inspector/inspector.css:
787 2007-11-21 Dan Bernstein <mitz@apple.com>
789 Reviewed by Eric Seidel.
791 - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
793 Test: fast/repaint/subtree-root-skipped.html
795 * page/FrameView.cpp:
796 (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
798 (WebCore::FrameView::layoutRoot): Changed to return a RenderObject
800 (WebCore::FrameView::layout): Changed for layout root being a renderer
801 rather than a DOM node. Also replaced clearing the repaint rects
802 set with asserting that it is empty if this is the top-level call to
803 layout(). If it is not, the set may contain rects from enclosing
804 layout() and those should not be removed.
805 (WebCore::FrameView::scheduleRelayout): Changed for layout root being
806 a renderer rather than a DOM node.
807 (WebCore::isObjectAncestorContainerOf): Added this helper function that
808 tests whether one object will be marked by calling
809 markContainingBlocksForLayout() on the other.
810 (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
811 root being a renderer rather than a DOM node. Changed the check if new
812 and current layout roots are on the same path from the root to use
813 the subgraph of the render tree defined by container()hood instead of
814 the DOM tree and parenthood.
816 * rendering/RenderBox.cpp:
817 (WebCore::RenderBox::calcWidth): Changed for layout root being a
818 renderer rather than a DOM node.
819 * rendering/RenderObject.cpp:
820 (WebCore::RenderObject::~RenderObject): Added an assertion that the
821 object being deleted is not currently the layout root.
822 (WebCore::RenderObject::scheduleRelayout): Changed for layout root being
823 a renderer rather than a DOM node.
825 2007-11-21 Mark Rowe <mrowe@apple.com>
829 Fix WebCore to build without warnings under GCC 4.2.
831 * Configurations/Base.xcconfig:
832 * css/CSSRuleList.cpp:
833 (WebCore::CSSRuleList::deleteRule):
834 * css/CSSStyleSelector.cpp:
835 (WebCore::CSSStyleSelector::locateSharedStyle):
836 * html/HTMLParser.cpp:
837 (WebCore::HTMLParser::allowNestedRedundantTag):
838 * rendering/RenderBlock.cpp:
839 (WebCore::RenderBlock::fillInlineSelectionGaps):
840 (WebCore::RenderBlock::fillBlockSelectionGaps):
841 * rendering/RenderLayer.cpp:
842 (WebCore::RenderLayer::stackingContext):
843 (WebCore::RenderLayer::enclosingPositionedAncestor):
844 (WebCore::RenderLayer::transparentAncestor):
845 * rendering/RenderStyle.cpp:
846 (WebCore::BackgroundLayer::fillUnsetProperties):
847 (WebCore::Transition::fillUnsetProperties):
848 * rendering/RenderText.cpp:
849 (WebCore::RenderText::containsOnlyWhitespace):
850 * rendering/bidi.cpp:
851 (WebCore::RenderBlock::determineStartPosition):
853 2007-11-21 Alp Toker <alp@atoker.com>
855 Reviewed by Mark Rowe.
857 http://bugs.webkit.org/show_bug.cgi?id=16071
858 Curl backend handles EINTR incorrectly
860 Defer timers during select() to avoid interruption by timer signals.
862 * platform/network/curl/ResourceHandleManager.cpp:
863 (WebCore::ResourceHandleManager::downloadTimerCallback):
865 2007-11-21 Mark Rowe <mrowe@apple.com>
867 Reviewed by Tim Hatcher.
869 Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
871 Update format strings to use format specifiers that match the argument types.
873 * loader/icon/IconDatabase.cpp:
874 (WebCore::IconDatabase::performURLImport):
875 (WebCore::IconDatabase::writeToDatabase):
876 * platform/mac/TextCodecMac.cpp:
877 (WebCore::TextCodecMac::decode):
878 * storage/Database.cpp:
879 (WebCore::Database::deliverAllPendingCallbacks):
881 2007-11-21 Xan Lopez <xan@gnome.org>
883 Reviewed by Alp Toker.
885 Clarify scroll event processing with a comment.
887 * platform/gtk/PlatformScrollBarGtk.cpp:
888 (gtkScrollEventCallback):
890 2007-11-21 Timothy Hatcher <timothy@apple.com>
892 Reviewed by Adam Roben.
894 Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
895 http://bugs.webkit.org/show_bug.cgi?id=16085
898 - Refactor the drawing code as nested functions instead of global functions.
899 - Compute the segment percentages only once per call to drawSummaryGraph.
900 - Account for percentages that rounded down to total less-than 100%.
901 - Draw the pill shadow better using the canvas shadow drawing properties.
902 - Removes a couple canvas context saves and restores.
904 * page/inspector/NetworkPanel.js:
906 2007-11-21 Alexey Proskuryakov <ap@webkit.org>
908 Reviewed by Adam Roben.
910 http://bugs.webkit.org/show_bug.cgi?id=16056
911 Unicode not being interpreted correctly in Web Inspector source view
913 Cannot be tested automatically.
915 * loader/CachedCSSStyleSheet.cpp:
916 (WebCore::CachedCSSStyleSheet::encoding):
917 * loader/CachedCSSStyleSheet.h:
918 * loader/CachedResource.h:
919 (WebCore::CachedResource::encoding):
920 * loader/CachedScript.cpp:
921 (WebCore::CachedScript::encoding):
922 * loader/CachedScript.h:
923 * loader/CachedXBLDocument.cpp:
924 (WebCore::CachedXBLDocument::encoding):
925 * loader/CachedXBLDocument.h:
926 * loader/CachedXSLStyleSheet.cpp:
927 (WebCore::CachedXSLStyleSheet::encoding):
928 * loader/CachedXSLStyleSheet.h:
929 Teach textual CachedResources to report their encodings.
931 * page/InspectorController.cpp:
932 (WebCore::addSourceToFrame):
933 (WebCore::updateResourceResponse):
934 Use the actual encoding - the network layer has little idea about it.
936 2007-11-20 Mark Rowe <mrowe@apple.com>
938 Reviewed by Maciej Stachowiak.
940 Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
941 http://bugs.webkit.org/show_bug.cgi?id=16076
943 XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
944 parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying
945 of the CharacterData's string due to resizing. We now prevent this happening by buffering all the
946 content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
948 * dom/XMLTokenizer.cpp:
949 (WebCore::XMLTokenizer::characters): Append the characters to the buffer.
950 (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
951 (WebCore::endDocumentHandler):
952 (WebCore::XMLTokenizer::enterText):
953 (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
954 (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
955 (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
956 that the buffer gets flushed to the node.
957 * dom/XMLTokenizer.h:
959 2007-11-20 Timothy Hatcher <timothy@apple.com>
961 Reviewed by Mark Rowe.
963 Animate the status area and tip balloons in the Web Inspector
966 * page/inspector/NetworkPanel.js:
967 * page/inspector/inspector.css:
968 * page/inspector/inspector.js:
970 2007-11-20 Kevin Ollivier <kevino@theolliviers.com>
972 wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
973 it indiscriminately copies any headers inside JavaScriptCore,
974 which includes Tiger ICU headers.
977 Remove references to the WebCore/include dir generated by
978 move-js-headers.sh, and also get headers from JavaScriptCore
979 directly rather than from WebCore/ForwardingHeaders.
981 2007-11-20 Alp Toker <alp@atoker.com>
983 Reviewed by Mark Rowe.
985 Avoid pointlessly mallocing and freeing this transform matrix.
987 * platform/gtk/FontPlatformDataGtk.cpp:
988 (WebCore::FontPlatformData::FontPlatformData):
990 2007-11-20 Naiem Shaik <naiem.shaik@gmail.com>
992 Reviewed by Alp Toker.
994 http://bugs.webkit.org/show_bug.cgi?id=15763
995 [GTK] Enter key does not take to the link highlighted.
997 Add missing keycode cases.
999 * platform/gtk/KeyEventGtk.cpp:
1000 (WebCore::keyIdentifierForGdkKeyCode):
1001 (WebCore::windowsKeyCodeForKeyEvent):
1002 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1004 2007-11-20 Mark Rowe <mrowe@apple.com>
1006 Reviewed by Sam Weinig.
1008 Fix http://bugs.webkit.org/show_bug.cgi?id=16074
1009 Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
1011 For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
1012 not result in an id being set.
1014 * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
1016 2007-11-20 Dan Bernstein <mitz@apple.com>
1018 Reviewed by Adam Roben.
1020 - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
1022 * platform/win/PlatformScrollBar.h:
1023 * platform/win/PlatformScrollBarSafari.cpp:
1024 Added the "hit inset" constants (representing how far the track eats
1026 (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
1027 the thumb only if they should be showing.
1028 (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
1029 arrows should be drawn.
1030 (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
1032 (WebCore::PlatformScrollbar::forwardButtonRect):
1033 (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
1034 bounds of the scrollbar if the scrollbar has no buttons.
1035 (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
1036 track along the entire scrollbar if it has not buttons.
1037 (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
1038 parts that the scrollbar has in its current dimensions.
1040 2007-11-20 Mark Rowe <mrowe@apple.com>
1042 Reviewed by Alp Toker.
1044 * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
1046 2007-11-20 Simon Hausmann <hausmann@kde.org>
1048 Reviewed by Adam Treat <treat@kde.org>.
1050 Remove static linkage of QtWebKit against the ICO image format plugin.
1051 Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
1054 * platform/graphics/qt/ImageDecoderQt.cpp:
1056 2007-11-20 David D. Kilzer <ddkilzer@webkit.org>
1058 no-svg build broken after r27278
1059 <http://bugs.webkit.org/show_bug.cgi?id=16061>
1063 * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
1064 and DOMHTMLObjectElementPrivate.h for no-svg build.
1066 2007-11-20 Adam Treat <treat@kde.org>
1070 * Don't use so much heap memory.
1072 * platform/graphics/qt/ImageDecoderQt.cpp:
1073 * platform/graphics/qt/ImageDecoderQt.h:
1074 * platform/graphics/qt/ImageSourceQt.cpp:
1075 (WebCore::ImageSource::createFrameAtIndex):
1077 2007-11-20 Lars Knoll <lars@trolltech.com>
1081 Fix text break interators.
1083 The break iterators where trying to be smart about the input
1084 string and caching their results. Unfortunately a pointer/string length
1085 comparison is not good enough in all cases (since some input is stack based
1086 temp strings). Removed the caching but at the same time started to use a more
1087 efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
1090 Fixes two test cases that test "text-transform: capitalize".
1092 * platform/qt/TextBreakIteratorQt.cpp:
1093 (WebCore::wordBreakIterator):
1094 (WebCore::characterBreakIterator):
1095 (WebCore::lineBreakIterator):
1096 (WebCore::sentenceBreakIterator):
1098 2007-11-20 Adam Treat <treat@kde.org>
1102 * Make gif animations work for instance.
1104 * platform/graphics/qt/ImageDecoderQt.cpp:
1105 (WebCore::ImageDecoderQt::reset):
1106 (WebCore::ImageDecoderQt::setData):
1107 (WebCore::ImageDecoderQt::frameCount):
1108 (WebCore::ImageDecoderQt::repetitionCount):
1109 * platform/graphics/qt/ImageDecoderQt.h:
1111 2007-11-20 Adam Treat <treat@kde.org>
1113 * Build in release mode
1115 * platform/NotImplemented.h:
1117 2007-11-20 Adam Treat <treat@kde.org>
1119 Reviewed by Simon and George.
1121 * Be quiet and allow suppression of NotImplemented calls at runtime.
1123 * platform/NotImplemented.h:
1125 2007-11-19 Doug Turner <dougt@meer.net>
1127 Reviewed by Alp Toker.
1129 http://bugs.webkit.org/show_bug.cgi?id=16054
1130 Crash when GlyphPage::fill is called with more than 256 bytes of data
1132 http://bugs.webkit.org/show_bug.cgi?id=14446
1133 [GDK] Crash on http://www.wikipedia.org/
1135 setGlyphDataForIndex() uses a fixed array of size 256 which we can't
1136 exceed. We need to return failure if the buffer has Unicode
1137 supplementary characters for now.
1139 This strategy matches the Win port, which also doesn't support this
1142 Add an assertion so nobody makes this mistake again.
1144 * platform/GlyphPageTreeNode.h:
1145 (WebCore::GlyphPage::setGlyphDataForIndex):
1146 * platform/gtk/GlyphPageTreeNodeGtk.cpp:
1147 (WebCore::GlyphPage::fill):
1149 2007-11-19 Doug Turner <dougt@meer.net>
1151 Reviewed by Timothy Hatcher.
1153 http://bugs.webkit.org/show_bug.cgi?id=16050
1154 sqlite3_prepare16_v2 build bustage.
1156 Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
1157 to fix build bustage.
1159 * platform/sql/SQLiteStatement.cpp:
1160 (WebCore::SQLiteStatement::prepare):
1162 2007-11-19 Mark Rowe <mrowe@apple.com>
1164 Build fix. Don't over-qualify the constructor name.
1166 * storage/DatabaseDetails.h:
1168 2007-11-19 Brady Eidson <beidson@apple.com>
1172 Stub out the WebCore parts of the WebKit API
1175 * WebCore.xcodeproj/project.pbxproj:
1177 * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database
1178 (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
1179 (WebCore::DatabaseDetails::DatabaseDetails):
1180 (WebCore::DatabaseDetails::isValid):
1181 (WebCore::DatabaseDetails::name):
1182 (WebCore::DatabaseDetails::version):
1183 (WebCore::DatabaseDetails::displayName):
1184 (WebCore::DatabaseDetails::expectedUsage):
1185 (WebCore::DatabaseDetails::currentUsage):
1187 * storage/DatabaseTracker.cpp: Added various methods for API usage
1188 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1189 (WebCore::DatabaseTracker::usageForOrigin):
1190 (WebCore::DatabaseTracker::quotaForOrigin):
1191 (WebCore::DatabaseTracker::setQuota):
1192 * storage/DatabaseTracker.h:
1194 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
1198 * platform/graphics/wx/AffineTransformWx.cpp:
1199 (WebCore::AffineTransform::operator== ):
1200 m_transform is only available when using wxGraphicsContext.
1202 2007-11-19 Alp Toker <alp@atoker.com>
1204 Reviewed by Mark Rowe.
1208 Add a check to avoid crashing when the GraphicsContext is not
1209 associated with a GdkDrawable. This was noticed when adding printing
1210 support but might be triggered in other situations too.
1212 Do not render themes when painting is disabled. This is an
1213 optimisation for cases where GraphicsContext is used to calculate page
1214 dimensions etc. without actually rendering.
1216 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1217 (WebCore::GraphicsContext::gdkDrawable):
1218 * platform/gtk/RenderThemeGtk.cpp:
1219 (WebCore::paintMozWidget):
1221 2007-11-13 Rahul Abrol <ra5ul@comcast.net>
1223 Reviewed by Tim Hatcher.
1225 http://bugs.webkit.org/show_bug.cgi?id=15977
1226 Resizing images preference now toggles default image state.
1228 * loader/ImageDocument.cpp:
1229 (WebCore::ImageDocument::ImageDocument):
1230 (WebCore::ImageDocument::createDocumentStructure):
1231 (WebCore::ImageDocument::imageChanged):
1233 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
1235 Update wx port build sources with recent changes, update
1236 wx FontPlatformData to be a class (MSVC7 gets confused
1237 otherwise...) and implement its hash() method.
1241 * WebCoreSources.bkl:
1242 * platform/wx/FontPlatformData.h:
1243 (WebCore::FontPlatformData::hash):
1245 2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com>
1249 http://bugs.webkit.org/show_bug.cgi?id=12194
1250 Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they
1251 are not available should raise an exception
1253 Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
1254 http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
1256 * bindings/js/JSXMLHttpRequest.cpp:
1257 (KJS::JSXMLHttpRequest::getValueProperty):
1258 * xml/XMLHttpRequest.cpp:
1259 (WebCore::XMLHttpRequest::getResponseText):
1260 (WebCore::XMLHttpRequest::getResponseXML):
1261 * xml/XMLHttpRequest.h:
1263 2007-11-19 Peter Kasting <zerodpx@gmail.com>
1265 Reviewed by Darin Adler.
1267 http://bugs.webkit.org/show_bug.cgi?id=15971
1268 The GIF decoder should not fail decoding if the caller asks it to
1269 decode again when no new data has arrived since the last call.
1271 * platform/image-decoders/gif/GIFImageReader.cpp:
1272 (GIFImageReader::read):
1274 2007-11-18 Brady Eidson <beidson@apple.com>
1278 Fix a crash hashing a default SecurityOriginData object
1280 * storage/DatabaseTracker.cpp:
1281 (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
1282 StringImpls - don't try to hash those!
1284 2007-11-18 Timothy Hatcher <timothy@apple.com>
1286 Reviewed by Sam Weinig.
1288 Bug 16043: Remove InspectorController.log now that console.log works
1289 http://bugs.webkit.org/show_bug.cgi?id=16043
1291 Remove the last uses of InspectorController.log. Once use was no longer needed,
1292 checking an erro case that can't happen anymore. The other case now uses console.error.
1294 * page/InspectorController.cpp: Remove the log function.
1295 (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
1296 InspectorController script class.
1297 * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
1298 * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
1300 2007-11-18 Timothy Hatcher <timothy@apple.com>
1304 Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
1305 http://bugs.webkit.org/show_bug.cgi?id=16041
1307 * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
1308 and transaction(). Refactored some code for the success and error callbacks to use.
1310 2007-11-18 Alexey Proskuryakov <ap@webkit.org>
1314 <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
1316 HTML5 definition is the same as MSIE's, with the exception that the latter strips null
1317 characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
1319 Test: fast/parser/html-whitespace.html
1321 * html/HTMLTokenizer.cpp:
1322 (WebCore::HTMLTokenizer::parseSpecial):
1323 (WebCore::HTMLTokenizer::parseTag):
1324 Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
1325 check for whitespace almost everywhere.
1327 2007-11-17 Mark Rowe <mrowe@apple.com>
1329 Reviewed by Darin Adler.
1331 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
1332 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
1333 http://bugs.webkit.org/show_bug.cgi?id=16033
1335 Update for changes in Interpreter method signatures.
1337 * bindings/js/kjs_binding.cpp:
1338 (KJS::ScriptInterpreter::ScriptInterpreter):
1339 * bindings/js/kjs_window.cpp:
1340 (KJS::Window::clear):
1342 2007-11-17 Timothy Hatcher <timothy@apple.com>
1344 Reviewed by Mark Rowe.
1346 Bug 13470: i18n: The Web Inspector is not localizable
1347 http://bugs.webkit.org/show_bug.cgi?id=13470
1349 Add support for localization to the Web Inspector. Clients need to
1350 implement localizedStringsURL() to return the URL of the
1351 InspectorLocalizedStrings.js that best matches the user's language.
1353 * English.lproj: Added.
1354 * English.lproj/InspectorLocalizedStrings.js: Added.
1355 * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
1356 * page/InspectorClient.h: Add localizedStringsURL.
1357 * page/InspectorController.cpp: Add localizedStringsURL that calls
1358 the client. Also added a version exposed to JavaScript.
1359 * page/InspectorController.h: Add localizedStringsURL.
1360 * page/inspector/ConsolePanel.js: Call WebInspector.UIString
1361 for user visible strings.
1362 * page/inspector/DatabasePanel.js: Ditto.
1363 * page/inspector/DocumentPanel.js: Ditto.
1364 * page/inspector/ImagePanel.js: Ditto.
1365 * page/inspector/MetricsSidebarPane.js: Ditto.
1366 * page/inspector/NetworkPanel.js: Ditto.
1367 * page/inspector/Panel.js: Ditto.
1368 * page/inspector/PropertiesSidebarPane.js: Ditto.
1369 * page/inspector/Resource.js: Ditto.
1370 * page/inspector/ResourceCategory.js: Ditto.
1371 * page/inspector/SourcePanel.js: Ditto.
1372 * page/inspector/StylesSidebarPane.js: Ditto.
1373 * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
1374 * page/inspector/inspector.html: Remove some user visible strings.
1375 * page/inspector/inspector.js: Added WebInspector.UIString and call
1376 WebInspector.UIString for user visible strings. Some code needed to be
1377 moved to WebInspector.loaded to use UIString after the localized strings
1379 * platform/graphics/svg/SVGImageEmptyClients.h:
1380 (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
1381 (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
1382 (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
1383 (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
1384 (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
1386 2007-11-17 Timothy Hatcher <timothy@apple.com>
1390 Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
1391 String.vsprintf so it can be used later for the localization function.
1393 This version only supports argument reordering, precision for floats, and these
1394 format characters: d, f, s and @. Any unsupported format characters are logged
1395 and substituted like strings.
1397 * page/inspector/utilities.js:
1399 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
1403 * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
1405 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
1409 http://bugs.webkit.org/show_bug.cgi?id=15969
1410 Eliminate Editor::deleteRange()
1412 No change in functionality.
1414 * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
1416 * editing/Editor.cpp:
1417 (WebCore::Editor::deleteWithDirection):
1418 (WebCore::Editor::cut):
1419 (WebCore::Editor::performDelete):
1421 Moved relevant Editor::deleteRange() functionality to its callers.
1422 Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
1425 * editing/mac/EditorMac.mm:
1426 (WebCore::initializeKillRingIfNeeded):
1427 (WebCore::Editor::addToKillRing):
1428 (WebCore::Editor::yank):
1429 (WebCore::Editor::yankAndSelect):
1430 (WebCore::Editor::setMark):
1431 (WebCore::unionDOMRanges):
1432 (WebCore::Editor::deleteToMark):
1433 (WebCore::Editor::selectToMark):
1434 (WebCore::Editor::swapWithMark):
1435 Pushed kill ring handling down from WebCore.
1437 * page/mac/WebCoreFrameBridge.h:
1438 * page/mac/WebCoreFrameBridge.mm:
1439 Removed setMarkDOMRange (the corresponding getter is still needed).
1441 * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
1442 Export the new kill ring functions.
1444 2007-11-16 Ryan Leavengood <leavengood@gmail.com>
1446 Reviewed by David Kilzer.
1448 Build fix: the needed headers for POSIX file functions were not
1451 * platform/posix/FileSystemPOSIX.cpp:
1453 2007-11-16 Dan Bernstein <mitz@apple.com>
1455 Reviewed by Darin Adler.
1457 - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
1458 REGRESSION: Incomplete repaint of CSS image substitution
1460 Test: fast/repaint/clip-with-layout-delta.html
1462 * rendering/LayoutState.cpp:
1463 (WebCore::LayoutState::LayoutState): Account for layout delta when
1464 pushing additional clip.
1466 2007-11-16 Antti Koivisto <antti@apple.com>
1470 Seeking related fixes, updates to match the latest specification
1471 - rename loopCount of HTMLMediaElement to playCount
1472 - add explicit seeking attribute to HTMLMediaElement to get semantics right
1473 - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement
1474 instead of MoviePrivateQTKit
1475 - fix broken behavior when seeking past end of the media, add tests
1476 - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
1477 - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
1478 HTMLMediaElement not depend on synchronous callbacks
1479 - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
1481 Tests: http/tests/media/video-seekable-stall.html
1482 media/video-seeking.html
1483 media/video-seek-past-end-paused.html
1484 media/video-seek-past-end-playing.html
1486 * html/HTMLAttributeNames.in:
1487 * html/HTMLMediaElement.cpp:
1488 (WebCore::HTMLMediaElement::HTMLMediaElement):
1489 (WebCore::HTMLMediaElement::load):
1490 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
1491 (WebCore::HTMLMediaElement::setReadyState):
1492 (WebCore::HTMLMediaElement::seek):
1493 (WebCore::HTMLMediaElement::seeking):
1494 (WebCore::HTMLMediaElement::currentTime):
1495 (WebCore::HTMLMediaElement::ended):
1496 (WebCore::HTMLMediaElement::play):
1497 (WebCore::HTMLMediaElement::pause):
1498 (WebCore::HTMLMediaElement::playCount):
1499 (WebCore::HTMLMediaElement::setPlayCount):
1500 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1501 (WebCore::HTMLMediaElement::movieTimeChanged):
1502 (WebCore::HTMLMediaElement::endedPlayback):
1503 (WebCore::HTMLMediaElement::updateMovie):
1504 * html/HTMLMediaElement.h:
1505 * html/HTMLMediaElement.idl:
1506 * platform/graphics/Movie.cpp:
1507 (WebCore::Movie::timeChanged):
1508 * platform/graphics/Movie.h:
1509 (WebCore::MovieClient::movieTimeChanged):
1510 * platform/graphics/mac/MoviePrivateQTKit.h:
1511 * platform/graphics/mac/MoviePrivateQTKit.mm:
1512 (WebCore::MoviePrivate::MoviePrivate):
1513 (WebCore::MoviePrivate::load):
1514 (WebCore::MoviePrivate::play):
1515 (WebCore::MoviePrivate::pause):
1516 (WebCore::MoviePrivate::currentTime):
1517 (WebCore::MoviePrivate::seek):
1518 (WebCore::MoviePrivate::doSeek):
1519 (WebCore::MoviePrivate::cancelSeek):
1520 (WebCore::MoviePrivate::seekTimerFired):
1521 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
1522 (WebCore::MoviePrivate::paused):
1523 (WebCore::MoviePrivate::updateStates):
1524 (WebCore::MoviePrivate::timeChanged):
1525 (WebCore::MoviePrivate::didEnd):
1527 2007-11-16 Anders Carlsson <andersca@apple.com>
1531 <rdar://problem/5603832>
1532 XMLHttpRequest readyState 3 & responseText buffer issues.
1534 * platform/network/cf/ResourceHandleCFNet.cpp:
1535 (WebCore::makeFinalRequest):
1536 Add new parameter which controls whether content sniffing should be turned off.
1538 (WebCore::ResourceHandle::loadResourceSynchronously):
1539 Always content sniff sync loads.
1541 * platform/network/cf/ResourceRequestCFNet.cpp:
1542 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1543 If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
1544 any properties set on the CFURLRequest.
1546 2007-11-16 Jon Honeycutt <jhoneycutt@apple.com>
1550 <rdar://problem/5605175> Crash closing or leaving window with ViewPoint
1553 ViewPoint plugin requires that we pass a valid NPSavedData* to
1556 * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
1557 NPP_Destroy. If the plugin allocates data, discard it
1559 2007-11-16 Mark Rowe <mrowe@apple.com>
1561 Reviewed by Tim Hatcher.
1563 Build WebCore as a sub-framework of WebKit in all configurations.
1565 * Configurations/WebCore.xcconfig:
1566 * WebCore.xcodeproj/project.pbxproj:
1568 2007-11-16 Doug Turner <dougt@meer.net>
1572 http://bugs.webkit.org/show_bug.cgi?id=16018
1573 build bustage when building on debian 4.0
1575 Fix build bustage on GTK+ with older versions of Pango.
1577 Don't cache the return value since the docs say it can change.
1579 * platform/gtk/Language.cpp:
1580 (WebCore::defaultLanguage):
1582 2007-11-16 Brady Eidson <beidson@apple.com>
1586 * platform/SecurityOriginData.h:
1587 (WebCore::operator!=): Whoops!
1589 2007-11-16 Brady Eidson <beidson@apple.com>
1593 Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
1596 * WebCore.xcodeproj/project.pbxproj:
1597 * WebCore.vcproj/WebCore.vcproj
1600 * platform/SecurityOriginData.cpp: Added.
1601 (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
1602 since that form is what will be stored in the Databases.db on disk
1603 (WebCore::SecurityOriginData::stringIdentifier):
1604 * platform/SecurityOriginData.h:
1605 (WebCore::SecurityOriginData::protocol):
1606 (WebCore::SecurityOriginData::host):
1607 (WebCore::SecurityOriginData::port):
1609 * storage/DatabaseTracker.cpp:
1610 (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
1611 a SecurityOriginData object
1612 (WebCore::SecurityOriginDataHash::equal):
1613 (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
1614 (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
1615 (WebCore::DatabaseTracker::fullPathForDatabase):
1616 (WebCore::DatabaseTracker::populateOrigins):
1617 (WebCore::DatabaseTracker::origins):
1618 (WebCore::DatabaseTracker::addDatabase):
1619 * storage/DatabaseTracker.h:
1621 2007-11-16 Alexey Proskuryakov <ap@webkit.org>
1625 * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
1627 2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
1631 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
1633 Implement all SVGTextContentElement DOM methods.
1634 This is the last missing SVG text feature. SVG fonts is next.
1636 Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
1638 * ksvg2/svg/SVGTextContentElement.cpp:
1639 (WebCore::cummulatedCharacterRangeLength):
1640 (WebCore::SVGInlineTextBoxQueryWalker::):
1641 (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
1642 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
1643 (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
1644 (WebCore::SVGInlineTextBoxQueryWalker::longResult):
1645 (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
1646 (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
1647 (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
1648 (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
1649 (WebCore::findInlineTextBoxInTextChunks):
1650 (WebCore::rootInlineBoxForTextContentElement):
1651 (WebCore::executeTextQuery):
1652 (WebCore::SVGTextContentElement::getNumberOfChars):
1653 (WebCore::SVGTextContentElement::getComputedTextLength):
1654 (WebCore::SVGTextContentElement::getSubStringLength):
1655 (WebCore::SVGTextContentElement::getStartPositionOfChar):
1656 (WebCore::SVGTextContentElement::getEndPositionOfChar):
1657 (WebCore::SVGTextContentElement::getExtentOfChar):
1658 (WebCore::SVGTextContentElement::getRotationOfChar):
1659 (WebCore::SVGTextContentElement::getCharNumAtPosition):
1660 (WebCore::SVGTextContentElement::selectSubString):
1661 * ksvg2/svg/SVGTextContentElement.h:
1662 * rendering/SVGInlineTextBox.h:
1664 2007-11-15 Adele Peterson <adele@apple.com>
1668 Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
1670 Test: fast/forms/menulist-no-renderer-onmousedown.html
1672 * html/HTMLSelectElement.cpp:
1673 (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
1674 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
1676 2007-11-15 Antti Koivisto <antti@apple.com>
1680 Fix <rdar://problem/5601598>
1681 The movie tag should do initialization on need and not during startup.
1683 Initialize Movie MIME type hash on demand
1685 * platform/MIMETypeRegistry.cpp:
1686 (WebCore::initialiseSupportedMovieMIMETypes):
1687 (WebCore::initialiseMIMETypeRegistry):
1688 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
1689 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
1691 2007-11-15 Mark Rowe <mrowe@apple.com>
1693 Build fix for Qt on Windows.
1695 * xml/XPathStep.cpp:
1696 (WebCore::XPath::Step::nodesInAxis):
1698 2007-11-15 Timothy Hatcher <timothy@apple.com>
1700 Reviewed by Mark Rowe.
1702 Bug 14761: Web Inspector leaks JS objects and DOM nodes
1703 http://bugs.webkit.org/show_bug.cgi?id=14761
1705 * page/InspectorController.cpp:
1706 (WebCore::InspectorController::~InspectorController):
1707 Change the tear down order so that inspectorDestroyed() is called before
1708 InspectorController private data is set to Zero. The inspectorDestroyed()
1709 call ends up closing the WebView and triggering InspectorController::close()
1710 which unprotects m_scriptObject. This didn't happen when the private data
1711 was cleared before calling inspectorDestroyed().
1713 2007-11-15 Mark Rowe <mrowe@apple.com>
1719 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
1723 http://bugs.webkit.org/show_bug.cgi?id=15989
1724 XPath queries with predicates incorrectly retains the current node across unions
1726 Test: fast/xpath/union-context-node.xhtml
1728 * xml/XPathPath.cpp:
1729 (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
1730 * xml/XPathStep.cpp:
1731 (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
1733 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
1737 http://bugs.webkit.org/show_bug.cgi?id=15988
1738 REGRESSION: XPath preceding-axis query misses nested elements
1740 Test: fast/xpath/preceding-axis.xhtml
1742 * xml/XPathStep.cpp:
1743 (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
1745 2007-11-15 Timothy Hatcher <timothy@apple.com>
1747 Reviewed by Mark Rowe and Sam.
1749 This corrects a couple of issues in the Web Inspector where selected search results
1750 would not have the right text color when the window is inactive or the results are focused.
1752 * page/inspector/inspector.css:
1754 2007-11-15 Timothy Hatcher <timothy@apple.com>
1758 Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
1759 http://bugs.webkit.org/show_bug.cgi?id=16007
1761 Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
1762 a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
1763 20 pixels, and the default is 10 pixels.
1765 * page/inspector/ResourceCategory.js:
1766 * page/inspector/treeoutline.js:
1768 2007-11-15 Anders Carlsson <andersca@apple.com>
1772 Pass a VoidCallback to Database::transaction and Database::changeVersion.
1773 This is not yet hooked up to the database machinery.
1775 * WebCore.vcproj/WebCore.vcproj:
1776 * bindings/js/JSDatabaseCustom.cpp:
1777 (WebCore::JSDatabase::changeVersion):
1778 (WebCore::JSDatabase::transaction):
1779 * storage/Database.cpp:
1780 (WebCore::Database::changeVersion):
1781 (WebCore::Database::transaction):
1782 * storage/Database.h:
1784 2007-11-15 Timothy Hatcher <timothy@apple.com>
1788 Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
1789 http://bugs.webkit.org/show_bug.cgi?id=16005
1791 Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
1792 crumb will expose as many hidden crumbs as possible to the user. Also crumbs
1793 that have ID attributes will compact to the ID over the tag name.
1795 * page/inspector/DocumentPanel.js:
1797 2007-11-15 Anders Carlsson <andersca@apple.com>
1801 Make the VoidCallback DOM interface behave more like our other DOM interfaces.
1803 * bindings/js/JSCustomVoidCallback.h: Added.
1804 * bindings/js/JSCustomVoidCallback.cpp: Added.
1805 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
1806 (WebCore::JSCustomVoidCallback::handleEvent):
1807 VoidCallback implementation that wraps a JS object.
1809 (WebCore::toVoidCallback):
1810 New method that creates a VoidCallback implementation given a JS object.
1812 * bindings/scripts/CodeGeneratorJS.pm:
1813 Specify that VoidCallback can fail conversion and add a custom conversion function.
1815 * html/HTMLMediaElement.cpp:
1816 (WebCore::HTMLMediaElement::movieCuePointReached):
1817 Call handleEvent on the callback.
1819 (WebCore::HTMLMediaElement::removeCuePoint):
1820 Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
1821 on overriding VoidCallback equality.
1823 * html/VoidCallback.cpp: Removed.
1825 * html/VoidCallback.h:
1826 (WebCore::VoidCallback::VoidCallback):
1827 (WebCore::VoidCallback::~VoidCallback):
1828 Make this an abstract class with a pure virtual handleEvent method.
1830 2007-11-15 Adam Roben <aroben@apple.com>
1832 Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
1834 There were two things broken here:
1835 - WebView now requires a WM_CHAR message to be sent before it will
1836 create a keyboard event with a charCode, but we were only sending
1838 - The popup menu was not updating its focused index when the
1839 <select> element's selectedIndex changed.
1843 * platform/win/PopupMenuWin.cpp:
1844 (WebCore::PopupMenu::updateFromElement): Update the focused index from
1845 the client's selected index.
1846 (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
1847 printable character, manufacture a WM_KEYDOWN message for it and post
1848 both that and the current WM_CHAR message to the WebView.
1850 2007-11-15 Brady Eidson <beidson@apple.com>
1854 * storage/DatabaseTracker.cpp:
1855 (WebCore::DatabaseTracker::fullPathForDatabase):
1856 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1858 2007-11-15 Brady Eidson <beidson@apple.com>
1860 Reviewed by John and Sam
1862 Stubbing out everything required for a WebKit API for databases
1864 Biggest change in WebCore is that we passed around SecurityOriginData as the representation
1865 of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
1866 that has a different purpose besides just hanging on to the data)
1869 * WebCore.xcodeproj/project.pbxproj:
1871 * platform/SecurityOrigin.cpp:
1872 * platform/SecurityOrigin.h:
1873 * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
1874 pieces of data in the SecurityOrigin tuple
1875 (WebCore::SecurityOriginData::SecurityOriginData):
1876 (WebCore::SecurityOriginData::protocol):
1877 (WebCore::SecurityOriginData::host):
1878 (WebCore::SecurityOriginData::port):
1879 (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
1882 * storage/Database.cpp:
1883 (WebCore::Database::Database): Use SecurityOriginData instead
1885 * storage/DatabaseTracker.cpp:
1886 (WebCore::DatabaseTracker::fullPathForDatabase):
1887 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1888 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
1889 (WebCore::DatabaseTracker::deleteDatabase):
1890 * storage/DatabaseTracker.h:
1892 * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
1893 (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
1895 2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
1899 NP_ASFILEONLY streams should not buffer data in m_deliveryData.
1901 * plugins/win/PluginStreamWin.cpp:
1902 (WebCore::PluginStreamWin::didReceiveData):
1904 2007-11-15 Justin Garcia <justin.garcia@apple.com>
1906 Reviewed by Adele Peterson.
1908 <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
1910 A textarea that contained the selection was removed but the selection wasn't cleared,
1911 and we'd crash in code that assumed a valid, in-document selection.
1913 * editing/SelectionController.cpp:
1914 (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
1915 shadowAncestorNode of the node that contains the position, not just if the node being removed
1916 contains that shadowAncestorNode.
1918 2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
1922 Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
1924 * rendering/SVGInlineTextBox.cpp:
1925 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1926 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
1928 2007-11-15 Anders Carlsson <andersca@apple.com>
1932 <rdar://problem/5562470>
1933 openDatabase does not work when the version string is empty
1935 If the string is empty, pass a real empty string to sqlite3_bind_text16.
1937 * platform/sql/SQLiteStatement.cpp:
1938 (WebCore::SQLiteStatement::bindText):
1940 2007-11-15 Anders Carlsson <andersca@apple.com>
1944 Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
1945 Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
1947 * loader/icon/IconDatabase.cpp:
1948 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
1949 (WebCore::IconDatabase::removePageURLFromSQLDatabase):
1950 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
1951 (WebCore::IconDatabase::addIconURLToSQLDatabase):
1952 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
1953 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
1954 * platform/sql/SQLiteStatement.cpp:
1955 (WebCore::SQLiteStatement::prepare):
1956 * platform/sql/SQLiteStatement.h:
1957 * storage/Database.cpp:
1958 (WebCore::setTextValueInDatabase):
1959 * storage/DatabaseTracker.cpp:
1960 (WebCore::DatabaseTracker::fullPathForDatabase):
1961 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1962 (WebCore::DatabaseTracker::addDatabase):
1964 2007-11-14 Brady Eidson <beidson@apple.com>
1966 Rubberstamped by Sam
1968 * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
1970 2007-11-14 Alexey Proskuryakov <ap@webkit.org>
1972 Reviewed by Justin Garcia.
1974 http://bugs.webkit.org/show_bug.cgi?id=15781
1975 REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
1976 a marked range that covers half of a composed character sequence)
1978 Test: platform/mac/editing/input/devanagari-ligature.html
1980 This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
1981 However, this is not entirely new for them, as Roman accents are typed in a similar manner.
1983 In the future, we probably want to make commands work with ranges (or Positions explicitly).
1985 * editing/Editor.cpp:
1986 (WebCore::Editor::selectComposition): Force selection to composition range.
1987 * editing/InsertTextCommand.cpp:
1988 (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
1990 2007-11-14 Beth Dakin <bdakin@apple.com>
1994 Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
1995 side image map and <a> tag is not working properly (15522)
1997 * html/HTMLMapElement.cpp:
1998 (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
1999 and inline children rather than just block children. This matches
2002 2007-11-14 Justin Garcia <justin.garcia@apple.com>
2004 Reviewed by Alexey Proskuryakov.
2006 <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
2008 * editing/DeleteSelectionCommand.cpp:
2009 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2010 Removed an irrelevant FIXME.
2011 (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
2012 hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
2013 inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
2014 so just remove the block and return.
2015 Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
2016 its own placeholder insertion when necessary.
2017 (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
2018 because it handles preserving m_needPlaceholder when it calls moveParagraphs.
2020 2007-11-14 Timothy Hatcher <timothy@apple.com>
2024 Bug 14380: Long DOM ancestry breadcrumb lists get cut off
2025 http://bugs.webkit.org/show_bug.cgi?id=14380
2027 The breadcumbs will now be compacted and collapsed if there isn't enough room
2028 to show everything. The collapsing algorithm always affects the crumbs that
2029 are farthest away from the selected or hovered crumb first.
2031 * page/inspector/DocumentPanel.js:
2032 * page/inspector/inspector.css:
2034 2007-11-14 Anders Carlsson <andersca@apple.com>
2036 Use the correct include path.
2038 * platform/Cursor.h:
2039 * plugins/win/PluginPackageWin.h:
2040 * plugins/win/PluginStreamWin.h:
2042 2007-11-13 Brady Eidson <beidson@apple.com>
2046 http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
2048 * storage/SQLTransaction.cpp:
2049 (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
2050 SQLTransactionCallback fails
2051 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
2052 and make the commit/rollback decision accordingly
2054 2007-11-13 Oliver Hunt <oliver@apple.com>
2058 <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
2060 When drawing directly to PDF CG may delay the use of the gradient function until outside our
2061 standard drawing path, which in turn could let us invalidate the caches before they were used.
2063 To work around this we now store the cached stops in a RefCounted object, so that we can ensure
2064 that cache exists as long as required.
2066 * platform/graphics/svg/SVGPaintServerGradient.cpp:
2067 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2068 * platform/graphics/svg/SVGPaintServerGradient.h:
2069 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2070 (WebCore::cgGradientCallback):
2071 (WebCore::CGShadingRefForLinearGradient):
2072 (WebCore::CGShadingRefForRadialGradient):
2073 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2075 2007-11-13 Anders Carlsson <andersca@apple.com>
2079 * platform/Cursor.h:
2080 * plugins/win/PluginPackageWin.h:
2081 * plugins/win/PluginStreamWin.h:
2083 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2085 Reviewed by Anders Carlsson.
2087 Renamed Shared to RefCounted.
2089 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
2090 * ForwardingHeaders/wtf/Shared.h: Removed.
2091 * bindings/js/JSSVGPODTypeWrapper.h:
2092 * css/CSSFontFace.h:
2093 * css/CSSRuleList.h:
2098 * css/StyleSheetList.h:
2101 * dom/DOMImplementation.h:
2103 * dom/EventListener.h:
2104 * dom/NamedNodeMap.h:
2106 * dom/NodeFilterCondition.h:
2108 * dom/QualifiedName.h:
2110 * dom/RangeException.h:
2111 * dom/RegisteredEventListener.h:
2113 * editing/EditCommand.h:
2114 * history/BackForwardList.h:
2115 * history/CachedPage.h:
2116 * history/HistoryItem.cpp:
2117 (WebCore::HistoryItem::HistoryItem):
2118 * history/HistoryItem.h:
2119 * html/CanvasGradient.h:
2120 * html/CanvasPattern.h:
2121 * html/CanvasRenderingContext2D.h:
2122 * html/CanvasStyle.h:
2123 * html/HTMLCollection.h:
2124 * html/MediaError.h:
2125 * html/TimeRanges.h:
2126 * html/VoidCallback.h:
2127 * ksvg2/css/SVGRenderStyle.cpp:
2128 (WebCore::SVGRenderStyle::SVGRenderStyle):
2129 * ksvg2/css/SVGRenderStyle.h:
2130 * ksvg2/css/SVGRenderStyleDefs.cpp:
2131 (StyleFillData::StyleFillData):
2132 (StyleStrokeData::StyleStrokeData):
2133 (StyleStopData::StyleStopData):
2134 (StyleTextData::StyleTextData):
2135 (StyleClipData::StyleClipData):
2136 (StyleMaskData::StyleMaskData):
2137 (StyleMarkerData::StyleMarkerData):
2138 (StyleMiscData::StyleMiscData):
2139 * ksvg2/css/SVGRenderStyleDefs.h:
2140 * ksvg2/svg/SVGAngle.cpp:
2141 (WebCore::SVGAngle::SVGAngle):
2142 * ksvg2/svg/SVGAngle.h:
2143 * ksvg2/svg/SVGAnimatedTemplate.h:
2144 * ksvg2/svg/SVGElementInstanceList.h:
2145 * ksvg2/svg/SVGException.h:
2146 * ksvg2/svg/SVGList.h:
2147 * ksvg2/svg/SVGPathSeg.h:
2148 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
2149 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2150 * ksvg2/svg/SVGPreserveAspectRatio.h:
2151 * ksvg2/svg/SVGRenderingIntent.h:
2152 * ksvg2/svg/SVGTransform.h:
2153 * ksvg2/svg/SVGUnitTypes.h:
2154 * loader/DocumentLoader.h:
2155 * loader/FormState.h:
2156 * loader/ResourceLoader.h:
2157 * loader/TextResourceDecoder.h:
2158 * loader/icon/IconRecord.h:
2161 * page/DOMSelection.h:
2165 * page/InspectorController.cpp:
2168 * platform/ArrayImpl.h:
2169 * platform/CString.h:
2170 * platform/Cursor.h:
2171 * platform/DeprecatedValueListImpl.cpp:
2172 (WebCore::DeprecatedValueListImpl::Private::Private):
2173 * platform/FileChooser.h:
2174 * platform/FontFallbackList.h:
2175 * platform/FontFamily.cpp:
2176 (WebCore::FontFamily::FontFamily):
2177 * platform/FontFamily.h:
2178 * platform/FontSelector.h:
2179 * platform/GlyphPageTreeNode.h:
2180 * platform/PopupMenu.h:
2181 * platform/RegularExpression.cpp:
2182 * platform/ScrollBar.h:
2183 * platform/SharedBuffer.h:
2184 * platform/StringImpl.h:
2185 * platform/graphics/Icon.h:
2186 * platform/graphics/svg/SVGResource.h:
2187 * platform/network/FormData.cpp:
2188 (WebCore::FormData::FormData):
2189 * platform/network/FormData.h:
2190 * platform/network/ResourceHandle.h:
2191 * platform/network/ResourceHandleClient.h:
2192 * rendering/RenderStyle.cpp:
2193 (WebCore::StyleSurroundData::StyleSurroundData):
2194 (WebCore::StyleBoxData::StyleBoxData):
2195 (WebCore::StyleVisualData::StyleVisualData):
2196 (WebCore::StyleBackgroundData::StyleBackgroundData):
2197 (WebCore::StyleMarqueeData::StyleMarqueeData):
2198 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2199 (WebCore::StyleMultiColData::StyleMultiColData):
2200 (WebCore::StyleTransformData::StyleTransformData):
2201 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2202 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2203 (WebCore::StyleInheritedData::StyleInheritedData):
2204 * rendering/RenderStyle.h:
2205 * rendering/SVGCharacterLayoutInfo.h:
2206 (WebCore::SVGCharOnPath::SVGCharOnPath):
2207 * storage/SQLResultSetRowList.h:
2209 * xml/XMLHttpRequest.h:
2210 * xml/XMLSerializer.h:
2211 * xml/XPathEvaluator.h:
2212 * xml/XPathExpression.h:
2213 * xml/XPathNSResolver.h:
2214 * xml/XPathResult.h:
2216 * xml/XSLTProcessor.h:
2218 2007-11-13 Brady Eidson <beidson@apple.com>
2220 Reviewed by Mark Rowe
2222 Remove errantly added files, and fix the idl (for reference's sake)
2224 * storage/JSCustomSQLStatementCallback.h: Removed.
2225 * storage/JSCustomSQLStatementErrorCallback.h: Removed.
2226 * storage/JSCustomSQLTransactionCallback.h: Removed.
2227 * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
2228 * storage/SQLStatementCallback.idl:
2230 2007-11-13 Adam Roben <aroben@apple.com>
2232 Fix a bug and improve upon Brady's fix
2236 * bindings/js/JSSQLTransactionCustom.cpp:
2237 (WebCore::JSSQLTransaction::executeSql): Made the code a little
2238 clearer and more correct.
2239 * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
2240 of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
2241 comparison it meant to.
2243 2007-11-13 Sam Weinig <sam@webkit.org>
2245 Fix Qt and Gtk builds.
2247 * WebCore.pro: Remove non-generated idl files.
2249 2007-11-13 Mark Rowe <mrowe@apple.com>
2251 Remove removed file from the project.
2255 2007-11-13 Brady Eidson <beidson@apple.com>
2259 * bindings/js/JSSQLTransactionCustom.cpp:
2260 (WebCore::JSSQLTransaction::executeSql):
2262 2007-11-13 Adam Roben <aroben@apple.com>
2264 Add WindowMessageBroadcaster
2266 This class is used to listen in on messages sent to HWNDs. Multiple
2267 WindowMessageListeners can be notified about messages sent to a single
2268 HWND, and one WindowMessageListener can listen to messages from
2273 * WebCore.vcproj/WebCore.vcproj: Added new files to project.
2274 * platform/win/WindowMessageBroadcaster.cpp: Added.
2275 (WebCore::instancesMap): Static helper.
2276 (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
2277 for a particular HWND.
2278 (WebCore::WindowMessageBroadcaster::removeListener): Removes a
2279 listener for a particular HWND.
2280 (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
2281 (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
2282 (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
2283 from the instancesMap, removes all of its listeners, unsubclasses the
2284 window, and deletes the broadcaster.
2285 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
2286 the window (which means that SubclassedWndProc won't be called again
2288 (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
2289 the listeners about every message sent to the HWND
2290 * platform/win/WindowMessageBroadcaster.h: Added.
2291 (WebCore::WindowMessageBroadcaster::listeners):
2292 (WebCore::WindowMessageBroadcaster::originalWndProc):
2293 * platform/win/WindowMessageListener.h: Added.
2295 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2297 Reviewed by Sam Weinig.
2299 Moved Shared.h into wtf so it could be used in more places. Retained
2300 TreeShared, but moved it to its own file, TreeShared.h.
2302 * ForwardingHeaders/wtf/Shared.h: Added.
2303 * WebCore.xcodeproj/project.pbxproj:
2304 * bindings/js/JSSVGPODTypeWrapper.h:
2305 * css/CSSFontFace.h:
2306 * css/CSSRuleList.h:
2311 * css/StyleSheetList.h:
2313 * dom/DOMImplementation.h:
2315 * dom/EventListener.h:
2316 * dom/NamedNodeMap.h:
2317 * dom/NodeFilterCondition.h:
2320 * dom/RangeException.h:
2321 * dom/RegisteredEventListener.h:
2323 * history/BackForwardList.h:
2324 * history/CachedPage.h:
2325 * history/HistoryItem.h:
2326 * html/CanvasGradient.h:
2327 * html/CanvasPattern.h:
2328 * html/HTMLCollection.h:
2329 * html/MediaError.h:
2330 * html/TimeRanges.h:
2331 * html/VoidCallback.h:
2332 * ksvg2/css/SVGRenderStyleDefs.h:
2333 * ksvg2/svg/SVGAnimatedTemplate.h:
2334 * ksvg2/svg/SVGElementInstanceList.h:
2335 * ksvg2/svg/SVGList.h:
2336 * ksvg2/svg/SVGPathSeg.h:
2337 * ksvg2/svg/SVGPreserveAspectRatio.h:
2338 * ksvg2/svg/SVGRenderingIntent.h:
2339 * ksvg2/svg/SVGTransform.h:
2340 * ksvg2/svg/SVGUnitTypes.h:
2341 * loader/DocumentLoader.h:
2342 * loader/FormState.h:
2343 * loader/ResourceLoader.h:
2344 * loader/TextResourceDecoder.h:
2345 * loader/icon/IconRecord.h:
2348 * page/DOMSelection.h:
2351 * page/InspectorController.cpp:
2354 * platform/ArrayImpl.h:
2355 * platform/CString.h:
2356 * platform/DeprecatedValueListImpl.cpp:
2357 * platform/FontFallbackList.h:
2358 * platform/FontFamily.h:
2359 * platform/FontSelector.h:
2360 * platform/GlyphPageTreeNode.h:
2361 * platform/PopupMenu.h:
2362 * platform/RegularExpression.cpp:
2363 * platform/ScrollBar.h:
2364 * platform/Shared.h: Removed.
2365 * platform/SharedBuffer.h:
2366 * platform/StringImpl.h:
2367 * platform/graphics/Icon.h:
2368 * platform/graphics/svg/SVGResource.h:
2369 * platform/network/FormData.h:
2370 * platform/network/ResourceHandleClient.h:
2371 * rendering/RenderStyle.h:
2372 * rendering/SVGCharacterLayoutInfo.h:
2373 * storage/SQLResultSetRowList.h:
2375 * xml/XMLSerializer.h:
2376 * xml/XPathEvaluator.h:
2377 * xml/XPathExpression.h:
2378 * xml/XPathNSResolver.h:
2379 * xml/XPathResult.h:
2381 2007-11-13 Brady Eidson <beidson@apple.com>
2383 JS bindings by Anders, reviewed by Brady
2384 WebCore changes by Brady, reviewed by Anders and Tim
2386 Adapt to the new iteration of the HTML5 client-side storage spec.
2388 Based largely on implementation feedback we generated in landing our first version of this API and also
2389 on the input of others in the community, the database spec went through a large overhaul that addresses
2390 many concerns. Amongst other changes/improvements:
2391 - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
2392 transactions explicitly, transaction-related language in SQL statements is disallowed
2393 - executeSql() is now on a transaction object instead of the database object.
2394 - Database.changeVersion() now takes place within the context of a transaction. Therefore the version
2395 change can be atomic along with the statements that modify the DB schema
2397 Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
2398 as a chain of events on the SQLTransaction object where processing is handed off between being processed
2399 asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
2400 methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
2402 * DerivedSources.make:
2403 * WebCore.xcodeproj/project.pbxproj:
2405 * bindings/js/JSDatabaseCustom.cpp:
2406 (WebCore::JSDatabase::changeVersion): Adapt to the new API
2407 (WebCore::JSDatabase::transaction): Added
2409 * bindings/js/JSSQLTransactionCustom.cpp: Added.
2410 (WebCore::JSSQLTransaction::executeSql): Added
2412 * page/DOMWindow.cpp:
2413 (WebCore::DOMWindow::openDatabase): Add the new arguments
2415 * page/DOMWindow.idl:
2417 * page/inspector/DatabasePanel.js: Use the new API
2419 * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
2420 changing the version of the database
2421 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
2422 (WebCore::ChangeVersionWrapper::performPreflight):
2423 (WebCore::ChangeVersionWrapper::performPostflight):
2424 * storage/ChangeVersionWrapper.h: Added.
2425 (WebCore::ChangeVersionWrapper::sqlError):
2427 * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
2428 happen solely on the background thread - most of these changes result from that change
2429 (WebCore::Database::Database): Removed an obsolete FIXME
2430 (WebCore::Database::openAndVerifyVersion):
2431 (WebCore::Database::getVersionFromDatabase):
2432 (WebCore::Database::setVersionInDatabase):
2433 (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
2434 (WebCore::Database::performOpenAndVerify):
2435 (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
2436 (WebCore::Database::changeVersion): Changed for the new API from JS
2437 (WebCore::Database::transaction): Added, for the new API from JS
2438 (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
2439 (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
2440 (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
2441 (WebCore::Database::performGetTableNames):
2442 (WebCore::Database::deliverAllPendingCallbacks):
2443 (WebCore::Database::deliverPendingCallback):
2444 (WebCore::Database::setExpectedVersion):
2445 * storage/Database.h:
2446 * storage/Database.idl:
2448 * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
2449 to replace the m_synchronous flag
2450 (WebCore::DatabaseTask::performTask):
2451 (WebCore::DatabaseTask::lockForSynchronousScheduling):
2452 (WebCore::DatabaseTask::waitForSynchronousCompletion):
2453 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
2454 * storage/DatabaseTask.h:
2456 * storage/SQLError.h: New API object
2458 * storage/SQLResultSet.cpp:
2459 (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
2460 * storage/SQLResultSet.h:
2461 * storage/SQLResultSet.idl:
2463 * storage/SQLStatement.cpp: Added.
2464 (WebCore::SQLStatement::SQLStatement):
2465 (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
2466 (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
2467 of an actual version vs. expected version mismatch
2468 (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
2469 * storage/SQLStatement.h: Added.
2470 (WebCore::SQLStatement::hasStatementCallback):
2471 (WebCore::SQLStatement::hasStatementErrorCallback):
2472 (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
2474 * storage/SQLTransaction.cpp: Added.
2475 (WebCore::SQLTransaction::SQLTransaction):
2476 (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
2477 (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
2478 (WebCore::SQLTransaction::performNextStep): Call the method for the next step
2479 (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
2480 (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
2481 using the SQLTransactionWrapper, if any
2482 (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
2483 (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
2484 and make runStatements() the next step
2485 (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
2486 (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
2487 (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
2488 (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
2489 (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
2490 (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
2491 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
2492 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
2493 transaction after it error'ed out
2494 * storage/SQLTransaction.h:
2495 (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
2496 (WebCore::SQLTransaction::database):
2497 * storage/SQLTransaction.idl:
2499 The following were made obsolete by the new version of the API:
2500 * bindings/js/JSCustomSQLCallback.cpp: Removed.
2501 * bindings/js/JSCustomSQLCallback.h: Removed.
2502 * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
2503 * bindings/js/JSCustomVersionChangeCallback.h: Removed.
2504 * storage/DatabaseCallback.cpp: Removed.
2505 * storage/DatabaseCallback.h: Removed.
2506 * storage/SQLCallback.h: Removed.
2507 * storage/SQLCallback.idl: Removed.
2508 * storage/VersionChangeCallback.h: Removed.
2509 * storage/VersionChangeCallback.idl: Removed.
2511 2007-11-13 Dan Bernstein <mitz@apple.com>
2513 Reviewed by Beth Dakin.
2515 - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
2517 * css/html4.css: Added a 'cursor: auto' rule for links.
2518 * manual-tests/link-cursor-auto.html: Added.
2520 2007-11-13 Dan Bernstein <mitz@apple.com>
2522 Reviewed by Beth Dakin.
2524 - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
2526 The root cause for the crash is that when a non-HTML view enters the
2527 frame, the frame's document pointer keeps pointing at the last HTML-type
2528 document it contained. This patch does not address the root cause, but
2529 makes changes to account for that condition.
2531 * loader/FrameLoader.cpp:
2532 (WebCore::FrameLoader::receivedMainResourceError): Do not change the
2533 frame's current document's page cache state here.
2534 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
2535 current document is in fact the history item being invalidated, then
2536 set its page cache state here.
2538 2007-11-12 Antti Koivisto <antti@apple.com>
2542 Fix that 'timeupdate' and 'waiting' events were never dispatched.
2544 Add explicit m_paused attribute instead of trying to derive paused state from
2545 underlying media. Call updatePlayState() to start/stop media playback
2546 when any attribute that affects active playback state changes. This matches
2549 Test: http/tests/media/video-play-stall.html
2551 * html/HTMLMediaElement.cpp:
2552 (WebCore::HTMLMediaElement::HTMLMediaElement):
2553 (WebCore::HTMLMediaElement::setReadyState):
2554 (WebCore::HTMLMediaElement::paused):
2555 (WebCore::HTMLMediaElement::play):
2556 (WebCore::HTMLMediaElement::pause):
2557 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2558 (WebCore::HTMLMediaElement::movieDidEnd):
2559 (WebCore::HTMLMediaElement::updatePlayState):
2560 * html/HTMLMediaElement.h:
2562 2007-11-13 John Sullivan <sullivan@apple.com>
2566 removed recently-added PreferredType concept; we found a better way to do what
2567 ths was accomplishing
2569 * bridge/WindowFeatures.h:
2570 (WebCore::WindowFeatures::WindowFeatures):
2571 removed definition of PreferredType
2573 * page/ContextMenuController.cpp:
2574 (WebCore::openNewWindow):
2575 removed use of PreferredType
2577 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
2581 http://bugs.webkit.org/show_bug.cgi?id=15954
2582 Move DOM Selection operations out of SelectionController
2584 No change in functionality.
2586 * editing/SelectionController.cpp:
2587 (WebCore::SelectionController::setSelectedRange):
2588 * editing/SelectionController.h:
2589 * page/DOMSelection.cpp:
2590 (WebCore::DOMSelection::anchorNode):
2591 (WebCore::DOMSelection::baseNode):
2592 (WebCore::DOMSelection::anchorOffset):
2593 (WebCore::DOMSelection::baseOffset):
2594 (WebCore::DOMSelection::focusNode):
2595 (WebCore::DOMSelection::extentNode):
2596 (WebCore::DOMSelection::focusOffset):
2597 (WebCore::DOMSelection::extentOffset):
2598 (WebCore::DOMSelection::isCollapsed):
2599 (WebCore::DOMSelection::type):
2600 (WebCore::DOMSelection::rangeCount):
2601 (WebCore::DOMSelection::collapse):
2602 (WebCore::DOMSelection::collapseToEnd):
2603 (WebCore::DOMSelection::collapseToStart):
2604 (WebCore::DOMSelection::empty):
2605 (WebCore::DOMSelection::setBaseAndExtent):
2606 (WebCore::DOMSelection::setPosition):
2607 (WebCore::DOMSelection::modify):
2608 (WebCore::DOMSelection::extend):
2609 (WebCore::DOMSelection::getRangeAt):
2610 (WebCore::DOMSelection::removeAllRanges):
2611 (WebCore::DOMSelection::addRange):
2612 (WebCore::DOMSelection::deleteFromDocument):
2613 (WebCore::DOMSelection::containsNode):
2614 (WebCore::DOMSelection::selectAllChildren):
2615 (WebCore::DOMSelection::toString):
2616 * page/DOMSelection.h:
2617 Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
2618 to return its result directly instead of via an ExceptionCode that no caller wanted.
2620 * editing/Editor.cpp:
2621 (WebCore::Editor::deleteRange):
2622 (WebCore::Editor::removeFormattingAndStyle):
2623 (WebCore::Editor::selectComposition):
2624 (WebCore::Editor::setComposition):
2625 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
2626 Adapted for SelectionController::setSelectedRange() now returning a bool.
2627 SelectionController::toString() is no longer avasilable, use plainText() explicitly.
2629 * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
2631 2007-11-12 Dan Bernstein <mitz@apple.com>
2633 Reviewed by Darin Adler.
2635 - <http://bugs.webkit.org/show_bug.cgi?id=15890>
2636 Most of www.aol.com still redraws unnecessarily when headline/photo section changes
2638 Test: fast/repaint/invisible-objects.html
2640 Avoid repainting invisible blocks if they are enclosed in a layer that
2641 contains no visible objects.
2643 * rendering/RenderBlock.cpp:
2644 (WebCore::RenderBlock::layoutBlock):
2645 * rendering/RenderBox.cpp:
2646 (WebCore::RenderBox::absoluteClippedOverflowRect):
2648 2007-11-12 Timothy Hatcher <timothy@apple.com>
2650 Reviewed by Mark Rowe.
2652 Prevent selecting a word in the breadcrumb or the styles section when double
2653 clicking on a DOM node in the outline tree.
2655 * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
2656 with a detail of 2 or higher comes in. This prevents the selection.
2657 * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
2659 2007-11-12 Oliver Hunt <oliver@apple.com>
2663 <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
2665 EventHandler needs to reset these fields when a drag terminates, otherwise
2666 EventHandler is left in an inconsistent state when a drag is initiated on a
2667 page with multiple frames.
2669 * page/EventHandler.cpp:
2670 (WebCore::EventHandler::cancelDragAndDrop):
2671 (WebCore::EventHandler::performDragAndDrop):
2672 (WebCore::EventHandler::clearDragState):
2673 * page/EventHandler.h:
2675 2007-11-12 Oliver Hunt <oliver@apple.com>
2677 Reviewed by Darin and Antti.
2679 Return behaviour for 0 sized pattern back to what it was prior to r27704
2681 This change in behaviour broke two layout tests in DRT, so correcting it
2682 corrects existing tests.
2684 * platform/graphics/cg/ImageBufferCG.cpp:
2686 2007-11-12 Timothy Hatcher <timothy@apple.com>
2690 <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
2692 * page/mac/WebCoreFrameBridge.mm:
2693 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
2694 If the SharedBuffer is null insert an empty NSData instead of nil.
2696 2007-11-12 Darin Adler <darin@apple.com>
2700 - http://bugs.webkit.org/show_bug.cgi?id=15947
2701 speed up page loading a bit by inlining
2703 * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
2704 Factored out the slow case of isScheduledLocationChangePending into this.
2706 * loader/FrameLoader.h:
2707 (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
2708 inline check of the far and away most common case, where m_scheduledRedirection
2709 is 0; the rest is in the isLocationChange function.
2711 2007-11-12 George Staikos <staikos@kde.org>
2715 Extract the text match marker highlight color into RenderTheme instead
2716 of the hardcoded yellow.
2718 * rendering/InlineTextBox.cpp:
2719 (WebCore::InlineTextBox::paintTextMatchMarker):
2720 * rendering/RenderTheme.cpp:
2721 (WebCore::RenderTheme::platformTextSearchHighlightColor):
2722 * rendering/RenderTheme.h:
2724 2007-11-12 Mark Rowe <mrowe@apple.com>
2726 Fix deadlock on launch on the Mac.
2728 * loader/icon/IconDatabase.cpp:
2729 (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
2731 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
2735 http://bugs.webkit.org/show_bug.cgi?id=15955
2736 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
2738 * loader/icon/IconDatabase.cpp:
2739 (WebCore::IconDatabase::open):
2740 (WebCore::IconDatabase::close):
2741 * loader/icon/IconDatabase.h:
2742 * platform/sql/SQLiteDatabase.cpp:
2743 (WebCore::SQLiteDatabase::SQLiteDatabase):
2744 (WebCore::SQLiteDatabase::open):
2745 (WebCore::SQLiteDatabase::close):
2746 * platform/sql/SQLiteDatabase.h:
2748 2007-11-12 Adam Roben <aroben@apple.com>
2752 * config.h: Touch because VS apparently can't figure out which files
2753 depend on ResourceResponse.h.
2754 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
2755 project and remove old ResourceResponse files.
2757 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
2761 http://bugs.webkit.org/show_bug.cgi?id=15334
2762 Split ResourceResponse into platform specific files
2766 * WebCore.vcproj/WebCore.vcproj:
2767 * WebCore.xcodeproj/project.pbxproj:
2768 * platform/network/ResourceResponse.cpp: Removed.
2769 * platform/network/ResourceResponse.h: Removed.
2770 * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
2771 (WebCore::ResourceResponseBase::asResourceResponse):
2772 (WebCore::ResourceResponseBase::isHTTP):
2773 (WebCore::ResourceResponseBase::url):
2774 (WebCore::ResourceResponseBase::setUrl):
2775 (WebCore::ResourceResponseBase::mimeType):
2776 (WebCore::ResourceResponseBase::setMimeType):
2777 (WebCore::ResourceResponseBase::expectedContentLength):
2778 (WebCore::ResourceResponseBase::setExpectedContentLength):
2779 (WebCore::ResourceResponseBase::textEncodingName):
2780 (WebCore::ResourceResponseBase::setTextEncodingName):
2781 (WebCore::ResourceResponseBase::suggestedFilename):
2782 (WebCore::ResourceResponseBase::setSuggestedFilename):
2783 (WebCore::ResourceResponseBase::httpStatusCode):
2784 (WebCore::ResourceResponseBase::setHTTPStatusCode):
2785 (WebCore::ResourceResponseBase::httpStatusText):
2786 (WebCore::ResourceResponseBase::setHTTPStatusText):
2787 (WebCore::ResourceResponseBase::httpHeaderField):
2788 (WebCore::ResourceResponseBase::setHTTPHeaderField):
2789 (WebCore::ResourceResponseBase::httpHeaderFields):
2790 (WebCore::ResourceResponseBase::isAttachment):
2791 (WebCore::ResourceResponseBase::setExpirationDate):
2792 (WebCore::ResourceResponseBase::expirationDate):
2793 (WebCore::ResourceResponseBase::setLastModifiedDate):
2794 (WebCore::ResourceResponseBase::lastModifiedDate):
2795 (WebCore::ResourceResponseBase::updateResourceResponse):
2796 * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
2797 (WebCore::ResourceResponseBase::ResourceResponseBase):
2798 * platform/network/cf/ResourceResponse.h: Added.
2799 (WebCore::ResourceResponse::ResourceResponse):
2800 * platform/network/curl/ResourceResponse.h: Added.
2801 (WebCore::ResourceResponse::ResourceResponse):
2802 (WebCore::ResourceResponse::doUpdateResourceResponse):
2803 * platform/network/mac/ResourceResponse.h: Added.
2804 (WebCore::ResourceResponse::ResourceResponse):
2805 * platform/network/qt/ResourceResponse.h: Added.
2806 (WebCore::ResourceResponse::ResourceResponse):
2807 (WebCore::ResourceResponse::doUpdateResourceResponse):
2809 2007-11-11 Justin Haygood <jhaygood@reaktix.com>
2811 Reviewed by Adam Roben.
2813 http://bugs.webkit.org/show_bug.cgi?id=15939
2814 Adds a currentThread API for use by SQLiteDatabase, etc.
2816 * platform/Threading.h:
2817 * platform/ThreadingNone.cpp:
2818 (WebCore::currentThread):
2819 * platform/gtk/ThreadingGtk.cpp:
2820 (WebCore::identifierByGthreadHandle):
2822 * platform/pthreads/ThreadingPthreads.cpp:
2823 (WebCore::identifierByPthreadHandle):
2824 (WebCore::currentThread):
2826 2007-11-11 Dan Bernstein <mitz@apple.com>
2828 Reviewed by Adam Roben.
2830 - fix http://bugs.webkit.org/show_bug.cgi?id=15942
2831 REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
2833 Test: editing/selection/cleared-by-relayout.html
2835 * editing/Selection.cpp:
2836 (WebCore::Selection::toRange): Check if the selection has been cleared
2839 2007-11-11 Darin Adler <darin@apple.com>
2841 Reviewed by Mark Rowe.
2843 - fix line numbers that were off since my recent patch
2845 * platform/SegmentedString.h:
2846 (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
2847 and rename it to m_doNotExcludeLineNumbers.
2848 (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
2849 (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
2850 (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
2851 (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
2852 the regression, but keep the speediness. I accidentally had removed a ! here.
2854 * platform/SegmentedString.cpp:
2855 (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
2857 2007-11-11 Oliver Hunt <oliver@apple.com>
2861 Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
2862 malformed SVG file in WebCore::ImageBuffer::create. Add protection
2863 against a potential overflow.
2865 * platform/graphics/cg/ImageBufferCG.cpp:
2867 2007-11-11 Antti Koivisto <antti@apple.com>
2871 Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
2873 * bindings/js/kjs_binding.cpp:
2874 (KJS::setDOMException):
2876 (WebCore::Attr::setPrefix):
2878 (WebCore::Document::createElement):
2880 (WebCore::Element::setPrefix):
2882 (WebCore::Range::setStart):
2883 (WebCore::Range::setEnd):
2884 (WebCore::Range::isPointInRange):
2885 (WebCore::Range::comparePoint):
2886 (WebCore::Range::compareBoundaryPoints):
2887 (WebCore::Range::deleteContents):
2888 (WebCore::Range::processContents):
2889 (WebCore::Range::extractContents):
2890 (WebCore::Range::insertNode):
2891 (WebCore::Range::setStartAfter):
2892 (WebCore::Range::setEndBefore):
2893 (WebCore::Range::setEndAfter):
2894 (WebCore::Range::selectNode):
2895 (WebCore::Range::surroundContents):
2896 (WebCore::Range::setStartBefore):
2897 * editing/TextIterator.cpp:
2898 (WebCore::TextIterator::TextIterator):
2899 * html/CanvasRenderingContext2D.cpp:
2900 (WebCore::CanvasRenderingContext2D::createPattern):
2901 * html/HTMLMediaElement.cpp:
2902 (WebCore::HTMLMediaElement::play):
2903 (WebCore::HTMLMediaElement::pause):
2904 * html/HTMLSelectElement.cpp:
2905 (WebCore::HTMLSelectElement::add):
2906 (WebCore::HTMLSelectElement::setOption):
2907 * xml/XPathEvaluator.cpp:
2908 (WebCore::XPathEvaluator::evaluate):
2910 2007-11-11 Darin Adler <darin@apple.com>
2914 - http://bugs.webkit.org/show_bug.cgi?id=15945
2915 speed up GraphicsContextCG typical case by skipping roundToDevicePixels
2917 * platform/graphics/cg/GraphicsContextCG.cpp:
2918 (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
2919 longer know if the transform is identity or not.
2920 (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
2921 CGContextSave/RestoreGState.
2922 (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
2923 longer know if the transform is identity or not.
2924 (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
2925 (WebCore::GraphicsContext::scale): Ditto.
2926 (WebCore::GraphicsContext::rotate): Ditto.
2927 (WebCore::GraphicsContext::translate): Ditto.
2928 (WebCore::GraphicsContext::concatCTM): Ditto.
2929 (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
2930 is known to be identity, and record that fact when we discover it otherwise.
2932 * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
2933 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2934 Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
2936 2007-11-11 Darin Adler <darin@apple.com>
2940 - http://bugs.webkit.org/show_bug.cgi?id=15944
2941 streamline SegmentedString to speed up parsing
2943 I measured a speed-up of the page load test while developing this patch. I don't
2944 have a precise figure, though.
2946 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
2947 lineno to m_lineNumber.
2948 * html/HTMLTokenizer.cpp:
2949 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
2950 since we don't want to update a line number.
2951 (WebCore::HTMLTokenizer::parseSpecial): Ditto.
2952 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
2953 instead of lineNumberPtr() since the advance function now takes a reference.
2954 (WebCore::HTMLTokenizer::parseServer): Ditto.
2955 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
2956 (WebCore::HTMLTokenizer::parseText): Ditto.
2957 (WebCore::HTMLTokenizer::parseEntity): Ditto.
2958 (WebCore::HTMLTokenizer::parseTag): Ditto.
2959 (WebCore::HTMLTokenizer::write): Ditto.
2961 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
2962 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
2963 Don't pass 0 to the advance function.
2965 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
2966 the most common case, and pushed less common cases into a separate function
2967 that is not inlined. Also got rid of a branch by separating the case with a
2968 line number from the case without one.
2970 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
2971 Added. The aforementioned less common cases are here.
2973 2007-11-11 Antti Koivisto <antti@apple.com>
2975 Forgot to do this review change (and test HTTP commit).
2977 * html/HTMLMediaElement.cpp:
2978 (WebCore::HTMLMediaElement::play):
2980 2007-11-11 Antti Koivisto <antti@apple.com>
2984 - Update play() and pause() to match current HTML5 draft
2985 - send events asynchronously
2986 - add timeupdate event to pause
2987 - rethrow load() exception, not others
2988 - Use list for async events to get ordering right
2990 Tests: media/video-pause-empty-events.html
2991 media/video-play-empty-events.html
2992 media/video-play-pause-events.html
2993 media/video-play-pause-exception.html
2995 * html/HTMLMediaElement.cpp:
2996 (WebCore::HTMLMediaElement::dispatchEventAsync):
2997 (WebCore::HTMLMediaElement::asyncEventTimerFired):
2998 (WebCore::HTMLMediaElement::play):
2999 (WebCore::HTMLMediaElement::pause):
3000 * html/HTMLMediaElement.h:
3002 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
3006 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
3008 Add (basic) support for dominant-baseline / alignment-baseline text properties.
3009 Note: there are no official testcases, and no-one implemented it before. Only ASV3
3010 supported dominant-baseline, but not correct it seems.
3012 * rendering/SVGRootInlineBox.cpp:
3013 (WebCore::dominantBaselineToShift):
3014 (WebCore::alignmentBaselineToShift):
3015 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
3017 2007-11-11 Adam Roben <aroben@apple.com>
3019 Add wrappers around CoCreateInstance to COMPtr
3021 I followed the example of the Query constructor and query method by
3022 adding a Create constructor and create method.
3026 * platform/win/COMPtr.h:
3027 (COMPtr::COMPtr): Added a new constructor that calls
3029 (COMPtr::create): Added.
3030 (COMPtr::createInstance): Added.
3032 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
3036 http://bugs.webkit.org/show_bug.cgi?id=15896
3037 More editing cleanup
3039 No functionality changes.
3041 * dom/Node.h: Moved several editing-related methods elsewhere.
3042 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
3043 to highlight that it is a match to offsetInCharacters(), and much different from other
3044 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
3045 offsetInCharacters() before calling this.
3047 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
3048 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
3049 Updated for above renamings.
3051 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
3053 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
3057 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
3058 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
3059 (WebCore::Position::previous): Adapted to the above move.
3060 (WebCore::Position::next): Ditto.
3061 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
3062 and BR elements are covered by editingIgnoresContent().
3063 (WebCore::Position::downstream): Ditto.
3064 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
3065 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
3067 * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
3068 * dom/PositionIterator.cpp:
3069 (WebCore::PositionIterator::increment): Updated for the above moves.
3070 (WebCore::PositionIterator::decrement): Ditto.
3072 * dom/ProcessingInstruction.h:
3073 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
3074 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
3075 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
3078 (WebCore::Range::selectNodeContents):
3079 * editing/ApplyStyleCommand.cpp:
3080 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3081 (WebCore::ApplyStyleCommand::applyInlineStyle):
3082 (WebCore::maxRangeOffset):
3083 (WebCore::ApplyStyleCommand::removeInlineStyle):
3084 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
3085 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
3086 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
3087 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
3088 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
3089 * editing/CompositeEditCommand.cpp:
3090 (WebCore::CompositeEditCommand::insertNodeAt):
3091 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
3092 * editing/DeleteSelectionCommand.cpp:
3093 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3094 * editing/InsertLineBreakCommand.cpp:
3095 (WebCore::InsertLineBreakCommand::doApply):
3096 * editing/InsertParagraphSeparatorCommand.cpp:
3097 (WebCore::InsertParagraphSeparatorCommand::doApply):
3098 * editing/InsertTextCommand.cpp:
3099 (WebCore::InsertTextCommand::insertTab):
3100 * editing/visible_units.cpp:
3101 (WebCore::previousLinePosition):
3102 (WebCore::nextLinePosition):
3103 Updated for the above moves.
3105 * editing/Editor.cpp:
3106 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
3108 * editing/TextIterator.cpp:
3109 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
3110 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
3111 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
3113 * editing/htmlediting.h:
3114 * editing/htmlediting.cpp:
3115 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
3116 child nodes, other than via DOM manipulation, which is not specific to BRs.
3117 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
3118 (WebCore::maxDeepOffset): Ditto.
3119 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
3120 (WebCore::caretMaxOffset): Ditto.
3122 * page/EventHandler.cpp:
3123 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
3124 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
3125 will take care of adjusting the offset.
3127 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
3128 * page/mac/WebCoreFrameBridge.mm:
3129 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
3130 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
3131 Changed some runtime checks that seemingly cannot fail into assertions.
3133 2007-11-11 Darin Adler <darin@apple.com>
3137 - updated for JSRegExp function changes
3139 * platform/RegularExpression.cpp:
3140 (WebCore::RegularExpression::Private::compile):
3141 (WebCore::RegularExpression::match):
3143 2007-11-10 Mark Rowe <mrowe@apple.com>
3147 * platform/UnicodeRange.h:
3149 2007-11-10 Mark Rowe <mrowe@apple.com>
3151 Qt Windows build fix.
3153 * platform/UnicodeRange.h:
3155 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
3159 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
3160 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
3162 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
3163 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
3165 * WebCore.pro: Add platform/UnicodeRange.cpp to build
3166 * WebCore.xcodeproj/project.pbxproj: Dito.
3167 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
3168 (WebCore::SVGChar::characterTransform):
3169 * rendering/SVGCharacterLayoutInfo.h: New variables.
3170 (WebCore::SVGCharOnPath::SVGCharOnPath):
3171 (WebCore::SVGChar::SVGChar):
3172 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
3173 (WebCore::glyphOrientationToAngle):
3174 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
3175 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
3176 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
3177 (WebCore::cummulatedWidthOrHeightOfTextChunk):
3178 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
3180 2007-11-10 Timothy Hatcher <timothy@apple.com>
3182 Reviewed by Sam Weinig.
3184 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
3185 and switch over to use getUniqueProperties in another place.
3187 2007-11-10 John Sullivan <sullivan@apple.com>
3189 Reviewed by Sam Weinig
3191 Rest of fix for 5394877
3193 * bindings/js/kjs_window.cpp:
3194 (KJS::Window::isSafeScript):
3195 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
3196 private browsing mode either.
3198 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
3202 Fix function name difference - header said 'unicodeRangeForCharacter', actually
3203 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
3205 * platform/UnicodeRange.h:
3207 2007-11-10 Dan Bernstein <mitz@apple.com>
3209 Reviewed by Darin Adler.
3211 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
3213 No test because context menu events cannot be tested in DumpRenderTree.
3215 * page/EventHandler.cpp:
3216 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
3217 If the click occurred in an active link, selects the entire link
3218 element. Otherwise selects the closest word.
3219 (WebCore::EventHandler::sendContextMenuEvent): Call
3220 selectClosestWordOrLinkFromMouseEvent().
3221 * page/EventHandler.h:
3223 2007-11-10 John Sullivan <sullivan@apple.com>
3225 Reviewed by Tim Hatcher
3227 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
3228 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
3230 * bindings/js/kjs_window.cpp:
3231 (KJS::Window::isSafeScript):
3232 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
3234 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
3238 http://bugs.webkit.org/show_bug.cgi?id=15922
3239 Implement more of Mozilla Selection API
3241 Tests: editing/selection/containsNode.html
3242 editing/selection/deleteFromDocument.html
3243 editing/selection/extend.html
3244 editing/selection/selectAllChildren.html
3246 * editing/SelectionController.cpp:
3247 (WebCore::SelectionController::deleteFromDocument):
3248 (WebCore::SelectionController::containsNode):
3249 (WebCore::SelectionController::selectAllChildren):
3250 (WebCore::SelectionController::extend):
3251 * editing/SelectionController.h:
3252 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
3253 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
3254 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
3255 selection range support.
3257 * page/DOMSelection.cpp:
3258 (WebCore::DOMSelection::extend):
3259 (WebCore::DOMSelection::deleteFromDocument):
3260 (WebCore::DOMSelection::containsNode):
3261 (WebCore::DOMSelection::selectAllChildren):
3262 * page/DOMSelection.h:
3263 * page/DOMSelection.idl:
3264 Exposed the new methods.
3266 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
3270 http://bugs.webkit.org/show_bug.cgi?id=15892
3271 DOM Range operations are not implemented for ProcessingInstruction nodes
3273 Test: fast/dom/Range/range-processing-instructions.html
3276 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
3277 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
3278 to use ProcessingInstruction.data.
3280 2007-11-09 Timothy Hatcher <timothy@apple.com>
3282 Reviewed by Mark Rowe.
3284 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
3285 http://bugs.webkit.org/show_bug.cgi?id=12054
3287 - Add support code for routing copy events to the focused element.
3288 - Implement copying the currently selected DOM node. The node
3289 and it's subtree is copied to the clipboard. If the node has no
3290 outerHTML, the nodeValue is copied (text nodes, etc.)
3291 - Implement copy for the resource sidebar. The URL is copied for the
3292 currently selected resource.
3294 * page/inspector/DocumentPanel.js:
3295 * page/inspector/inspector.js:
3297 2007-11-09 Antti Koivisto <antti@apple.com>
3301 Fix occasional blank video with poster attribute.
3304 * html/HTMLMediaElement.cpp:
3305 (WebCore::HTMLMediaElement::load):
3306 (WebCore::HTMLMediaElement::didRestoreFromCache):
3307 Just calling updateFromElement() does the right thing for both poster image and video.
3309 2007-11-04 Sam Weinig <sam@webkit.org>
3311 Reviewed by Adam Roben.
3313 <rdar://problem/5435940>
3314 The COM bindings for the DOM should be autogenerated like the other DOM bindings
3316 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
3317 is being introduced in this patch and to insure that no conflicts arise, a temporary
3318 prefix of "GEN_" has been used for all the new classes.
3320 The build architecture for these bindings differs slightly from the other autogenerated
3321 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
3322 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
3323 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
3325 This commit includes:
3326 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
3328 - Generating all of the Core DOM and most of HTML and CSS
3329 - Generating Event, EventTarget, and EventListener
3331 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
3332 * WebCore.vcproj/WebCore.vcproj:
3333 * WebCore.vcproj/migrate-idls.sh: Added.
3334 * bindings/scripts/CodeGenerator.pm:
3335 * bindings/scripts/CodeGeneratorCOM.pm: Added.
3336 * dom/EventListener.h: Make the isWindowEvent parameter default to false
3337 to allow autogeneration based on the IDL.
3339 2007-11-09 Tristan O'Tierney <tristan@apple.com>
3341 Reviewed by Timothy Hatcher.
3343 This patch is for the WebKit side of <rdar://problem/5591115>.
3344 We need a way to tell context menu navigations, such as "Open in New Window"
3345 to override any sort of browser preference for tab based navigation.
3347 * bridge/WindowFeatures.h:
3348 (WebCore::WindowFeatures::WindowFeatures):
3349 Added a new struct member var, preferredType
3350 and an accompanying enum type PreferredType
3351 to send a window type recommendation up to the Chrome.
3353 * page/ContextMenuController.cpp:
3354 (WebCore::openNewWindow):
3355 Set the window features to recommend a new Window for
3356 "Open in New Window" context menu action.
3358 2007-11-08 Adam Roben <aroben@apple.com>
3360 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
3362 We now match the behavior of Firefox and IE, which is to always just
3363 send a click event to the focused button when the Enter key is pressed
3364 (previously we were submitting forms directly in some cases).
3368 Test: fast/forms/enter-clicks-buttons.html
3370 * html/HTMLButtonElement.cpp:
3371 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
3372 fancy when Enter is pressed on a <button type=button> -- just send a
3373 click event like we do for other button types.
3374 * html/HTMLInputElement.cpp:
3375 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
3376 the same way we treat type=submit and type=reset: just send a click
3377 event when Enter is pressed.
3379 2007-11-09 Dan Bernstein <mitz@apple.com>
3381 Reviewed by Antti Koivisto.
3383 - fix a bug in invisible layer culling: dynamically changing a
3384 descendant of an invisible layer to be visible did not work
3386 Test: fast/layers/layer-content-visibility-change.html
3388 * rendering/RenderLayer.cpp:
3389 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
3390 make sure that our stacking context rebuilds its z-order lists to
3393 2007-11-09 David Hyatt <hyatt@apple.com>
3395 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
3396 args can be lengths or numbers or percents.
3400 * WebCore.xcodeproj/project.pbxproj:
3401 * css/CSSParser.cpp:
3402 (WebCore::TransformOperationInfo::TransformOperationInfo):
3403 (WebCore::CSSParser::parseTransform):
3404 * rendering/RenderStyle.h:
3405 (WebCore::MatrixTransformOperation::apply):
3407 2007-11-09 Beth Dakin <bdakin@apple.com>
3411 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
3412 math leads to crazy problems
3414 Transform matrices accept the first four parameters as CSS lengths.
3415 CSS lengths get mapped into WebCore::Lengths as percents by
3416 WebCore::convertToLength(). Percent lengths cannot call value(). It
3417 does not yield a correct result and it asserts on Debug builds.
3419 * rendering/RenderStyle.h:
3420 (WebCore::MatrixTransformOperation::apply): Instead of calling
3421 value() on the lengths, call calcValue. This fixes the assert and
3424 2007-11-09 Simon Hausmann <hausmann@kde.org>
3426 Reviewed by nobody, build/link fix for Qt/Windows.
3428 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
3431 * platform/qt/TemporaryLinkStubs.cpp:
3433 2007-11-09 Simon Hausmann <hausmann@kde.org>
3437 Fix ContextMenu allocation in the Qt port.
3439 Store all items and submenus value based in ContextMenu and ContextMenuItem.
3440 That fixes the crashes when the context menu was populated with sub-menus because
3441 of the use of temporary ContextMenu objects like this:
3443 ContextMenu subMenu(...);
3444 subMenu.appendItem(...);
3445 subMenu.appendItem(...);
3447 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
3449 * platform/ContextMenu.h:
3450 * platform/ContextMenuItem.h:
3451 * platform/PlatformMenuDescription.h:
3452 * platform/qt/ContextMenuItemQt.cpp:
3453 (WebCore::ContextMenuItem::ContextMenuItem):
3454 (WebCore::ContextMenuItem::platformSubMenu):
3455 * platform/qt/ContextMenuQt.cpp:
3456 (WebCore::ContextMenu::ContextMenu):
3457 (WebCore::ContextMenu::~ContextMenu):
3458 (WebCore::ContextMenu::appendItem):
3459 (WebCore::ContextMenu::itemCount):
3461 2007-11-09 Peter Kasting <zerodpx@gmail.com>
3463 Reviewed by Mark Rowe.
3465 http://bugs.webkit.org/show_bug.cgi?id=15909
3466 Malformed GIFs should not result in memory corruption.
3468 * platform/image-decoders/gif/GIFImageDecoder.cpp:
3469 (WebCore::GIFImageDecoder::haveDecodedRow):
3471 2007-11-08 Timothy Hatcher <timothy@apple.com>
3473 Reviewed by Sam Weinig.
3475 Some Web Inspector CSS editing changes.
3476 - Only delete the property if all the text is delete or the new user input correctly parses.
3477 This prevents deleting the existing property if the new text is invalid.
3478 - Intercept the Escape key and cancel editing, not saving any changes.
3480 * page/inspector/StylesSidebarPane.js:
3482 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
3484 Bakefiles for building WebCore, needed by wx port.
3486 Reviewed by Mark Rowe.
3488 * WebCoreSources.bkl: Added.
3489 * webcore-base.bkl: Added.
3490 * webcore-wx.bkl: Added.
3492 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
3494 Reviewed by Mark Rowe.
3496 http://bugs.webkit.org/show_bug.cgi?id=15905
3498 Fix builds with HTML 5 Storage support disabled.
3499 ENABLE(DATABASE) needs to be added in a few places.
3501 * page/InspectorController.cpp:
3502 * storage/Database.h:
3504 2007-11-08 Steve Falkenburg <sfalken@apple.com>
3506 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
3508 We weren't including CF_HDROP in our image drops. This broke drag of
3509 images out of the browser window directly into other apps (examples
3510 include notepad, mspaint, msword).
3512 Reviewed by Oliver, Ada.
3514 * platform/win/ClipboardWin.cpp:
3515 (WebCore::createGlobalImageFileContent): Removed unused variable.
3516 (WebCore::createGlobalHDropContent): Added
3517 (WebCore::writeFileToDataObject): Write HDROP data if available.
3518 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
3519 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
3521 2007-11-08 Xan Lopez <xan@gnome.org>
3525 http://bugs.webkit.org/show_bug.cgi?id=15908
3526 Use g_object_ref_sink when available
3528 * platform/gtk/PopupMenuGtk.cpp:
3529 (WebCore::PopupMenu::show):
3530 * platform/gtk/ScrollViewGtk.cpp:
3531 (WebCore::ScrollView::setGtkAdjustments):
3533 2007-11-08 Dan Bernstein <mitz@apple.com>
3535 Reviewed by Beth Dakin.
3537 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
3539 Test: fast/dom/length-attribute-mapping.html
3541 * dom/StyledElement.cpp:
3542 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
3543 logic to stop after the first "%" or "*" in the string. This allows for
3544 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
3546 2007-11-08 Kevin McCullough <kmccullough@apple.com>
3550 * loader/FrameLoaderClient.h:
3551 * platform/graphics/svg/SVGImageEmptyClients.h:
3552 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
3554 2007-11-08 Kevin McCullough <kmccullough@apple.com>
3558 - windowObjectCleared() is no longer const. It needs to setup the
3559 script debugger and cannot be const to do so.
3561 * loader/FrameLoaderClient.h:
3562 * platform/graphics/svg/SVGImageEmptyClients.h:
3563 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
3565 2007-11-08 Adam Roben <aroben@apple.com>
3567 Hopeful Windows build fix
3569 * rendering/RenderObject.cpp: Touch this file to make it recompile.
3571 2007-11-08 Sam Weinig <sam@webkit.org>
3575 Convert JavaScript internal function objects to use one class per
3576 function. This avoids a switch statement inside what used to be
3577 the shared function classes and will allow Shark to better analyze
3580 To make this switch, the value property of the HashEntry was changed
3581 to a union of an intptr_t (which is used to continue handle valueGetters)
3582 and function pointer which points to a static constructor for the
3583 individual new function objects.
3585 SunSpider claims this is a 1.0% speedup.
3587 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
3588 new classes and hand updated the remain non-generated (groan) classes.
3590 * bindings/js/JSDOMWindowCustom.cpp:
3591 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3592 * bindings/js/JSEventTargetNode.cpp:
3593 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
3594 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
3595 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
3596 * bindings/js/JSEventTargetNode.h:
3597 * bindings/js/JSHTMLInputElementBase.cpp:
3598 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):