1 2007-06-23 Adam Roben <aroben@apple.com>
3 Silence a build warning about not finding `num-cpus`
7 * WebCore.vcproj/build-generated-files.sh: Look for num-cpus in its new
10 2007-06-22 Anders Carlsson <andersca@apple.com>
14 * plugins/win/PluginStreamWin.cpp:
15 (WebCore::PluginStreamWin::didFinishLoading):
16 No need to fetch the size from resourceData.
18 2007-06-22 Anders Carlsson <andersca@apple.com>
22 <rdar://problem/5288617>
23 Crash playing a very large QuickTime movie inside Safari.
25 Get rid of m_completeDeliveryData and use the loader's resource data instead. This reduces the memory usage for
26 plug-ins which loads large files and use a transfer mode of NP_ASFILE or NP_ASFILEONLY.
28 * plugins/win/PluginStreamWin.cpp:
29 (WebCore::PluginStreamWin::PluginStreamWin):
30 (WebCore::PluginStreamWin::~PluginStreamWin):
31 (WebCore::PluginStreamWin::didReceiveData):
32 (WebCore::PluginStreamWin::didFinishLoading):
33 * plugins/win/PluginStreamWin.h:
35 2007-06-22 Beth Dakin <bdakin@apple.com>
37 Reviewed by Oliver and Darin.
39 Fix for <rdar://problem/5266999> Loading page from MangleMe fuzz
40 tester crashes in RenderTableRow::addChild (giant ROWSPAN)
42 We already have code that tries to prevent allocating too-large
43 rowspans. The rowspan in this test, however, was small enough that
44 we thought it was okay in that code, even though clearly it was
45 still too large. I did a bunch of testing in Firefox, and it seems
46 that they set a hard limit on the maximum rowspan right in the DOM
47 -- 8k. So that is what this patch implements.
49 * html/HTMLTableCellElement.cpp:
50 (WebCore::HTMLTableCellElement::parseMappedAttribute):
52 2007-06-22 Justin Garcia <justin.garcia@apple.com>
56 <rdar://problem/5272440> Adding To Do via Note received in e-mail adds newlines on delete
58 Deletion inserts a placeholder after it removes full paragraphs if
59 one doesn't already exist. The code that looked for a pre-existing
60 placeholder didn't work because of a bug in enclosingNodeOfType.
62 * editing/htmlediting.cpp:
63 (WebCore::enclosingNodeOfType): We start looking at node->parentNode(),
64 but don't go above an editing root.
66 2007-06-22 Anders Carlsson <andersca@apple.com>
68 Reviewed by Maciej and Geoff.
70 <rdar://problem/5244734>
71 WebKit shouldn't send delegate resource load methods for the user stylesheet (doing so causes assertions in Safari)
73 Add a sendResourceLoadCallbacks argument to the ResourceLoader and only send resource load callbacks if it's true. Make it so that
74 loading the user style sheet creates a resource loader with sendResourceLoadCallbacks set to false (done by adding a sendResourceLoadCallbacks
75 argument to a bunch of classes).
78 (WebCore::createResource):
79 (WebCore::Cache::requestResource):
81 * loader/CachedCSSStyleSheet.cpp:
82 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
83 * loader/CachedCSSStyleSheet.h:
84 * loader/CachedResource.cpp:
85 (WebCore::CachedResource::CachedResource):
86 * loader/CachedResource.h:
87 (WebCore::CachedResource::sendResourceLoadCallbacks):
88 * loader/DocLoader.cpp:
89 (WebCore::DocLoader::requestCSSStyleSheet):
90 (WebCore::DocLoader::requestResource):
91 (WebCore::DocLoader::checkCacheObjectStatus):
93 * loader/MainResourceLoader.cpp:
94 (WebCore::MainResourceLoader::MainResourceLoader):
96 (WebCore::Request::Request):
98 (WebCore::Request::sendResourceLoadCallbacks):
99 * loader/ResourceLoader.cpp:
100 (WebCore::ResourceLoader::ResourceLoader):
101 (WebCore::ResourceLoader::willSendRequest):
102 (WebCore::ResourceLoader::didReceiveResponse):
103 (WebCore::ResourceLoader::didReceiveData):
104 (WebCore::ResourceLoader::didFinishLoadingOnePart):
105 (WebCore::ResourceLoader::didFail):
106 (WebCore::ResourceLoader::didCancel):
107 * loader/ResourceLoader.h:
108 (WebCore::ResourceLoader::sendResourceLoadCallbacks):
109 * loader/SubresourceLoader.cpp:
110 (WebCore::SubresourceLoader::SubresourceLoader):
111 (WebCore::SubresourceLoader::create):
112 * loader/SubresourceLoader.h:
114 (WebCore::Loader::load):
115 (WebCore::Loader::servePendingRequests):
117 * loader/mac/NetscapePlugInStreamLoaderMac.mm:
118 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
120 2007-06-21 Richard Connamacher <rich@indieimage.com>
122 Reviewed by Tim Hatcher.
124 Bug 14305: Web Inspector marks local files with server-side compression tip
125 http://bugs.webkit.org/show_bug.cgi?id=14305
127 * page/inspector/Resource.js:
128 (WebInspector.Resource._shouldCompress): Prevent server-side compression tip
129 from being given to local files
131 2007-06-21 Mark Rowe <mrowe@apple.com>
135 Fix for <rdar://problem/5266928> REGRESSION: crash/assert failure beneath RenderFrameSet::layOutAxis when loading
137 * platform/StringImpl.cpp:
138 (WebCore::StringImpl::toLengthArray): Simplify whitespace before checking for an empty string. This avoids returning
139 a length of zero when the string is collapsed to empty by whitespace simplification.
141 2007-06-21 Dave Hyatt <hyatt@apple.com>
143 Fix for <rdar://problem/5286978>, large font sizes crash Windows.
145 Limit the maximum font size to 1,000,000 to avoid crashes and issues with platforms that
146 start failing to do anything useful if the font size is too big.
150 * css/cssstyleselector.cpp:
151 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
153 2007-06-21 Andrew Wellington <proton@wiretapped.net>
157 Stop shift+scroll wheel performing a horizontal scroll in Web Inspector
159 * page/inspector/inspector.css: Set body margin to 0
161 2007-06-21 Adam Treat <adam@staikos.net>
163 Reviewed by George Staikos.
165 Implement the default resources on Qt.
167 * platform/graphics/BitmapImage.h:
168 * platform/graphics/Image.h:
169 * platform/graphics/qt/ImageQt.cpp:
170 (WebCore::Image::loadPlatformResource):
171 (WebCore::BitmapImage::BitmapImage):
172 (WebCore::BitmapImage::initPlatformData):
173 (WebCore::BitmapImage::invalidatePlatformData):
174 (WebCore::BitmapImage::getPixmap):
175 * platform/qt/TemporaryLinkStubs.cpp:
177 2007-06-21 Oliver Hunt <oliver@apple.com>
181 Use RetainPtr for holding currentEvent. This removes explicit HardRetain/Release calls
182 and makes reference handling simpler in advance of IME refactoring.
184 * WebCore.xcodeproj/project.pbxproj:
185 * page/mac/EventHandlerMac.mm:
186 (WebCore::currentEvent):
187 (WebCore::EventHandler::currentNSEvent):
188 (WebCore::EventHandler::wheelEvent):
189 (WebCore::EventHandler::keyEvent):
190 (WebCore::lastEventIsMouseUp):
191 (WebCore::EventHandler::passMouseDownEventToWidget):
192 (WebCore::EventHandler::eventLoopHandleMouseDragged):
193 (WebCore::EventHandler::eventLoopHandleMouseUp):
194 (WebCore::EventHandler::passSubframeEventToSubframe):
195 (WebCore::EventHandler::passWheelEventToWidget):
196 (WebCore::EventHandler::mouseDown):
197 (WebCore::EventHandler::mouseDragged):
198 (WebCore::EventHandler::mouseUp):
199 (WebCore::EventHandler::mouseMoved):
201 2007-06-21 George Staikos <staikos@kde.org>
203 Reviewed by George & Marius.
205 Patch by me, revision by Marius, minor rev by me. Adds rendered
206 and stylable scrollbars.
208 * page/qt/EventHandlerQt.cpp:
209 (WebCore::EventHandler::passMousePressEventToScrollbar):
211 * platform/qt/PlatformScrollBar.h:
212 (WebCore::PlatformScrollbar::isWidget):
213 * platform/qt/PlatformScrollBarQt.cpp:
214 (WebCore::PlatformScrollbar::PlatformScrollbar):
215 (WebCore::PlatformScrollbar::~PlatformScrollbar):
216 (WebCore::PlatformScrollbar::updateThumbPosition):
217 (WebCore::PlatformScrollbar::updateThumbProportion):
218 (WebCore::PlatformScrollbar::width):
219 (WebCore::PlatformScrollbar::height):
220 (WebCore::PlatformScrollbar::setRect):
221 (WebCore::PlatformScrollbar::isEnabled):
222 (WebCore::PlatformScrollbar::setEnabled):
223 (WebCore::PlatformScrollbar::paint):
224 (WebCore::PlatformScrollbar::thumbPosition):
225 (WebCore::PlatformScrollbar::thumbLength):
226 (WebCore::PlatformScrollbar::trackLength):
227 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
228 (WebCore::PlatformScrollbar::handleMouseOutEvent):
229 (WebCore::PlatformScrollbar::handleMousePressEvent):
230 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
231 (WebCore::PlatformScrollbar::startTimerIfNeeded):
232 (WebCore::PlatformScrollbar::stopTimerIfNeeded):
233 (WebCore::PlatformScrollbar::autoscrollPressedPart):
234 (WebCore::PlatformScrollbar::autoscrollTimerFired):
235 (WebCore::PlatformScrollbar::pressedPartScrollDirection):
236 (WebCore::PlatformScrollbar::pressedPartScrollGranularity):
237 (WebCore::PlatformScrollbar::thumbUnderMouse):
238 (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
239 (WebCore::PlatformScrollbar::verticalScrollbarWidth):
240 (WebCore::PlatformScrollbar::windowClipRect):
241 * platform/qt/ScrollViewQt.cpp:
242 (WebCore::ScrollView::addChild):
243 (WebCore::ScrollView::removeChild):
244 * platform/qt/WidgetQt.cpp:
245 (WebCore::WidgetPrivate::WidgetPrivate):
246 (WebCore::Widget::setQWidget):
247 (WebCore::Widget::invalidate):
248 (WebCore::Widget::invalidateRect):
249 (WebCore::Widget::setParent):
250 (WebCore::Widget::parent):
252 2007-06-21 Geoffrey Garen <ggaren@apple.com>
254 Reviewed by Dave Hyatt.
256 Fixed <rdar://problem/4977124> | http://bugs.webkit.org/show_bug.cgi?id=12646
257 REGRESSION: RapidWeaver's "Hello" HTML page doesn't display any DHTML
258 effects when clicking on its links (12646)
260 I'm rolling our r7703 for these reasons:
262 1. It broke RapidWeaver.
264 2. WebKit is now orders of magnitude faster when handling deep nesting
265 (5 seconds vs 3 minutes on my MBP in this particular case).
267 3. Firefox, IE, and HTML5 all allow nested heading tags.
271 * html/HTMLParser.cpp:
272 (WebCore::HTMLParser::parseToken):
274 2007-06-21 Sam Weinig <sam@webkit.org>
276 Reviewed by Tim Hatcher.
278 http://bugs.webkit.org/show_bug.cgi?id=14260
279 ASSERTION FAILED: m_mainResource->loader == loader going back in history on any page
281 Remove assert for now as it is causing the back button to not
282 work in debug builds.
284 * page/InspectorController.cpp:
285 (WebCore::InspectorController::didCommitLoad):
287 2007-06-21 Lars Knoll <lars@trolltech.com>
289 Remove some debug output.
291 * platform/qt/FontQt.cpp:
292 (WebCore::generateComponents):
293 (WebCore::Font::width):
295 2007-06-21 George Staikos <staikos@kde.org>
297 Repair Qt/Mac OS X build.
301 2007-06-21 Alexey Proskuryakov <ap@webkit.org>
305 http://bugs.webkit.org/show_bug.cgi?id=13905
306 REGRESSION: A Chinese dictionary widget has a problem with XMLHttpRequest response encoding
308 Tiger WebKit accidentally looked at HTML Http-Equiv META to determine the response encoding
309 (regardless of the actual response MIME type). This was corrected a while ago to match other
310 browsers and the draft XHR spec.
312 Now restoring this functionality for "text/html", with spec editor's blessing.
314 * xml/xmlhttprequest.cpp:
315 (WebCore::XMLHttpRequest::responseMIMEType):
316 (WebCore::XMLHttpRequest::responseIsXML):
317 (WebCore::XMLHttpRequest::didReceiveData):
318 * xml/xmlhttprequest.h:
320 2007-06-21 Andrew Wellington <proton@wiretapped.net>
326 2007-06-21 Lars Knoll <lars@trolltech.com>
330 another small fix for letter spacing
332 * platform/qt/FontQt.cpp:
333 (WebCore::generateComponents):
335 2007-06-21 Lars Knoll <lars@trolltech.com>
341 * platform/qt/FontQt.cpp:
342 (WebCore::generateComponents):
343 (WebCore::Font::width):
345 2007-06-21 Lars Knoll <lars@trolltech.com>
349 fix letterspacing and small caps.
352 * platform/graphics/qt/GraphicsContextQt.cpp:
353 (WebCore::GraphicsContext::setPlatformFont):
354 * platform/qt/FileChooserQt.cpp:
355 * platform/qt/FontQt.cpp:
356 (WebCore::TextRunComponent::TextRunComponent):
357 (WebCore::Font::Font):
358 (WebCore::Font::operator=):
359 (WebCore::Font::update):
360 (WebCore::generateComponents):
361 (WebCore::Font::selectionRectForText):
362 * platform/qt/RenderThemeQt.cpp:
364 2007-06-21 Lars Knoll <lars@trolltech.com>
368 store the metrics and space width in the Font object
371 * platform/qt/FontQt.cpp:
372 (WebCore::Font::Font):
373 (WebCore::Font::drawText):
374 (WebCore::Font::width):
375 (WebCore::Font::isFixedPitch):
376 (WebCore::Font::ascent):
377 (WebCore::Font::descent):
378 (WebCore::Font::lineSpacing):
380 2007-06-21 Lars Knoll <lars@trolltech.com>
384 simplify some codepaths
386 * platform/qt/FontQt.cpp:
387 (WebCore::Font::drawText):
388 (WebCore::Font::width):
390 2007-06-21 Lars Knoll <lars@trolltech.com>
396 * platform/qt/FontQt.cpp:
398 2007-06-21 Lars Knoll <lars@trolltech.com>
402 correctly load fonts when a list of font families is given
404 * platform/qt/FontQt.cpp:
405 (WebCore::Font::Font):
407 2007-06-21 Lars Knoll <lars@trolltech.com>
411 fix some more of the font support
413 * platform/qt/FontQt.cpp:
414 (WebCore::Font::drawText):
415 (WebCore::Font::width):
417 2007-06-21 Lars Knoll <lars@trolltech.com>
424 (WebCore::Font::isRoundingHackCharacter):
425 * platform/qt/FontQt.cpp:
426 (WebCore::Font::drawText):
428 2007-06-21 Lars Knoll <lars@trolltech.com>
432 Some more work on the implementation of FontQt.
434 * platform/qt/FontQt.cpp:
435 (WebCore::Font::Font):
436 (WebCore::Font::~Font):
437 (WebCore::Font::operator=):
439 2007-06-21 Lars Knoll <lars@trolltech.com>
443 Started work on the new font infrastructure for the Qt port.
446 * editing/Editor.cpp:
447 (WebCore::Editor::fontForSelection):
449 (WebCore::Font::treatAsSpace):
450 (WebCore::Font::treatAsZeroWidthSpace):
451 (WebCore::Font::isRoundingHackCharacter):
452 * platform/qt/FontQt.cpp:
453 (WebCore::Font::operator QFont):
454 * platform/qt/TemporaryLinkStubs.cpp:
456 2007-06-21 Adam Roben <aroben@apple.com>
458 More Gdk build fixes.
460 * page/gdk/ContextMenuClientGdk.cpp:
461 (WebCore::ContextMenuClientGdk::shouldIncludeInspectElementItem):
462 * page/gdk/ContextMenuClientGdk.h:
463 * platform/gdk/TemporaryLinkStubs.cpp:
465 2007-06-21 Adam Roben <aroben@apple.com>
467 Speculative Gdk build fix.
469 * page/InspectorController.h: Only include the JS headers we really
470 need to avoid pulling in ones like JSStringRefCF.h.
472 2007-06-20 Adam Roben <aroben@apple.com>
474 Speculative Gdk build fix.
476 * WebCore.pro: Don't try to build WebKitQt/Plugins on Gdk.
478 2007-06-20 Adam Roben <aroben@apple.com>
482 * WebCore.vcproj/WebCore.vcproj: Include ForwardingHeaders after
483 everything but $WebKitLibrariesDir so that we will pick up
484 JavaScriptCore headers directly.
486 2007-06-15 George Staikos <staikos@kde.org>
490 * platform/qt/TemporaryLinkStubs.cpp:
491 (WebCore::contextMenuItemTagInspectElement):
493 2007-06-20 Steve Falkenburg <sfalken@apple.com>
495 Reviewed by Maciej, Anders.
497 <rdar://problem/5283789> Crash after dismissing JavaScript alert at end of test on http://lcamtuf.coredump.cx/ierace/
499 Keep a reference to the Page (via the main frame) for the
502 Reference is held via the frame since Page isn't refcounted.
505 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
506 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
508 2007-06-15 Adam Treat <adam@staikos.net>
510 Reviewed by George Staikos.
512 Add ICO support to the Qt build.
515 * platform/graphics/qt/ImageDecoderQt.cpp:
518 2007-06-15 George Staikos <staikos@kde.org>
522 * ForwardingHeaders/JavaScriptCore/APICast.h: Added.
524 * page/InspectorController.h:
526 2007-06-20 Adam Roben <aroben@apple.com>
528 More speculative Qt/Gdk build fixes.
530 * WebCore.pro: Add new files.
532 2007-06-20 Adam Roben <aroben@apple.com>
534 Speculative Qt/Gdk build fix.
536 Added forwarding headers for JavaScriptCore. We may eventually move
537 InspectorController off of the JSC API, but for now this is the
538 quickest way to a working build.
540 * ForwardingHeaders/JavaScriptCore/JSBase.h: Added.
541 * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Added.
542 * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Added.
543 * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Added.
544 * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Added.
545 * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Added.
546 * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Added.
548 2007-06-20 Sam Weinig <sam@webkit.org>
550 Rubber stamped by Adam Roben.
554 * page/inspector/ConsolePanel.js:
555 * page/inspector/NetworkPanel.js:
556 * page/inspector/Resource.js:
557 * page/inspector/ResourceCategory.js:
558 * page/inspector/ResourcePanel.js:
560 2007-06-20 Mark Rowe <mrowe@apple.com>
564 * WebCore.exp: Export InspectorController::inspect so WebKit can see it.
566 2007-06-20 Geoffrey Garen <ggaren@apple.com>
568 Reviewed by Adele Peterson, Oliver Hunt, Anders Carlsson.
570 Fixed <rdar://problem/5222911> Leopard9A446 : VitalSource Bookshelf 4.5:
571 Crashes when you click on sign in (stringByEvaluatingJavaScriptFromString
572 returning nil instead of "")
574 I'm basically rolling out the change for <rdar://problem/4782422> because
575 my testing shows that it was backwards.
577 * html/HTMLElement.cpp:
578 (dumpInnerHTML): New debug-only function to work around gdb being
579 perpetually suck-tastic.
581 * page/mac/WebCoreFrameBridge.mm:
582 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
584 Return "", not nil. This function never used to return nil, so let's not
585 start now. I've filed <rdar://problem/5283271> to cover the documentation bug,
587 2007-06-20 Adam Roben <aroben@apple.com>
589 Addressed some of Geoff's comments.
591 * page/ContextMenuController.cpp:
592 (WebCore::ContextMenuController::handleContextMenuEvent): Added a
594 * platform/ContextMenu.cpp:
595 (WebCore::ContextMenu::addInspectElementItem): Null-check
598 2007-06-20 Adam Roben <aroben@apple.com>
600 Fix crash in fast/dom/dir-no-body.html
604 * html/HTMLDocument.cpp:
605 (WebCore::HTMLDocument::createTokenizer): Don't assume we have a
606 Frame, since we won't if someone creates an HTMLDocument from JS.
608 2007-06-20 Adam Roben <aroben@apple.com>
610 Land the new Inspector.
612 Co-written with Tim Hatcher.
614 Reviewed by Anders, Adele, Hyatt, and Sam.
616 No regression tests possible.
618 Add a new InspectorController that is in charge of the Inspector. It
619 has an InspectorClient that controls the Inspector's window and node
622 * page/InspectorClient.h: Added.
623 (WebCore::InspectorClient::~InspectorClient):
624 * page/InspectorController.cpp: Added.
625 (WebCore::ConsoleMessage::ConsoleMessage):
626 (WebCore::InspectorResource::): Represents a single resource that the
627 Inspector knows about.
628 (WebCore::InspectorResource::InspectorResource):
629 (WebCore::InspectorResource::~InspectorResource):
630 (WebCore::InspectorResource::type):
631 (WebCore::InspectorResource::setScriptObject):
632 (WebCore::addSourceToFrame): Callback available from JS.
633 (WebCore::getResourceDocumentNode): Ditto.
634 (WebCore::highlightDOMNode): Ditto.
635 (WebCore::hideDOMNodeHighlight): Ditto.
636 (WebCore::loaded): Ditto.
637 (WebCore::unloading): Ditto.
638 (WebCore::attach): Ditto.
639 (WebCore::detach): Ditto.
640 (WebCore::log): Ditto.
641 (WebCore::search): Ditto.
642 (WebCore::inspectedWindow): Ditto.
643 (WebCore::InspectorController::InspectorController):
644 (WebCore::InspectorController::~InspectorController):
645 (WebCore::InspectorController::inspect): Called by
646 ContextMenuController to inspect a node.
647 (WebCore::InspectorController::focusNode):
648 (WebCore::InspectorController::highlight):
649 (WebCore::InspectorController::hideHighlight):
650 (WebCore::InspectorController::windowVisible):
651 (WebCore::InspectorController::setWindowVisible):
652 (WebCore::InspectorController::addMessageToConsole):
653 (WebCore::InspectorController::attachWindow):
654 (WebCore::InspectorController::detachWindow):
655 (WebCore::InspectorController::windowScriptObjectAvailable):
656 (WebCore::InspectorController::scriptObjectReady):
657 (WebCore::InspectorController::windowUnloading):
658 (WebCore::addHeaders): Static helper function.
659 (WebCore::objectForRequest): Ditto.
660 (WebCore::objectForResponse): Ditto.
661 (WebCore::InspectorController::addScriptResource):
662 (WebCore::InspectorController::addAndUpdateScriptResource):
663 (WebCore::InspectorController::removeScriptResource):
664 (WebCore::InspectorController::updateScriptResource):
665 (WebCore::InspectorController::populateScriptResources):
666 (WebCore::InspectorController::addScriptConsoleMessage):
667 (WebCore::callClearFunction): Static helper function.
668 (WebCore::InspectorController::clearScriptResources):
669 (WebCore::InspectorController::clearScriptConsoleMessages):
670 (WebCore::InspectorController::clearNetworkTimeline):
671 (WebCore::InspectorController::pruneResources):
672 (WebCore::InspectorController::didCommitLoad): Callback from
674 (WebCore::InspectorController::frameDetachedFromParent): Ditto.
675 (WebCore::InspectorController::addResource): Ditto.
676 (WebCore::InspectorController::removeResource): Ditto.
677 (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
678 (WebCore::InspectorController::identifierForInitialRequest): Ditto.
679 (WebCore::InspectorController::willSendRequest): Ditto.
680 (WebCore::InspectorController::didReceiveResponse): Ditto.
681 (WebCore::InspectorController::didReceiveContentLength): Ditto.
682 (WebCore::InspectorController::didFinishLoading): Ditto.
683 (WebCore::InspectorController::didFailLoading): Ditto.
684 * page/InspectorController.h: Added.
685 (WebCore::InspectorController::inspectedPage):
686 (WebCore::InspectorController::scriptContext):
687 (WebCore::InspectorController::setScriptContext):
688 (WebCore::InspectorController::resources):
689 (WebCore::InspectorController::removeAllResources):
691 Add the JavaScript that defines most of the behavior of the Inspector.
693 * page/inspector/ConsolePanel.js: Added.
694 * page/inspector/NetworkPanel.js: Added.
695 * page/inspector/Resource.js: Added.
696 * page/inspector/ResourceCategory.js: Added.
697 * page/inspector/ResourcePanel.js: Added.
698 * page/inspector/inspector.js: Added.
699 * page/inspector/treeoutline.js: Renamed from WebKit/WebInspector/webInspector/treeoutline.js.
700 * page/inspector/utilities.js: Added.
702 Add the Inspector's CSS and HTML.
704 * page/inspector/inspector.css: Added.
705 * page/inspector/inspector.html: Added.
707 Hang the InspectorController off of Page. We only create an
708 InspectorController if an InspectorClient is given to the Page.
711 (WebCore::Page::Page):
713 (WebCore::Page::inspectorController):
715 Use FrameLoader to notify the InspectorController of resource loads.
717 * loader/FrameLoader.cpp:
718 (WebCore::FrameLoader::begin):
719 (WebCore::FrameLoader::transitionToCommitted):
720 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
721 (WebCore::FrameLoader::detachFromParent):
722 (WebCore::FrameLoader::assignIdentifierToInitialRequest):
723 (WebCore::FrameLoader::willSendRequest):
724 (WebCore::FrameLoader::didReceiveResponse):
725 (WebCore::FrameLoader::didReceiveData):
726 (WebCore::FrameLoader::sendRemainingDelegateMessages):
727 (WebCore::FrameLoader::requestFromDelegate):
728 (WebCore::FrameLoader::didFinishLoad):
729 (WebCore::FrameLoader::dispatchWindowObjectAvailable):
730 (WebCore::FrameLoader::dispatchDidCommitLoad):
731 (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
732 (WebCore::FrameLoader::dispatchWillSendRequest):
733 (WebCore::FrameLoader::dispatchDidReceiveResponse):
734 (WebCore::FrameLoader::dispatchDidReceiveContentLength):
735 (WebCore::FrameLoader::dispatchDidFinishLoading):
736 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache):
737 * loader/FrameLoader.h:
739 Send console messages to the InspectorController.
742 (WebCore::Chrome::addMessageToConsole): Send all console messages to
743 the InspectorController.
744 * page/Chrome.h: Add a new MessageLevel and MessageSource that are
745 used in the Inspector JS.
747 Report HTML errors when the Inspector window is open.
748 We don't report errors when the window is closed because we don't want
749 to slow down the HTMLTokenizer.
751 * html/HTMLDocument.cpp:
752 (WebCore::HTMLDocument::createTokenizer):
753 * html/HTMLParser.cpp:
754 (WebCore::HTMLParser::HTMLParser):
756 * html/HTMLTokenizer.cpp:
757 (WebCore::HTMLTokenizer::HTMLTokenizer):
758 * html/HTMLTokenizer.h:
760 Append the "Inspect Element" context menu item after passing the
761 context menu to the ContextMenuClient. This work used to be done in
764 * page/ContextMenuClient.h:
765 * page/ContextMenuController.cpp:
766 (WebCore::ContextMenuController::handleContextMenuEvent): Add the
767 "Inspect Element" item.
768 (WebCore::ContextMenuController::contextMenuItemSelected): Handle the
769 "Inspect Element" item.
770 * platform/ContextMenu.cpp:
771 (WebCore::ContextMenu::addInspectElementItem):
772 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for "Inspect
774 * platform/ContextMenu.h:
775 * platform/ContextMenuItem.h:
776 (WebCore::): Add ContextMenuItemTagInspectElement.
777 * platform/graphics/svg/SVGImageEmptyClients.h:
778 * page/mac/WebCoreViewFactory.h: Add the "Inspect Element" localized
780 * platform/LocalizedStrings.h: Ditto.
781 * platform/mac/LocalizedStringsMac.mm:
782 (WebCore::contextMenuItemTagInspectElement): Ditto.
784 Miscellaneous changes:
786 * css/view-source.css: Add message bubble styles.
787 * loader/DocumentLoader.h: Add a frame getter.
788 * platform/win/ScrollViewWin.cpp:
789 (WebCore::ScrollView::updateScrollbars): Respect
790 Frame::prohibitsScrolling.
792 Add new images needed for the Inspector.
794 * page/inspector/Images/attachedShadow.png: Added.
795 * page/inspector/Images/bottomShadow.png: Added.
796 * page/inspector/Images/breadcrumbBackground.png: Added.
797 * page/inspector/Images/checker.png: Added.
798 * page/inspector/Images/console.png: Added.
799 * page/inspector/Images/darkShadow.png: Added.
800 * page/inspector/Images/disclosureDownPressed.png: Added.
801 * page/inspector/Images/disclosureRightDown.png: Added.
802 * page/inspector/Images/disclosureRightPressed.png: Added.
803 * page/inspector/Images/document.png: Added.
804 * page/inspector/Images/domViewButton.png: Added.
805 * page/inspector/Images/domViewButtonSelected.png: Added.
806 * page/inspector/Images/downTriangle.png: Added.
807 * page/inspector/Images/errorIcon.png: Added.
808 * page/inspector/Images/errorMediumIcon.png: Added.
809 * page/inspector/Images/folder.png: Added.
810 * page/inspector/Images/goArrow.png: Added.
811 * page/inspector/Images/gradient.png: Added.
812 * page/inspector/Images/gradientHighlight.png: Added.
813 * page/inspector/Images/gradientHighlightBottom.png: Added.
814 * page/inspector/Images/hideStatusWidget.png: Added.
815 * page/inspector/Images/hideStatusWidgetPressed.png: Added.
816 * page/inspector/Images/network.png: Added.
817 * page/inspector/Images/paneBottomGrow.png: Added.
818 * page/inspector/Images/paneBottomGrowActive.png: Added.
819 * page/inspector/Images/paneGrowHandleLine.png: Added.
820 * page/inspector/Images/paneHeader.png: Added.
821 * page/inspector/Images/paneHeaderActive.png: Added.
822 * page/inspector/Images/plainDocument.png: Added.
823 * page/inspector/Images/popupArrows.png: Added.
824 * page/inspector/Images/rightTriangle.png: Added.
825 * page/inspector/Images/segment.png: Added.
826 * page/inspector/Images/segmentEnd.png: Added.
827 * page/inspector/Images/segmentHover.png: Added.
828 * page/inspector/Images/segmentHoverEnd.png: Added.
829 * page/inspector/Images/segmentSelected.png: Added.
830 * page/inspector/Images/segmentSelectedEnd.png: Added.
831 * page/inspector/Images/showStatusWidget.png: Added.
832 * page/inspector/Images/showStatusWidgetPressed.png: Added.
833 * page/inspector/Images/sidbarItemBackground.png: Added.
834 * page/inspector/Images/sidebarActionWidget.png: Added.
835 * page/inspector/Images/sidebarActionWidgetPressed.png: Added.
836 * page/inspector/Images/sidebarAttachWidget.png: Added.
837 * page/inspector/Images/sidebarAttachWidgetPressed.png: Added.
838 * page/inspector/Images/sidebarDetachWidget.png: Added.
839 * page/inspector/Images/sidebarDetachWidgetPressed.png: Added.
840 * page/inspector/Images/sidebarResizeWidget.png: Added.
841 * page/inspector/Images/sidebarSelection.png: Added.
842 * page/inspector/Images/sidebarSelectionBlurred.png: Added.
843 * page/inspector/Images/sidebarSelectionBlurredTall.png: Added.
844 * page/inspector/Images/sidebarSelectionGray.png: Added.
845 * page/inspector/Images/sidebarSelectionGrayTall.png: Added.
846 * page/inspector/Images/sidebarSelectionTall.png: Added.
847 * page/inspector/Images/sidebarStatusAreaBackground.png: Added.
848 * page/inspector/Images/sourceViewButton.png: Added.
849 * page/inspector/Images/sourceViewButtonSelected.png: Added.
850 * page/inspector/Images/splitviewDimple.png: Added.
851 * page/inspector/Images/splitviewDividerBackground.png: Added.
852 * page/inspector/Images/tab.png: Added.
853 * page/inspector/Images/tabSelected.png: Added.
854 * page/inspector/Images/timelinePillBlue.png: Added.
855 * page/inspector/Images/timelinePillGray.png: Added.
856 * page/inspector/Images/timelinePillGreen.png: Added.
857 * page/inspector/Images/timelinePillOrange.png: Added.
858 * page/inspector/Images/timelinePillPurple.png: Added.
859 * page/inspector/Images/timelinePillRed.png: Added.
860 * page/inspector/Images/timelinePillYellow.png: Added.
861 * page/inspector/Images/tipBalloon.png: Added.
862 * page/inspector/Images/tipBalloonBottom.png: Added.
863 * page/inspector/Images/tipIcon.png: Added.
864 * page/inspector/Images/tipIconPressed.png: Added.
865 * page/inspector/Images/toggleDown.png: Added.
866 * page/inspector/Images/toggleUp.png: Added.
867 * page/inspector/Images/toolbarBackground.png: Added.
868 * page/inspector/Images/toolbarBackgroundInactive.png: Added.
869 * page/inspector/Images/toolbarButton.png: Added.
870 * page/inspector/Images/toolbarButtonInactive.png: Added.
871 * page/inspector/Images/toolbarButtonPressed.png: Added.
872 * page/inspector/Images/toolbarButtonPressedInactive.png: Added.
873 * page/inspector/Images/toolbarSplitButtonDivider.png: Added.
874 * page/inspector/Images/toolbarSplitButtonDividerInactive.png: Added.
875 * page/inspector/Images/treeDownTriangleBlack.png: Added.
876 * page/inspector/Images/treeDownTriangleWhite.png: Added.
877 * page/inspector/Images/treeLeftTriangleBlack.png: Added.
878 * page/inspector/Images/treeRightTriangleBlack.png: Added.
879 * page/inspector/Images/treeRightTriangleWhite.png: Added.
880 * page/inspector/Images/warningIcon.png: Added.
881 * page/inspector/Images/warningMediumIcon.png: Added.
882 * page/inspector/Images/warningsErrors.png: Added.
886 * WebCore.exp: Added new symbols.
887 * WebCore.xcodeproj/project.pbxproj: Added new source files and
889 * WebCore.vcproj/WebCore.vcproj: Ditto, and copy the resources to
894 * history/HistoryItem.h: ResourceRequest is a struct.
895 * loader/FrameLoaderClient.h: Ditto.
897 2007-06-20 Mitz Pettel <mitz@webkit.org>
901 - fix http://bugs.webkit.org/show_bug.cgi?id=14056
902 REGRESSION (r21113-21143): TR background not repainted via style class change
904 Test: fast/repaint/table-row.html
906 * rendering/RenderTableRow.cpp:
907 (WebCore::RenderTableRow::layout): Added a repaint to make up for the case where the
908 table row also needs layout, so it doesn't get a repaint in setStyle().
910 2007-06-20 Mitz Pettel <mitz@webkit.org>
914 - fix http://bugs.webkit.org/show_bug.cgi?id=14040
915 Top and bottom border images flipped when using -webkit-border-image when border end up tiled
917 Test: fast/borders/border-image-01.html
919 Correctly account for the fact that "pattern space" is flipped.
921 * platform/graphics/Image.cpp: (WebCore::Image::drawTiled):
922 * platform/graphics/cg/ImageCG.cpp:
923 (WebCore::Image::drawPatternCallback):
924 (WebCore::Image::drawPattern):
926 2007-06-20 Anders Carlsson <andersca@apple.com>
930 <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader
932 Check for either '\r' or '\n' in the header value.
934 * xml/xmlhttprequest.cpp:
935 (WebCore::isValidHeaderValue):
937 2007-06-20 Patti Hoa <patti@apple.com>
939 Reviewed by Geoffrey Garen.
941 <rdar://problem/4882527> VO should speak URL of image links that lack tags
942 Add additional change from review
944 * bridge/mac/WebCoreAXObject.mm:
945 (-[WebCoreAXObject accessibilityAttributeValue:]):
946 Check if the element has imgTag before asking for its url
948 2007-06-20 Patti Hoa <patti@apple.com>
950 Reviewed by Tristan O'Tierney.
952 <rdar://problem/4882527> VO should speak URL of image links that lack tags
954 * bridge/mac/WebCoreAXObject.mm:
955 (-[WebCoreAXObject accessibilityAttributeNames]):
956 (-[WebCoreAXObject accessibilityAttributeValue:]):
957 Return the url of images.
959 2007-06-19 Anders Carlsson <andersca@apple.com>
961 Reviewed by Kevin Decker.
963 <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
965 Add a new m_deferMainResourceDataLoad that can be used to control whether a data load should be deferred using a timer or not.
967 * loader/DocumentLoader.cpp:
968 (WebCore::DocumentLoader::DocumentLoader):
969 * loader/DocumentLoader.h:
970 (WebCore::DocumentLoader::deferMainResourceDataLoad):
971 * loader/MainResourceLoader.cpp:
972 (WebCore::MainResourceLoader::handleDataLoadSoon):
973 (WebCore::MainResourceLoader::loadNow):
974 (WebCore::MainResourceLoader::setDefersLoading):
976 2007-06-19 Patti Hoa <patti@apple.com>
978 Reviewed by Justin Garcia.
980 <rdar://problem/5237325> Incorrect AXLeftLineTextMarkerRangeForTextMarker/AXPreviousLineStartTextMarkerForTextMarker for non-editable text
982 * editing/visible_units.cpp:
983 (WebCore::startPositionForLine):
984 (WebCore::startOfLine):
985 (WebCore::endPositionForLine):
986 (WebCore::endOfLine):
987 Break down the line routines to allow another try to ask for start/end of line if the returned position is not valid.
988 An example would be when lineStart/lineEnd at different line than the input position.
989 This can happen if the input position is before the space character at the end of a soft-wrapped non-editable line,
990 specifically a line without webkit-line-break:after-white-space style.
992 2007-06-19 Patti Hoa <patti@apple.com>
994 Reviewed by Justin Garcia.
996 <rdar://problem/3992645> VO view bounds misplaced when reading text after a line wrap
998 * bridge/mac/WebCoreAXObject.mm:
999 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1000 Improve the accuracy of the bounds for a given range
1002 2007-06-19 Anders Carlsson <andersca@apple.com>
1006 <rdar://problem/5130630>
1007 XPath fails LayoutTests on Windows
1009 * xml/XPathPredicate.cpp:
1010 Include MathExtras.h here so we get a version of fmod that works around a bug in the Microsoft CRT.
1012 * xml/XPathValue.cpp:
1013 (WebCore::XPath::Value::toNumber):
1014 Instead of using NAN, which isn't really the NaN value on Windows, use numeric_limits.
1016 2007-06-19 Geoffrey Garen <ggaren@apple.com>
1018 Reviewed by Darin Adler.
1020 Fixed cross-frame access. <rdar://problem/5251309>.
1022 * bindings/js/kjs_window.cpp:
1023 (KJS::Window::getValueProperty):
1024 * bindings/scripts/CodeGeneratorJS.pm:
1025 * page/DOMWindow.idl:
1027 2007-06-19 Anders Carlsson <andersca@apple.com>
1031 * platform/win/PopupMenuWin.cpp:
1033 2007-06-19 Lars Knoll <lars@trolltech.com>
1037 Implement these methods correctly.
1039 * platform/qt/PlatformScreenQt.cpp:
1040 (WebCore::screenRect):
1041 (WebCore::screenAvailableRect):
1043 2007-06-19 Sam Weinig <sam@webkit.org>
1047 Patch for http://bugs.webkit.org/show_bug.cgi?id=14226
1048 Move the History object out of the JS bindings
1050 - Autogenerate JSHistory.
1052 * DerivedSources.make:
1054 * WebCore.vcproj/WebCore.vcproj:
1055 * WebCore.xcodeproj/project.pbxproj:
1056 * bindings/js/kjs_window.cpp:
1057 (KJS::WindowPrivate::WindowPrivate):
1058 (KJS::Window::mark):
1059 (KJS::Window::getValueProperty):
1060 (KJS::Window::clearHelperObjectProperties):
1061 (KJS::Window::disconnectFrame):
1062 * bindings/js/kjs_window.h:
1064 * bridge/GlobalHistory.h: Copied from WebCore/bridge/History.h.
1065 * bridge/History.h: Removed.
1066 * bridge/mac/GlobalHistoryMac.mm: Copied from WebCore/bridge/mac/HistoryMac.mm.
1067 * bridge/mac/HistoryMac.mm: Removed.
1068 * bridge/win/GlobalHistoryWin.cpp: Copied from WebCore/bridge/win/HistoryWin.cpp.
1069 * bridge/win/HistoryWin.cpp: Removed.
1070 * css/cssstyleselector.cpp:
1071 * page/DOMWindow.cpp:
1072 (WebCore::DOMWindow::disconnectFrame):
1073 (WebCore::DOMWindow::history):
1075 * page/DOMWindow.idl:
1076 * page/History.cpp: Added.
1077 (WebCore::History::History):
1078 (WebCore::History::frame):
1079 (WebCore::History::disconnectFrame):
1080 (WebCore::History::length):
1081 (WebCore::History::back):
1082 (WebCore::History::forward):
1083 (WebCore::History::go):
1084 * page/History.h: Added.
1085 * page/History.idl: Added.
1086 * platform/gdk/TemporaryLinkStubs.cpp:
1087 * platform/qt/TemporaryLinkStubs.cpp:
1088 * platform/wx/TemporaryLinkStubs.cpp:
1090 2007-06-18 Sam Weinig <sam@webkit.org>
1094 * platform/qt/PlatformScreenQt.cpp:
1095 (WebCore::screenDepth):
1096 (WebCore::screenDepthPerComponent):
1097 (WebCore::screenIsMonochrome):
1098 (WebCore::screenRect):
1099 (WebCore::screenAvailableRect):
1101 2007-06-18 Sam Weinig <sam@webkit.org>
1105 Fix build and update licenses.
1107 * WebCore.xcodeproj/project.pbxproj:
1112 (WebCore::Screen::height):
1113 (WebCore::Screen::width):
1114 (WebCore::Screen::colorDepth):
1115 (WebCore::Screen::pixelDepth):
1116 (WebCore::Screen::availLeft):
1117 (WebCore::Screen::availTop):
1118 (WebCore::Screen::availHeight):
1119 (WebCore::Screen::availWidth):
1123 2007-06-18 Anders Carlsson <andersca@apple.com>
1125 Reviewed by John Sullivan.
1127 <rdar://problem/5277008> Assertion in [LocationChangeHandler finishedLoadingFrame:]
1129 Don't send any frame load callbacks if the document load hasn't been
1132 * loader/FrameLoader.cpp:
1133 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1135 2007-06-18 Sam Weinig <sam@webkit.org>
1139 Patch for http://bugs.webkit.org/show_bug.cgi?id=14193
1140 Move the Screen object out of the JS bindings
1142 - Renames Screen.h to PlatformScreen.h to accommodate new class.
1143 - Autogenerates JSScreen.
1145 * DerivedSources.make:
1147 * WebCore.vcproj/WebCore.vcproj:
1148 * WebCore.xcodeproj/project.pbxproj:
1149 * bindings/js/kjs_window.cpp:
1150 (KJS::WindowPrivate::WindowPrivate):
1151 (KJS::Window::mark):
1152 (KJS::Window::getValueProperty):
1153 (KJS::Window::clearHelperObjectProperties):
1154 * bindings/js/kjs_window.h:
1156 * css/MediaQueryEvaluator.cpp:
1157 * page/DOMWindow.cpp:
1158 (WebCore::DOMWindow::DOMWindow):
1159 (WebCore::DOMWindow::~DOMWindow):
1160 (WebCore::DOMWindow::frame):
1161 (WebCore::DOMWindow::disconnectFrame):
1162 (WebCore::DOMWindow::screen):
1164 * page/DOMWindow.idl:
1165 * page/Screen.cpp: Added.
1166 (WebCore::Screen::Screen):
1167 (WebCore::Screen::disconnectFrame):
1168 (WebCore::Screen::height):
1169 (WebCore::Screen::width):
1170 (WebCore::Screen::colorDepth):
1171 (WebCore::Screen::pixelDepth):
1172 (WebCore::Screen::availLeft):
1173 (WebCore::Screen::availTop):
1174 (WebCore::Screen::availHeight):
1175 (WebCore::Screen::availWidth):
1176 * page/Screen.h: Added.
1177 * page/Screen.idl: Added.
1178 * page/mac/WebCoreFrameBridge.mm:
1179 * platform/PlatformScreen.h: Copied from WebCore/platform/Screen.h.
1180 * platform/Screen.h: Removed.
1181 * platform/gdk/PlatformScreenGdk.cpp: Copied from WebCore/platform/gdk/ScreenGdk.cpp.
1182 * platform/gdk/ScreenGdk.cpp: Removed.
1183 * platform/mac/PlatformMouseEventMac.mm:
1184 * platform/mac/PlatformScreenMac.mm: Copied from WebCore/platform/mac/ScreenMac.mm.
1185 * platform/mac/ScreenMac.mm: Removed.
1186 * platform/qt/PlatformScreenQt.cpp: Added.
1187 (WebCore::WebCore::screenDepth):
1188 (WebCore::WebCore::screenDepthPerComponent):
1189 (WebCore::WebCore::screenIsMonochrome):
1190 (WebCore::WebCore::screenRect):
1191 (WebCore::WebCore::screenAvailableRect):
1192 * platform/qt/TemporaryLinkStubs.cpp:
1193 * platform/win/PlatformScreenWin.cpp: Copied from WebCore/platform/win/ScreenWin.cpp.
1194 * platform/win/ScreenWin.cpp: Removed.
1195 * rendering/RenderObject.cpp:
1197 2007-06-18 Sam Weinig <sam@webkit.org>
1201 Patch for http://bugs.webkit.org/show_bug.cgi?id=14211
1202 Move the BarInfo object out of the JS bindings
1204 * DerivedSources.make:
1206 * WebCore.vcproj/WebCore.vcproj:
1207 * WebCore.xcodeproj/project.pbxproj:
1208 * bindings/js/kjs_window.cpp:
1209 (KJS::WindowPrivate::WindowPrivate):
1210 (KJS::Window::mark):
1211 (KJS::Window::getValueProperty):
1212 (KJS::Window::clearHelperObjectProperties):
1213 (KJS::Window::disconnectFrame):
1214 * bindings/js/kjs_window.h:
1216 * page/BarInfo.cpp: Added.
1217 (WebCore::BarInfo::BarInfo):
1218 (WebCore::BarInfo::disconnectFrame):
1219 (WebCore::BarInfo::visible):
1220 * page/BarInfo.h: Added.
1221 (WebCore::BarInfo::):
1222 * page/BarInfo.idl: Added.
1223 * page/DOMWindow.cpp:
1224 (WebCore::DOMWindow::~DOMWindow):
1225 (WebCore::DOMWindow::disconnectFrame):
1226 (WebCore::DOMWindow::locationbar):
1227 (WebCore::DOMWindow::menubar):
1228 (WebCore::DOMWindow::personalbar):
1229 (WebCore::DOMWindow::scrollbars):
1230 (WebCore::DOMWindow::statusbar):
1231 (WebCore::DOMWindow::toolbar):
1233 * page/DOMWindow.idl:
1235 2007-06-18 Sam Weinig <sam@webkit.org>
1239 Remove the FrameArray class and instead make window.frames another
1240 self-reference for window (like window.window, window.self, etc).
1241 This is what Firefox and what the HTML5 dictates.
1243 * bindings/js/kjs_window.cpp:
1244 (KJS::WindowPrivate::WindowPrivate):
1245 (KJS::Window::mark):
1246 (KJS::Window::getValueProperty):
1247 (KJS::Window::clearHelperObjectProperties):
1248 (KJS::Window::disconnectFrame):
1249 * bindings/js/kjs_window.h:
1251 2007-06-18 Mitz Pettel <mitz@webkit.org>
1255 - fix http://bugs.webkit.org/show_bug.cgi?id=13413
1256 Failed assertion in RenderTextControl::setSelectionRange in Google Spreadsheets
1258 Test: fast/forms/input-zero-height-focus.html
1260 * rendering/RenderTextControl.cpp:
1261 (WebCore::RenderTextControl::setSelectionRange): Avoid setting the
1262 selection in a zero-height text control.
1264 2007-06-18 Alp Toker <alp.toker@collabora.co.uk>
1266 Reviewed by Sam Weinig.
1268 http://bugs.webkit.org/show_bug.cgi?id=14052
1272 * platform/gdk/SoundGdk.cpp: Added.
1273 (WebCore::systemBeep):
1274 * platform/gdk/TemporaryLinkStubs.cpp:
1275 (WebCore::systemBeep):
1277 2007-06-18 Dave Hyatt <hyatt@apple.com>
1279 Add support for horizontal mouse wheeling on Windows.
1283 * platform/PlatformWheelEvent.h:
1284 * platform/win/WheelEventWin.cpp:
1285 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1287 2007-06-17 Sam Weinig <sam@webkit.org>
1291 * WebCore.vcproj/WebCore.vcproj:
1293 2007-06-15 David Hyatt <hyatt@apple.com>
1295 Fix for bugzilla bugs 14183 and 14184, 'repeat' regressed in border-image
1296 because of a botched 'round' support removal. Also update for a change in
1297 the spec that has the second stretch/round/repeat keyword match the first
1302 * css/cssparser.cpp:
1303 (WebCore::BorderImageParseContext::commitBorderImage):
1304 * platform/graphics/Image.cpp:
1305 (WebCore::Image::drawTiled):
1306 * platform/graphics/Image.h:
1309 2007-06-15 Sam Weinig <sam@webkit.org>
1313 Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
1314 Autogenerate JS binding for Rect
1316 - Renames RectImpl to Rect, DOMStyleSheetList to JSStyleSheetList
1317 and DOMRGBColor to JSRGBColor
1318 - Moves JSStyleSheetList and JSRGBColor into the WebCore namespace.
1320 * DerivedSources.make:
1322 * WebCore.xcodeproj/project.pbxproj:
1323 * bindings/js/kjs_css.cpp:
1325 (WebCore::JSStyleSheetList::JSStyleSheetList):
1326 (WebCore::JSStyleSheetList::~JSStyleSheetList):
1327 (WebCore::JSStyleSheetList::getValueProperty):
1328 (WebCore::JSStyleSheetList::indexGetter):
1329 (WebCore::JSStyleSheetList::nameGetter):
1330 (WebCore::JSStyleSheetList::getOwnPropertySlot):
1332 (WebCore::JSStyleSheetListFunc::callAsFunction):
1333 (WebCore::JSRGBColor::JSRGBColor):
1334 (WebCore::JSRGBColor::~JSRGBColor):
1335 (WebCore::JSRGBColor::getOwnPropertySlot):
1336 (WebCore::JSRGBColor::getValueProperty):
1337 (WebCore::getJSRGBColor):
1338 * bindings/js/kjs_css.h:
1339 (WebCore::JSStyleSheetList::classInfo):
1340 (WebCore::JSStyleSheetList::):
1341 (WebCore::JSStyleSheetList::impl):
1342 (WebCore::JSRGBColor::classInfo):
1343 (WebCore::JSRGBColor::):
1344 (WebCore::JSRGBColor::impl):
1345 * bindings/objc/DOMUtility.mm:
1346 (KJS::createDOMWrapper):
1347 * bindings/scripts/CodeGeneratorJS.pm:
1348 * bindings/scripts/CodeGeneratorObjC.pm:
1349 * css/CSSBorderImageValue.cpp:
1350 (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1351 * css/CSSBorderImageValue.h:
1352 * css/CSSPrimitiveValue.cpp:
1353 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1354 (WebCore::CSSPrimitiveValue::cssText):
1355 * css/CSSPrimitiveValue.h:
1356 (WebCore::CSSPrimitiveValue::getRectValue):
1357 (WebCore::CSSPrimitiveValue::):
1358 * css/DashboardRegion.h:
1359 * css/Rect.h: Copied from css/RectImpl.h.
1360 (WebCore::Rect::~Rect):
1361 (WebCore::Rect::top):
1362 (WebCore::Rect::right):
1363 (WebCore::Rect::bottom):
1364 (WebCore::Rect::left):
1365 (WebCore::Rect::setTop):
1366 (WebCore::Rect::setRight):
1367 (WebCore::Rect::setBottom):
1368 (WebCore::Rect::setLeft):
1370 * css/RectImpl.h: Removed.
1371 * css/cssparser.cpp:
1372 (WebCore::CSSParser::parseShape):
1373 (WebCore::BorderImageParseContext::commitBorderImage):
1374 * css/cssstyleselector.cpp:
1375 (WebCore::CSSStyleSelector::applyProperty):
1376 * page/DOMWindow.idl:
1378 2007-06-14 George Staikos <staikos@kde.org>
1382 Implement missing tab support and a slight refactor.
1384 * platform/qt/PlatformKeyboardEventQt.cpp:
1385 (WebCore::keyIdentifierForQtKeyCode):
1386 (WebCore::windowsKeyCodeForKeyEvent):
1387 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1389 2007-06-14 Dave Hyatt <hyatt@apple.com>
1391 Fix for Bugzilla bug 14806, missing text for bold/italic fonts in non-English Windows installs.
1393 This patch adds an additional step after the lookup by full name fails. It will then look up
1394 a PostScript name in a (localized full name) -> (PostScript name) cache. If the name is not
1395 found, then the font's name table is obtained and searched for a PostScript name (and the
1398 If lookup on PostScript name fails too, then we now properly fall back to the next font in the
1399 list (so text should never be missing).
1401 Reviewed by Darin (thoroughly reviewed, super reviewed even)
1403 * platform/win/FontCacheWin.cpp:
1404 * platform/win/FontPlatformDataWin.cpp:
1406 2007-06-14 Anders Carlsson <andersca@apple.com>
1410 Add Frame::cleanupScriptObjectsForPlugin which will invalidate the root object
1411 for a given plug-in.
1415 (WebCore::Frame::cleanupScriptObjectsForPlugin):
1418 2007-06-14 Anders Carlsson <andersca@apple.com>
1422 <rdar://problem/5211677>
1423 -[WebPreferences setJavaEnabled:] only disables java inside <applet>, not <object>
1425 * loader/FrameLoader.cpp:
1426 (WebCore::FrameLoader::requestObject):
1427 If the object is a Java MIME type and Java is disabled, don't load the plug-in.
1429 * platform/MimeTypeRegistry.cpp:
1430 (WebCore::MimeTypeRegistry::isJavaAppletMIMEType):
1431 Clean this up and add another applet MIME type.
1433 2007-06-14 George Staikos <staikos@kde.org>
1437 Implement the file chooser for Qt.
1439 * platform/qt/FileChooserQt.cpp:
1440 (WebCore::FileChooser::openFileChooser):
1441 (WebCore::FileChooser::basenameForWidth):
1443 2007-06-14 George Staikos <staikos@kde.org>
1447 Add missing initialization of pointer.
1449 * platform/qt/ContextMenuQt.cpp:
1450 (WebCore::ContextMenu::ContextMenu):
1452 2007-06-14 Anders Carlsson <andersca@apple.com>
1456 <rdar://problem/5244948>
1457 Safari keeps on complaining about slow script playing NBC TV video (14133)
1459 http://bugs.webkit.org/show_bug.cgi?id=14133
1460 Runaway JavaScript timer fires when spinning around in Google Maps street view
1462 Make sure to start and stop the timeout checker around calls to JS.
1464 * bindings/objc/WebScriptObject.mm:
1465 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1466 (-[WebScriptObject evaluateWebScript:]):
1468 2007-06-14 George Staikos <staikos@kde.org>
1472 Keypress causes typeahead crash on empty selects due to modulo 0.
1474 * html/HTMLSelectElement.cpp:
1475 (WebCore::HTMLSelectElement::typeAheadFind):
1477 2007-06-13 George Staikos <staikos@kde.org>
1481 Compile without self-linking.
1485 2007-06-13 Darin Adler <darin@apple.com>
1487 Reviewed by Kevin Decker.
1489 - fix <rdar://problem/5264923> Safari frequently "stalls" beneath
1490 +[NSFont fontWithName:size:] while loading a web page (searching on disk for the font)
1492 * platform/mac/WebFontCache.mm:
1493 (+[WebFontCache internalFontWithFamily:traits:size:]): Renamed from fontWithFamily.
1494 Took out the auto-activation code.
1495 (+[WebFontCache fontWithFamily:traits:size:]): Added. Calls internalFontWithFamily,
1496 then calls NSFont to trigger activation if that returned nil, then calls
1497 internalFontWithFamily again.
1499 2007-06-13 Anders Carlsson <andersca@apple.com>
1503 Pass the root object to methods that end up creating new ObjcInstance objects.
1505 * bindings/objc/WebScriptObject.mm:
1507 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1508 (-[WebScriptObject evaluateWebScript:]):
1509 (-[WebScriptObject setValue:forKey:]):
1510 (-[WebScriptObject valueForKey:]):
1511 (-[WebScriptObject removeWebScriptKey:]):
1512 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1514 2007-06-13 Anders Carlsson <andersca@apple.com>
1518 <rdar://problem/5267992>
1519 Make sure an alert doesn't allow loading to continue inside a script.
1521 Make sure to defer all loads where it's possible for a second main loop to be running.
1524 (WebCore::Chrome::runModal):
1525 (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1526 (WebCore::Chrome::runJavaScriptAlert):
1527 (WebCore::Chrome::runJavaScriptConfirm):
1528 (WebCore::Chrome::runJavaScriptPrompt):
1529 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1530 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1532 * platform/network/cf/ResourceHandleCFNet.cpp:
1533 (WebCore::ResourceHandle::setDefersLoading):
1536 2007-06-13 Alp Toker <alp.toker@collabora.co.uk>
1540 http://bugs.webkit.org/show_bug.cgi?id=14060
1543 * WebCore.pro: Add new files to the build.
1544 * platform/graphics/svg/SVGPaintServerPattern.h:
1545 * platform/graphics/svg/SVGPaintServerSolid.h:
1546 * platform/graphics/svg/cairo: Added.
1547 * platform/graphics/svg/cairo/RenderPathCairo.cpp: Added.
1548 (WebCore::RenderPath::strokeContains):
1549 (WebCore::RenderPath::strokeBBox):
1550 * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Added.
1551 (WebCore::SVGPaintServer::draw):
1552 (WebCore::SVGPaintServer::teardown):
1553 (WebCore::SVGPaintServer::renderPath):
1554 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Added.
1555 (WebCore::SVGPaintServerGradient::setup):
1556 * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Added.
1557 (WebCore::SVGPaintServerPattern::setup):
1558 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Added.
1559 (WebCore::SVGPaintServerSolid::setup):
1560 * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Added.
1561 (WebCore::SVGResourceClipper::applyClip):
1562 * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Added.
1563 (WebCore::SVGResourceMasker::applyMask):
1565 2007-06-13 Simon Hausmann <hausmann@kde.org>
1569 Added a make install target that installs the Qt port and renamed
1570 WebKitQt to QtWebKit
1574 2007-06-13 Adam Roben <aroben@apple.com>
1576 Fix one more BITMAPINFO/BITMAPINFOHEADER typo.
1578 Rubberstamped by Oliver.
1580 * platform/win/DragImageWin.cpp:
1581 (WebCore::allocImage):
1583 2007-06-12 Oliver Hunt <oliver@apple.com>
1587 Use correct size for BITMAPINFOHEADER -- whoops.
1589 * platform/win/CursorWin.cpp:
1590 (WebCore::Cursor::Cursor):
1591 * platform/win/PasteboardWin.cpp:
1592 (WebCore::Pasteboard::writeImage):
1594 2007-06-12 Sam Weinig <sam@webkit.org>
1598 Patch for http://bugs.webkit.org/show_bug.cgi?id=14109
1599 Cleanup JSEvent and JSClipboard in preperation for autogeneration
1601 * bindings/js/kjs_events.cpp:
1602 (KJS::DOMEvent::DOMEvent):
1603 (KJS::DOMEvent::getValueProperty):
1604 (KJS::DOMEvent::put):
1605 (KJS::DOMEvent::putValueProperty):
1606 (KJS::DOMEventPrototypeFunction::callAsFunction):
1610 (KJS::JSClipboard::JSClipboard):
1611 (KJS::JSClipboard::~JSClipboard):
1612 (KJS::JSClipboard::getOwnPropertySlot):
1613 (KJS::JSClipboard::getValueProperty):
1614 (KJS::JSClipboard::put):
1615 (KJS::JSClipboard::putValueProperty):
1616 (KJS::JSClipboardPrototypeFunction::callAsFunction):
1618 * bindings/js/kjs_events.h:
1620 (KJS::DOMEvent::impl):
1621 (KJS::JSClipboard::impl):
1622 * dom/ClipboardEvent.h:
1624 (WebCore::Event::srcElement):
1625 (WebCore::Event::returnValue):
1626 (WebCore::Event::clipboardData):
1627 (WebCore::Event::dataTransfer):
1628 (WebCore::Event::clipboard):
1631 2007-06-13 Lars Knoll <lars@trolltech.com>
1637 * platform/qt/PlugInInfoStoreQt.cpp:
1638 (WebCore::PlugInInfoStore::supportsMIMEType):
1640 2007-06-13 Lars Knoll <lars@trolltech.com>
1644 Implement the parts required for the JS bridge
1645 to know about the plugins.
1648 * platform/qt/PlugInInfoStoreQt.cpp: Added.
1649 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
1650 (WebCore::PlugInInfoStore::pluginCount):
1651 (WebCore::PlugInInfoStore::supportsMIMEType):
1652 (WebCore::refreshPlugins):
1653 * platform/qt/TemporaryLinkStubs.cpp:
1655 2007-06-10 Holger Hans Peter Freyther <zecke@selfish.org>
1659 Disable whole-view editing for the Gdk port in order to improve the browsing experience.
1661 * platform/gdk/EditorClientGdk.cpp:
1662 (WebCore::EditorClientGdk::isEditable): Return false to disable whole-view editing
1664 2007-06-08 Sam Weinig <sam@webkit.org>
1668 Patch for http://bugs.webkit.org/show_bug.cgi?id=14044
1669 Autogenerate the JS bindings for HTMLCollection
1671 - also moves JSHTMLAllCollection into it's own file.
1673 * DerivedSources.make:
1675 * WebCore.xcodeproj/project.pbxproj:
1676 * bindings/js/JSHTMLAllCollection.h: Added.
1677 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
1678 (WebCore::JSHTMLAllCollection::toBoolean):
1679 (WebCore::JSHTMLAllCollection::masqueradeAsUndefined):
1680 * bindings/js/JSHTMLCollectionCustom.cpp: Added.
1681 (WebCore::getNamedItems):
1682 (WebCore::JSHTMLCollection::callAsFunction):
1683 (WebCore::JSHTMLCollection::implementsCall):
1684 (WebCore::JSHTMLCollection::canGetItemsForName):
1685 (WebCore::JSHTMLCollection::nameGetter):
1686 (WebCore::JSHTMLCollection::item):
1687 (WebCore::JSHTMLCollection::namedItem):
1689 * bindings/js/JSHTMLDocumentCustom.cpp:
1690 (WebCore::JSHTMLDocument::nameGetter):
1691 (WebCore::JSHTMLDocument::all):
1692 * bindings/js/JSXMLHttpRequest.cpp:
1693 * bindings/js/kjs_html.cpp:
1694 (WebCore::ImageConstructorImp::ImageConstructorImp):
1695 (WebCore::ImageConstructorImp::construct):
1696 * bindings/js/kjs_html.h:
1697 (WebCore::ImageConstructorImp::implementsConstruct):
1698 * bindings/js/kjs_window.cpp:
1699 (KJS::Window::namedItemGetter):
1700 * bindings/objc/DOMUtility.mm:
1701 (KJS::createDOMWrapper):
1702 * bindings/scripts/CodeGeneratorJS.pm:
1703 * html/HTMLCollection.cpp:
1704 (WebCore::HTMLCollection::tags):
1705 * html/HTMLCollection.h:
1706 (WebCore::HTMLCollection::collectionType):
1707 * html/HTMLCollection.idl:
1708 * html/HTMLOptionsCollection.idl:
1710 2007-06-08 Justin Garcia <justin.garcia@apple.com>
1714 <rdar://problem/5232159> REGRESSION: Cannot select text in RSS view
1716 The selection is updated both on mouse movement and
1717 when the autoscroll timer fires. The autoscroll
1718 code wasn't converting mouse coordinates to layer
1719 coordinates correctly, and was then using those
1720 coordinates to create a bad selection.
1722 * rendering/RenderLayer.cpp:
1723 (WebCore::RenderLayer::autoscroll): Use convertToLayerCoordinates.
1725 2007-06-08 Anders Carlsson <andersca@apple.com>
1729 Store the root object in a hash set, keyed by the plugin view. This is in preparation for
1730 letting plugins invalidate the root object upon destruction
1733 (WebCore::Frame::createRootObject):
1734 (WebCore::Frame::cleanupScriptObjects):
1735 * page/FramePrivate.h:
1737 2007-06-08 Lars Knoll <lars@trolltech.com>
1741 Add qwebobjectpluginconnector to the build.
1745 2007-06-07 Justin Garcia <justin.garcia@apple.com>
1747 Reviewed by Tristan.
1749 <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
1751 * WebCore.exp: Added clearUndoRedoOperations.
1753 (WebCore::Page::clearUndoRedoOperations): Added.
1756 2007-06-07 David Hyatt <hyatt@apple.com>
1758 Fix crash. Null check layer. Bug 13984.
1760 Reviewed by andersca
1762 * WebCore.xcodeproj/project.pbxproj:
1763 * page/FrameView.cpp:
1764 (WebCore::FrameView::windowClipRectForLayer):
1766 2007-06-07 Oliver Hunt <oliver@apple.com>
1770 Remove incorrect assertions.
1772 These assertions were made on the assumption that
1773 TSM would always call with a range that was contained
1774 by an editable region.
1776 TSM may call -[WebHTMLView characterIndexForPoint:] on a mouse
1777 event that is otherwise unrelated to editing, which may
1778 be outside the current editing region, triggering these
1781 * page/mac/WebCoreFrameBridge.mm:
1782 (-[WebCoreFrameBridge convertToNSRange:]):
1784 2007-06-07 Justin Garcia <justin.garcia@apple.com>
1788 <rdar://problem/5237074> REGRESSION: editing/unsupported-content/table-delete-003 is failing (13931)
1790 * editing/DeleteSelectionCommand.cpp:
1791 (WebCore::DeleteSelectionCommand::initializeStartEnd):
1792 We wouldn't expand the selection to include a special element
1793 at the start of the selection unless the end of the selection
1794 was at the end of a special element. Avoid a special
1795 element at the start as long as it's fully selected. Ditto for
1797 * editing/htmlediting.cpp:
1798 (WebCore::positionBeforeContainingSpecialElement):
1799 (WebCore::positionAfterContainingSpecialElement):
1801 2007-06-07 Sam Weinig <sam@webkit.org>
1805 Patch for http://bugs.webkit.org/show_bug.cgi?id=14028
1806 Finish autogenerating the JS bindings for Node
1808 * DerivedSources.make:
1810 * WebCore.xcodeproj/project.pbxproj:
1811 * bindings/js/JSHTMLElementWrapperFactory.cpp:
1812 (WebCore::createJSHTMLWrapper):
1813 * bindings/js/JSHTMLElementWrapperFactory.h:
1814 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1815 * bindings/js/JSNamedNodeMapCustom.cpp:
1816 * bindings/js/JSNodeCustom.cpp:
1817 (WebCore::JSNode::insertBefore):
1818 (WebCore::JSNode::replaceChild):
1819 (WebCore::JSNode::removeChild):
1820 (WebCore::JSNode::appendChild):
1821 (WebCore::JSNode::mark):
1823 * bindings/js/JSSVGElementWrapperFactory.cpp:
1824 (WebCore::createJSSVGWrapper):
1825 * bindings/js/JSSVGElementWrapperFactory.h:
1826 * bindings/js/JSXSLTProcessor.cpp:
1827 (KJS::XSLTProcessorPrototypeFunction::callAsFunction):
1828 * bindings/js/kjs_binding.cpp:
1829 (KJS::ScriptInterpreter::getDOMNodeForDocument):
1830 (KJS::ScriptInterpreter::putDOMNodeForDocument):
1831 (KJS::ScriptInterpreter::markDOMNodesForDocument):
1832 (KJS::ScriptInterpreter::updateDOMNodeDocument):
1833 * bindings/js/kjs_binding.h:
1834 * bindings/js/kjs_dom.cpp:
1836 * bindings/js/kjs_dom.h:
1837 * bindings/js/kjs_domnode.h: Removed.
1838 * bindings/objc/DOMUtility.mm:
1839 (KJS::createDOMWrapper):
1840 * bindings/scripts/CodeGeneratorJS.pm:
1842 (WebCore::Node::parentElement):
1845 2007-06-07 Sam Weinig <sam@webkit.org>
1847 Another Gdk and Qt build fix.
1851 2007-06-07 Sam Weinig <sam@webkit.org>
1853 Gdk and Qt build fix.
1857 2007-06-06 Sam Weinig <sam@webkit.org>
1861 Patch for http://bugs.webkit.org/show_bug.cgi?id=13973
1862 Autogenerate most of the rest of kjs_dom.h/cpp
1864 - Autogenerate JSNodeList and JSNamedNodeMap.
1865 - Move JSEventTargetNode, JSNamedNodesCollection, and JSDOMExceptionConstructor
1866 into their own files.
1867 - Rename KJS::DOMEventTargeNode to WebCore::JSEventTargetNode to adhere
1868 to convention and allow easier code generation.
1869 - Add JS constructors for JSNodeList and JSNamedNodeMap.
1870 - Moved more toJS methods into the correct (corresponding) header files.
1871 - Cleaned up code in order for changes to work.
1873 * DerivedSources.make:
1874 * WebCore.xcodeproj/project.pbxproj:
1875 * bindings/js/JSDOMExceptionConstructor.cpp: Added.
1877 (WebCore::JSDOMExceptionConstructor::JSDOMExceptionConstructor):
1878 (WebCore::JSDOMExceptionConstructor::getOwnPropertySlot):
1879 (WebCore::JSDOMExceptionConstructor::getValueProperty):
1880 (WebCore::getDOMExceptionConstructor):
1881 * bindings/js/JSDOMExceptionConstructor.h: Added.
1882 (WebCore::JSDOMExceptionConstructor::classInfo):
1883 * bindings/js/JSDOMWindowCustom.cpp: Added.
1884 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1885 * bindings/js/JSDocumentCustom.cpp:
1886 (WebCore::JSDocument::mark):
1888 * bindings/js/JSEventTargetNode.cpp: Added.
1889 (WebCore::JSEventTargetNode::JSEventTargetNode):
1890 (WebCore::JSEventTargetNode::getOwnPropertySlot):
1891 (WebCore::JSEventTargetNode::getValueProperty):
1892 (WebCore::JSEventTargetNode::put):
1893 (WebCore::JSEventTargetNode::putValueProperty):
1894 (WebCore::JSEventTargetNode::setListener):
1895 (WebCore::JSEventTargetNode::getListener):
1896 (WebCore::JSEventTargetNode::pushEventHandlerScope):
1897 (WebCore::JSEventTargetNodePrototypeFunction::callAsFunction):
1898 (WebCore::toEventTargetNode):
1899 * bindings/js/JSEventTargetNode.h: Added.
1900 (WebCore::JSEventTargetNode::):
1901 * bindings/js/JSHTMLElementCustom.cpp:
1902 * bindings/js/JSHTMLFormElementCustom.cpp:
1903 (WebCore::JSHTMLFormElement::nameGetter):
1904 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1905 * bindings/js/JSNamedNodeMapCustom.cpp: Added.
1906 (WebCore::JSNamedNodeMap::canGetItemsForName):
1907 (WebCore::JSNamedNodeMap::nameGetter):
1908 * bindings/js/JSNamedNodesCollection.cpp: Added.
1910 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
1911 (WebCore::JSNamedNodesCollection::lengthGetter):
1912 (WebCore::JSNamedNodesCollection::indexGetter):
1913 (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
1914 * bindings/js/JSNamedNodesCollection.h: Added.
1915 (WebCore::JSNamedNodesCollection::classInfo):
1916 * bindings/js/JSNodeCustom.cpp: Added.
1918 * bindings/js/JSNodeListCustom.cpp: Added.
1919 (WebCore::JSNodeList::callAsFunction):
1920 (WebCore::JSNodeList::implementsCall):
1921 (WebCore::JSNodeList::canGetItemsForName):
1922 (WebCore::JSNodeList::nameGetter):
1923 * bindings/js/kjs_dom.cpp:
1924 * bindings/js/kjs_dom.h:
1925 * bindings/js/kjs_domnode.h:
1926 * bindings/js/kjs_events.cpp:
1927 (KJS::JSLazyEventListener::parseCode):
1928 * bindings/js/kjs_html.cpp:
1929 (KJS::JSHTMLCollection::getNamedItems):
1930 * bindings/js/kjs_html.h:
1931 * bindings/js/kjs_window.cpp:
1933 * bindings/js/kjs_window.h:
1934 * bindings/objc/DOMInternal.mm:
1935 (-[WebScriptObject _initializeScriptDOMNodeImp]):
1936 * bindings/objc/DOMUtility.mm:
1937 (KJS::createDOMWrapper):
1938 * bindings/scripts/CodeGeneratorJS.pm:
1939 * bridge/mac/WebCoreAXObject.mm:
1941 * dom/CharacterData.idl:
1943 * dom/DocumentFragment.idl:
1944 * dom/DocumentType.idl:
1946 * dom/NamedNodeMap.idl:
1949 * page/DOMWindow.idl:
1951 2007-06-06 Justin Garcia <justin.garcia@apple.com>
1955 <rdar://problem/5245519> CrashTracer: [USER] 457 crashes in Mail at WebCore::CSSComputedStyleDeclaration::copyInheritableProperties()
1957 If the user pastes something into a region that ends up being
1958 invisible, or if the pasted content contains style spans
1959 that are render-less, we'll crash when we try to remove
1960 redundant styles from style spans.
1962 * css/CSSComputedStyleDeclaration.cpp:
1963 (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
1966 2007-06-06 Justin Garcia <justin.garcia@apple.com>
1968 Reviewed by Harrison.
1970 <rdar://problem/4889598> Problems with moveDown: and moveUp: in Notes with ToDos
1972 The caret would disappear when moving from content above or below
1973 a ToDo if that ToDo doesn't have any content in it with the same
1974 x position as the caret. That's because closestLeafChildForXPos
1975 would return non-editable leaves, and which turn into non-editable
1976 VisiblePositions, which are invisible.
1978 * editing/visible_units.cpp:
1979 (WebCore::previousLinePosition): Ask closestLeafForXPos to only
1980 return editable leaves.
1981 (WebCore::nextLinePosition): Ditto.
1982 * rendering/RootInlineBox.cpp:
1983 (WebCore::isEditableLeaf): Added.
1984 (WebCore::RootInlineBox::closestLeafChildForXPos): If requested,
1985 return the closest editable leaf. Removed an early return if the
1986 position is before the first leaf, it's not really much of an
1988 * rendering/RootInlineBox.h:
1990 2007-06-06 Sam Weinig <sam@webkit.org>
1996 * bindings/objc/DOM.mm:
1997 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Add missing null initialization.
1998 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Add missing null initialization.
2000 2007-06-06 Sam Weinig <sam@webkit.org>
2004 Patch for http://bugs.webkit.org/show_bug.cgi?id=13947
2005 Finish autogenerating the JS DOM traversal code
2007 - Completely generate JSNodeFilter.
2008 - Move JSNodeFilterCondition into its own file
2010 * DerivedSources.make:
2012 * WebCore.xcodeproj/project.pbxproj:
2013 * bindings/js/JSNodeFilterCondition.cpp: Copied from WebCore/bindings/js/kjs_traversal.cpp.
2014 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2015 (WebCore::JSNodeFilterCondition::mark):
2016 (WebCore::JSNodeFilterCondition::acceptNode):
2017 * bindings/js/JSNodeFilterCondition.h: Copied from WebCore/bindings/js/kjs_traversal.h.
2018 * bindings/js/JSNodeFilterCustom.cpp: Added.
2019 (WebCore::JSNodeFilter::mark):
2020 (WebCore::toNodeFilter):
2021 * bindings/js/kjs_dom.cpp:
2022 * bindings/js/kjs_traversal.cpp: Removed.
2023 * bindings/js/kjs_traversal.h: Removed.
2024 * bindings/js/kjs_window.cpp:
2025 * bindings/objc/DOM.mm:
2026 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
2027 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
2028 * bindings/scripts/CodeGeneratorJS.pm:
2030 (WebCore::Document::createNodeIterator):
2031 (WebCore::Document::createTreeWalker):
2033 * dom/NodeFilter.idl:
2035 2007-06-06 Alp Toker <alp.toker@collabora.co.uk>
2037 Reviewed by Eric Seidel.
2039 http://bugs.webkit.org/show_bug.cgi?id=14017
2040 Cairo: Unwanted gradient effect for small stretched images
2042 * platform/graphics/cairo/ImageCairo.cpp: Use CAIRO_FILTER_NEAREST to
2043 work around the issue.
2044 (WebCore::BitmapImage::draw):
2045 (WebCore::Image::drawPattern):
2047 2007-06-06 Lars Knoll <lars@trolltech.com>
2051 Add an API to create and load plugins.
2052 Don't include moc files by hand anymore, rather let
2056 * platform/qt/MimeTypeRegistryQt.cpp:
2058 (WebCore::MimeTypeRegistry::getMIMETypeForExtension):
2059 * platform/qt/QWebPopup.cpp:
2060 * platform/qt/SharedTimerQt.cpp:
2062 2007-06-06 Mark Rowe <mrowe@apple.com>
2066 * rendering/RenderTextControl.cpp: Fix case of #include filename.
2068 2007-06-06 Lars Knoll <lars@trolltech.com>
2072 Define WTF_USE_NPOBJECT for Qt. Fix includes
2073 in HTMLPluginElement and add proper forwarding headers
2074 from JavaScriptCore.
2076 * ForwardingHeaders/bindings/npruntime.h: Added.
2077 * ForwardingHeaders/bindings/runtime.h: Added.
2079 * html/HTMLPlugInElement.cpp:
2080 * html/HTMLPlugInElement.h:
2082 2007-06-06 David Hyatt <hyatt@apple.com>
2084 Bulletproof windowClipRect, since it can be called at crazy times.
2085 Part of fix for 13972.
2089 * bindings/objc/DOM.mm:
2090 (-[DOMElement _windowClipRect]):
2092 2007-06-05 MorganL <morganl.webkit@yahoo.com>
2094 Reviewed by Dave Hyatt.
2096 Fixes http://bugs.webkit.org/show_bug.cgi?id=14008
2098 * rendering/RenderTextControl.cpp:
2099 (WebCore::RenderTextControl::calcHeight):
2100 (WebCore::RenderTextControl::calcPrefWidths):
2102 2007-06-05 Kevin McCullough <kmccullough@apple.com>
2104 - Respelling Oliver's name right.
2106 2007-06-05 Kevin McCullough <kmccullough@apple.com>
2108 Reviewed by Mark and Oliver.
2110 - http://bugs.webkit.org/show_bug.cgi?id=13352 REGRESSION: Gmail hangs on send message.
2111 - Now we don't hang, but we do so by avoiding certain legitimate characters, the evangelism bug for this is: <rdar://problem/5252577> gmail does not accept legal characters in the form boundary
2113 * html/HTMLFormElement.cpp:
2114 (WebCore::getUniqueBoundaryString):
2116 2007-06-05 Anders Carlsson <andersca@apple.com>
2120 * xml/xmlhttprequest.cpp:
2121 (WebCore::isValidToken):
2123 2007-06-05 Anders Carlsson <andersca@apple.com>
2127 <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader
2128 <rdar://problem/5246208> HTTP injection in XMLHttpRequest.open method parameter
2129 <rdar://problem/5246242> HTTP header injection in HXMLHttpRequest.setRequestHeader header parameter
2131 Check method names, header names and header values and throw exceptions if any of them are
2132 invalid. This is what the new XMLHttpRequest spec states that we should do.
2134 * xml/xmlhttprequest.cpp:
2135 (WebCore::isValidToken):
2136 (WebCore::isValidHeaderValue):
2137 (WebCore::XMLHttpRequest::open):
2138 (WebCore::XMLHttpRequest::setRequestHeader):
2140 2007-06-05 Sam Weinig <sam@webkit.org>
2144 Optimize JSCSSStyleDeclaration after performance regression in r21854.
2146 - Check static table before name getter in JSCSSStyleDeclaration::getOwnPropertySlot()
2147 - Get rid of a string allocation by keeping string as KJS::Identifier for canGetItemsForName()
2150 * WebCore.xcodeproj/project.pbxproj:
2151 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2152 (WebCore::JSCSSStyleDeclaration::canGetItemsForName):
2153 * bindings/js/JSHTMLAppletElementCustom.cpp:
2154 (WebCore::JSHTMLAppletElement::canGetItemsForName):
2155 * bindings/js/JSHTMLDocumentCustom.cpp:
2156 (WebCore::JSHTMLDocument::canGetItemsForName):
2157 * bindings/js/JSHTMLEmbedElementCustom.cpp:
2158 (WebCore::JSHTMLEmbedElement::canGetItemsForName):
2159 * bindings/js/JSHTMLFormElementCustom.cpp:
2160 (WebCore::JSHTMLFormElement::canGetItemsForName):
2161 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2162 (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
2163 * bindings/js/JSHTMLObjectElementCustom.cpp:
2164 (WebCore::JSHTMLObjectElement::canGetItemsForName):
2165 * bindings/scripts/CodeGeneratorJS.pm:
2166 * css/CSSStyleDeclaration.idl:
2168 2007-06-04 Sam Weinig <sam@webkit.org>
2170 Reviewed, tweaked and landed by Anders.
2172 <rdar://problem/5247178> REGRESSION: With CSS Edit 2.5, a crash occurs at WebCore::DeprecatedString::DeprecatedString when page fails to be extracted
2174 Null check the provisional document loader. If an application stops the load
2175 inside of the didFailProvisionalLoad delegate method, the provisional document loader will be nulled out.
2177 * loader/FrameLoader.cpp:
2178 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2180 2007-06-04 Alp Toker <alp.toker@collabora.co.uk>
2184 http://bugs.webkit.org/show_bug.cgi?id=13986
2185 Cairo graphics fixes and cleanups
2187 * platform/graphics/ImageBuffer.h:
2188 * platform/graphics/cairo/ImageBufferCairo.cpp:
2189 (WebCore::ImageBuffer::surface): Provide surface() accessor.
2190 * platform/graphics/cairo/AffineTransformCairo.cpp:
2191 (WebCore::AffineTransform::rotate): Convert from degrees to radians to
2193 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2194 (WebCore::GraphicsContext::drawRect): Add save/restore.
2195 (WebCore::GraphicsContext::rotate): Rename parameter to "radians" to
2196 avoid further confusion.
2197 * platform/graphics/cairo/PathCairo.cpp:
2198 (WebCore::Path::boundingRect): The cairo_fill_extents() parameters do
2199 not describe a point/size but rather the two control points of the
2201 (WebCore::Path::contains): Remove needless casts.
2203 2007-06-04 Sam Weinig <sam@webkit.org>
2205 Reviewed by Adam Roben.
2209 * rendering/RenderSVGContainer.cpp:
2210 (WebCore::RenderSVGContainer::layout):
2212 2007-06-04 Justin Garcia <justin.garcia@apple.com>
2214 Reviewed by Kimon Tsinteris.
2216 <rdar://problem/5241148> REGRESSION: ActivEdit can't perform operations on certain selections
2218 Return valid equivalents from these methods (no [img, 1] for
2219 example). ActivEdit was using positions returned from these
2220 methods to create new DOM Ranges.
2222 * editing/SelectionController.cpp:
2223 (WebCore::SelectionController::baseNode):
2224 (WebCore::SelectionController::baseOffset):
2225 (WebCore::SelectionController::extentNode):
2226 (WebCore::SelectionController::extentOffset):
2227 (WebCore::SelectionController::anchorNode):
2228 (WebCore::SelectionController::anchorOffset):
2229 (WebCore::SelectionController::focusNode):
2230 (WebCore::SelectionController::focusOffset):
2231 * editing/SelectionController.h:
2233 2007-06-04 Rob Buis <buis@kde.org>
2235 Fix the svg experimental build.
2237 * ksvg2/svg/SVGFEFloodElement.cpp:
2239 2007-06-04 Rob Buis <buis@kde.org>
2243 http://bugs.webkit.org/show_bug.cgi?id=6170
2244 CSS1: Properties for :first-letter aren't recalculated on color change
2246 Mark styles with first-letter as unique.
2248 * css/cssstyleselector.cpp:
2249 (WebCore::CSSStyleSelector::styleForElement):
2251 2007-06-01 Anders Carlsson <acarlsson@apple.com>
2253 Reviewed by David Harrison.
2255 <rdar://problem/5236843>
2256 CrashTracer: [USER] 3 crashes in Mail at WebCore::Loader::didReceiveResponse(WebCore::SubresourceLoader*, WebCore::ResourceResponse const&)
2258 This is by no means the best solution for handling user style sheets. I've filed <rdar://problem/5244734>
2261 * loader/loader.cpp:
2262 (WebCore::Loader::didReceiveResponse):
2263 If a load starts while the frame is still in the provisional state
2264 (this can be the case when loading the user style sheet), committing the load then causes all
2265 requests to be removed from the m_requestsLoading map. This means that req might be null here.
2266 In that case we just return early.
2268 2007-06-01 Mitz Pettel <mitz@webkit.org>
2272 - fix http://bugs.webkit.org/show_bug.cgi?id=13958
2273 REGRESSION: Form select menu in iframe destroys form select menu on page
2275 * page/mac/EventHandlerMac.mm:
2276 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Instead of calling
2277 the event handler methods directly, post the fake event on the application event
2278 queue. This ensures that the fake event is handled only after handling of the
2279 initiating event has ended, and is seen by ancestor frames' event handlers.
2281 2007-06-01 George Staikos <staikos@kde.org>
2285 Redo the build fix again after it was backed out
2287 * WebCore.pro: add an include guard around CSSGrammar.h
2289 2007-05-31 Geoffrey Garen <ggaren@apple.com>
2291 Reviewed by Beth Dakin.
2293 Fixed <rdar://problem/5238177> Continuing after hitting breakpoint doesn't
2294 execute the next step.
2296 No test because the only code affected is the debugger, and none of the
2297 relevant API is exported.
2299 Reverted an accidental change in 21324 that caused originRootObject for
2300 the window object always to be 0. We could probably just remove the debugger's
2301 dependency on originRootObject, but I wanted to be safe.
2303 * page/mac/FrameMac.mm:
2304 (WebCore::Frame::windowScriptObject):
2306 2007-05-31 David Hyatt <hyatt@apple.com>
2308 Fix for 11768, Flash plugin does not respect clips set via CSS.
2312 * bindings/objc/DOM.mm:
2313 (-[DOMElement _windowClipRect]):
2314 * bindings/objc/DOMPrivate.h:
2315 * page/FrameView.cpp:
2316 (WebCore::FrameView::windowClipRect):
2317 (WebCore::FrameView::windowClipRectForLayer):
2318 * platform/ScrollView.h:
2319 (WebCore::ScrollView::contentsToWindow):
2320 (WebCore::ScrollView::windowToContents):
2321 * platform/mac/ScrollViewMac.mm:
2322 (WebCore::ScrollView::contentsToWindow):
2323 (WebCore::ScrollView::windowToContents):
2325 2007-05-31 Sam Weinig <sam@webkit.org>
2331 * ksvg2/svg/SVGSVGElement.cpp:
2332 (WebCore::SVGSVGElement::setCurrentScale):
2334 2007-05-31 Sam Weinig <sam@webkit.org>
2336 Fix Qt and Gdk builds.
2338 * WebCore.pro: remove bindings/js/JSHTMLAnchorElementCustom.cpp
2340 2007-05-31 Sam Weinig <sam@webkit.org>
2344 Patch for http://bugs.webkit.org/show_bug.cgi?id=10782
2345 Classes should not override JSObject::toString(ExecState *)
2347 Remove all overrides of JSObject::toString and JSObject::toPrimitive
2348 which is a bad practice. Instead, if an object, like the
2349 HTMLAnchorElement, needs to override to toString, it should add
2350 a function to the JS object which will be called when needed. This
2351 also allows developers to override toString and valueOf from within JS.
2353 Test: fast/js/toString-and-valueOf-override.html
2355 * WebCore.xcodeproj/project.pbxproj:
2356 * bindings/js/JSHTMLAnchorElementCustom.cpp: Removed.
2357 * bindings/js/kjs_binding.cpp:
2358 * bindings/js/kjs_binding.h:
2359 * bindings/js/kjs_dom.cpp:
2360 * bindings/js/kjs_dom.h:
2361 * bindings/js/kjs_domnode.h:
2362 * bindings/js/kjs_window.cpp:
2364 (KJS::LocationFunc::callAsFunction):
2365 (KJS::SelectionFunc::callAsFunction):
2366 * bindings/js/kjs_window.h:
2367 * bindings/scripts/CodeGeneratorJS.pm:
2368 * html/HTMLAnchorElement.cpp:
2369 (WebCore::HTMLAnchorElement::toString):
2370 * html/HTMLAnchorElement.h:
2371 * html/HTMLAnchorElement.idl:
2373 2007-05-31 Rob Buis <buis@kde.org>
2377 http://bugs.webkit.org/show_bug.cgi?id=11272
2378 Implement currentScale(), setCurrentScale() and currentTranslate() in SVGSVGElement
2380 Allow zooming and panning, thereby implementing the above methods.
2382 * ksvg2/svg/SVGDocument.cpp:
2383 (WebCore::SVGDocument::zoomEnabled):
2384 (WebCore::SVGDocument::startPan):
2385 (WebCore::SVGDocument::updatePan):
2386 * ksvg2/svg/SVGDocument.h:
2387 * ksvg2/svg/SVGSVGElement.cpp:
2388 (WebCore::SVGSVGElement::currentScale):
2389 (WebCore::SVGSVGElement::setCurrentScale):
2390 (WebCore::SVGSVGElement::currentTranslate):
2391 (WebCore::SVGSVGElement::setCurrentTranslate):
2392 * ksvg2/svg/SVGSVGElement.h:
2393 * page/EventHandler.cpp:
2394 (WebCore::EventHandler::EventHandler):
2395 (WebCore::EventHandler::handleMousePressEvent):
2396 (WebCore::EventHandler::handleMouseMoveEvent):
2397 (WebCore::EventHandler::handleMouseReleaseEvent):
2398 * page/EventHandler.h:
2400 (WebCore::Frame::setZoomFactor):
2401 * rendering/RenderSVGContainer.cpp:
2402 (WebCore::RenderSVGContainer::layout):
2403 (WebCore::RenderSVGContainer::paint):
2404 (WebCore::RenderSVGContainer::absoluteTransform):
2405 * rendering/RenderSVGContainer.h:
2407 2007-05-31 Eric Seidel <eric@webkit.org>
2411 Links are activated based on mouse down events instead of click events
2412 http://bugs.webkit.org/show_bug.cgi?id=12570
2414 Test: svg/custom/prevent-default.svg
2416 * html/HTMLAnchorElement.cpp: use MiddleButton and RightButton instead of 1 and 2
2417 (WebCore::HTMLAnchorElement::defaultEventHandler):
2418 * ksvg2/svg/SVGAElement.cpp:
2419 (WebCore::SVGAElement::defaultEventHandler): make it function more like the HTML side
2421 2007-05-30 Maciej Stachowiak <mjs@apple.com>
2425 - fix layout test editing/style/table-selection.html
2427 This was broken by the change to keep whitespace text nodes in tables. They safely didn't render,
2428 but the font delta style change command would wrap them in spans, creating extra anonymous table
2431 * editing/ApplyStyleCommand.cpp:
2432 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Don't wrap in a span if the text node
2435 2007-05-31 Alp Toker <alp.toker@collabora.co.uk>
2437 Reviewed by Eric Seidel.
2439 http://bugs.webkit.org/show_bug.cgi?id=13941
2440 Rename WebCore/platform/network/gdk to WebCore/platform/network/curl
2444 2007-05-31 Alp Toker <alp.toker@collabora.co.uk>
2448 Patch for http://bugs.webkit.org/show_bug.cgi?id=13945
2449 GraphicsContextCairo enhancements necessary for SVG support
2451 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2452 (WebCore::GraphicsContext::concatCTM):
2453 (WebCore::GraphicsContext::beginPath):
2454 (WebCore::GraphicsContext::addPath):
2456 2007-05-31 Patti Hoa <patti@apple.com>
2460 <rdar://problem/5221920> AXLink is returning a CFString instead of a CFURL for AXURL
2462 * bridge/mac/WebCoreAXObject.mm:
2463 (-[WebCoreAXObject accessibilityAttributeValue:]):
2464 Convert the url string to an NSURL before returning as the AXURLAttribute
2466 2007-05-30 Sam Weinig <sam@webkit.org>
2470 Patch for http://bugs.webkit.org/show_bug.cgi?id=13943
2471 Autogenerate the JS bindings for the CSSStyleSheet
2473 * DerivedSources.make:
2475 * WebCore.xcodeproj/project.pbxproj:
2476 * bindings/js/JSStyleSheetCustom.cpp:
2478 * bindings/js/kjs_css.cpp:
2479 * bindings/js/kjs_css.h:
2480 * bindings/scripts/CodeGeneratorJS.pm:
2481 * css/CSSStyleSheet.cpp:
2482 (WebCore::CSSStyleSheet::addRule):
2483 (WebCore::CSSStyleSheet::cssRules):
2484 * css/CSSStyleSheet.h:
2485 (WebCore::CSSStyleSheet::rules):
2486 (WebCore::CSSStyleSheet::removeRule):
2487 * css/CSSStyleSheet.idl:
2488 * page/DOMWindow.idl:
2490 2007-05-30 Sam Weinig <sam@webkit.org>
2494 Patch for http://bugs.webkit.org/show_bug.cgi?id=13937
2495 Autogenerate the JS bindings for the CSSValue
2498 * WebCore.xcodeproj/project.pbxproj:
2499 * bindings/js/JSCSSValueCustom.cpp: Added.
2501 * bindings/js/kjs_css.cpp:
2502 * bindings/js/kjs_css.h:
2503 * bindings/objc/DOMUtility.mm:
2504 (KJS::createDOMWrapper):
2505 * bindings/scripts/CodeGeneratorJS.pm:
2507 (WebCore::CSSValue::setCssText):
2510 2007-05-30 Sam Weinig <sam@webkit.org>
2512 Reviewed by Oliver the Hun.
2514 Patch for http://bugs.webkit.org/show_bug.cgi?id=13944
2515 Generate and add missing JS constructors
2517 * css/CSSRuleList.idl:
2518 * css/CSSValueList.idl:
2520 * page/DOMWindow.idl:
2522 2007-05-30 Justin Garcia <justin.garcia@apple.com>
2526 http://bugs.webkit.org/show_bug.cgi?id=13915
2527 REGRESSION(r21687): editing/inserting/paragraph-separator-* failing pixel test (misspelling markers)
2529 After r21687, SimplifiedBackwardsTextIterator was no longer
2530 emitting a '\n' as it left the first block of a range ending
2531 at [block, 0]. So, foo<div>^<br></div> looked like foo^ to
2532 spell checking (foo wasn't marked as misspelled).
2534 After r21687, SBTI stopped emitting '\n's in the above case
2535 because 1) we stopped incorrectly emitting '\n's for nodes as
2536 we entered them and 2) we were and still are incorrectly calling
2537 code that should only be called when entering nodes as we leave
2538 them and 3) we don't call exitNode(), which is responsible
2539 for emitting the '\n' in the above testcase, when we should.
2541 Before and after r21687, we'd call exitNode() for a node as
2542 we traversed in reverse pre-order from its first descendant
2543 out to its sibling or one of its ancestors' siblings. We
2544 weren't calling it a) after we'd enter a node that could
2545 have children but had none and b) when leaving a container
2546 that contained the end of the range used to create the iterator.
2548 * editing/TextIterator.cpp:
2549 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2550 (WebCore::SimplifiedBackwardsTextIterator::advance): Call exitNode() as we
2551 leave a childless container node and a node where the range ended.
2552 * editing/TextIterator.h: Track the end of the range used to create
2553 the SimplifiedBackwardsTextIterator.
2555 2007-05-30 Alp Toker <alp.toker@collabora.co.uk>
2559 Enable logging in the Gdk port.
2560 http://bugs.webkit.org/show_bug.cgi?id=13936
2563 * platform/NotImplemented.h: Changed to use WTFLogVerbose.
2564 * platform/gdk/LoggingGdk.cpp: Added.
2565 (WebCore::InitializeLoggingChannelsIfNecessary):
2567 2007-05-30 Beth Dakin <bdakin@apple.com>
2571 Fix for <rdar://problem/5198882> CrashTracer: [USER] 7 crashes in
2572 Safari at com.apple.WebCore: WebCore::RenderBlock::layoutBlock +
2575 The problem is that we are re-entering layout when we should not.
2576 http://trac.webkit.org/projects/webkit/changeset/21778 actually
2577 fixed this crash, but we have been inspired to add the same guard
2578 in two other possibly-dangerous places.
2580 * page/FrameView.cpp:
2581 (WebCore::FrameView::layout): Add the guard in two more places.
2583 2007-05-30 Justin Garcia <justin.garcia@apple.com>
2587 <rdar://problem/5096134> VO gets stuck on Howto.apple.com
2588 http://bugs.webkit.org/show_bug.cgi?id=8622
2589 VisiblePositions aren't canonicalized in some cases
2591 No new test cases added: can't write automated tests
2594 * editing/IndentOutdentCommand.cpp:
2595 (WebCore::IndentOutdentCommand::outdentParagraph):
2596 VisiblePositions must be recomputed after nodes that
2597 may have effected their canonicalization are removed.
2598 * editing/VisiblePosition.cpp:
2599 (WebCore::canonicalizeCandidate): Added.
2600 (WebCore::VisiblePosition::canonicalPosition): Canonicalize
2601 the candidates returned by next/previousCandidate before
2603 * editing/VisiblePosition.h:
2604 (WebCore::operator==): Remove the workaround for 8622.
2605 * editing/visible_units.cpp:
2606 (WebCore::startOfParagraph): Ditto.
2608 2007-05-30 Sam Weinig <sam@webkit.org>
2610 Reviewed by Dr. Harrison.
2612 Patch for http://bugs.webkit.org/show_bug.cgi?id=13868
2613 REGRESSION: crash on accessing a new iframe's contentWindow property
2615 Adds a null check in for the contentWindow property for HTMLIFrameElement
2616 and HTMLFrameElement.
2618 * bindings/scripts/CodeGeneratorJS.pm:
2619 * html/HTMLFrameElement.idl:
2620 * html/HTMLIFrameElement.idl:
2622 2007-05-30 Mitz Pettel <mitz@webkit.org>
2626 - fix http://bugs.webkit.org/show_bug.cgi?id=13775
2627 REGRESSION: Popup button text should use "natural" directionality to match the items in the popup menu
2629 Test: fast/forms/select-writing-direction-natural.html
2631 * platform/PopupMenu.h: Added the static method itemWritingDirectionIsNatural
2632 which says whether items in the popup ignore the CSS text-align and direction
2633 properties and instead are left-aligned and use natural writing direction.
2634 * platform/gdk/PopupMenuGdk.cpp:
2635 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2636 * platform/mac/PopupMenuMac.mm:
2637 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2638 * platform/qt/PopupMenuQt.cpp:
2639 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2640 * platform/win/TemporaryLinkStubs.cpp:
2641 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2642 * platform/wx/TemporaryLinkStubs.cpp:
2643 (PopupMenu::itemWritingDirectionIsNatural):
2644 * rendering/RenderMenuList.cpp:
2645 (WebCore::textDirectionForParagraph): Added this helper function that uses
2646 the Unicode Bidi Algorithm rules P2 and P3 to determine the writing direction
2648 (WebCore::RenderMenuList::adjustInnerStyle): Made the alignment and direction
2649 adjustment conditional on the popup implementation.
2650 (WebCore::RenderMenuList::setText): Added call to adjustInnerStyle() since
2651 the style depends on the text when natural writing direction is used.
2653 2007-05-30 Timothy Hatcher <timothy@apple.com>
2657 <rdar://problem/5200795> REGRESSION (r21057): lineBoxRects doesn't match actual text when wrapping occurs
2659 Use box->end() instead of box->len().
2661 * rendering/RenderText.cpp:
2662 (WebCore::RenderText::addLineBoxRects):
2664 2007-05-30 Sam Weinig <sam@webkit.org>
2668 Patch for http://bugs.webkit.org/show_bug.cgi?id=13919
2669 Autogenerate the JS bindings for the CSSRule and its subclasses
2671 - subclasses generated are CSSCharsetRule, CSSFontFaceRule, CSSImportRule
2672 CSSMediaRule, CSSPageRule and CSSStyleRule.
2674 * DerivedSources.make:
2676 * WebCore.xcodeproj/project.pbxproj:
2677 * bindings/js/JSCSSRuleCustom.cpp: Added.
2679 * bindings/js/kjs_css.cpp:
2680 * bindings/js/kjs_css.h:
2681 * bindings/objc/DOMUtility.mm:
2682 (KJS::createDOMWrapper):
2683 * bindings/scripts/CodeGeneratorJS.pm:
2684 * css/CSSCharsetRule.h:
2685 (WebCore::CSSCharsetRule::setEncoding):
2686 * css/CSSCharsetRule.idl:
2687 * css/CSSFontFaceRule.idl:
2688 * css/CSSImportRule.idl:
2689 * css/CSSMediaRule.idl:
2690 * css/CSSPageRule.cpp:
2691 (WebCore::CSSPageRule::setSelectorText):
2692 * css/CSSPageRule.h:
2693 * css/CSSPageRule.idl:
2695 (WebCore::CSSRule::setCssText):
2698 * css/CSSStyleRule.cpp:
2699 (WebCore::CSSStyleRule::setSelectorText):
2700 * css/CSSStyleRule.h:
2701 * css/CSSStyleRule.idl:
2702 * page/DOMWindow.idl: add new constructors.
2704 2007-05-30 Mark Rowe <mrowe@apple.com>
2706 Build fixes after r21889. Add missing #includes.
2708 * ForwardingHeaders/kjs/function.h: Added.
2709 * bindings/js/kjs_binding.h:
2710 * bindings/js/kjs_dom.h:
2711 * bindings/js/kjs_window.h:
2713 2007-05-30 Mark Rowe <mrowe@apple.com>
2715 Gdk build fix. Update WidgetGdk to use NotImplemented.h.
2717 * platform/gdk/WidgetGdk.cpp:
2718 (WebCore::Widget::setEnabled):
2719 (WebCore::Widget::isEnabled):
2720 (WebCore::Widget::removeFromParent):
2721 (WebCore::Widget::paint):
2722 (WebCore::Widget::setIsSelected):
2724 2007-05-29 Holger Freyther <zecke@selfish.org>
2728 Make ScrollView use a GtkLayout. This class matches QScrollView the most and promises
2729 to ease the implementation of ScrollView::addChild. GtkLayout should be resource friendly
2730 even with huge width and heights of frames.
2731 Make Widget aware of GtkLayout to use the right GdkWindow as drawable. For GtkLayout one must
2732 draw on the bin_window.
2733 Remove the layer violation from FrameGdk.cpp and ScrollView. FrameGdk is no longer responsible to
2734 implement scrolling on keyboard events. ScrollView is no longer required to know that it could be
2735 a FrameView and handles scrolling of Frames magically.
2737 * platform/ScrollView.h:
2738 * platform/gdk/FrameGdk.cpp:
2739 (WebCore::FrameGdk::keyPress):
2740 (WebCore::FrameGdk::handleGdkEvent):
2741 * platform/gdk/ScrollViewGdk.cpp:
2742 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2743 (WebCore::ScrollView::updateContents):
2744 (WebCore::ScrollView::visibleWidth):
2745 (WebCore::ScrollView::visibleHeight):
2746 (WebCore::ScrollView::visibleContentRect):
2747 (WebCore::ScrollView::resizeContents):
2748 (WebCore::ScrollView::contentsX):
2749 (WebCore::ScrollView::contentsY):
2750 (WebCore::ScrollView::scrollOffset):
2751 (WebCore::ScrollView::scrollBy):
2752 (WebCore::ScrollView::setFrameGeometry):
2753 (WebCore::ScrollView::updateGeometry):
2754 (WebCore::ScrollView::setGtkWidget):
2755 (WebCore::ScrollView::updateScrollbars):
2756 (WebCore::ScrollView::windowToContents):
2757 (WebCore::ScrollView::contentsToWindow):
2758 (WebCore::ScrollView::scrollbarUnderMouse):
2759 * platform/gdk/TemporaryLinkStubs.cpp: Move Widget methods to WidgetGdk.cpp
2760 * platform/gdk/WidgetGdk.cpp:
2761 (WebCore::Widget::setGtkWidget):
2762 (WebCore::Widget::setFrameGeometry):
2763 (WebCore::Widget::setEnabled):
2764 (WebCore::Widget::isEnabled):
2765 (WebCore::Widget::removeFromParent):
2766 (WebCore::Widget::paint):
2767 (WebCore::Widget::setIsSelected):
2768 (WebCore::Widget::invalidate):
2769 (WebCore::Widget::invalidateRect):
2771 2007-05-29 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
2775 Curl (linux/gdk) networking improvements:
2777 b) don't use CURL in a re-entrant way.
2778 c) turn on curl's internal debugging support in a debug build if the DEBUG_CURL environment variable is set.
2780 * platform/network/ResourceHandleInternal.h:
2781 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2782 * platform/network/gdk/ResourceHandleCurl.cpp:
2783 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2784 * platform/network/gdk/ResourceHandleManager.cpp:
2785 (WebCore::ResourceHandleManager::ResourceHandleManager):
2786 (WebCore::writeCallback):
2787 (WebCore::ResourceHandleManager::downloadTimerCallback):
2788 (WebCore::ResourceHandleManager::setupPOST):
2789 (WebCore::ResourceHandleManager::add):
2790 (WebCore::ResourceHandleManager::removeScheduledJob):
2791 (WebCore::ResourceHandleManager::startScheduledJobs):
2792 (WebCore::ResourceHandleManager::startJob):
2793 (WebCore::ResourceHandleManager::cancel):
2794 * platform/network/gdk/ResourceHandleManager.h:
2795 (WebCore::ResourceHandleList::ResourceHandleList):
2796 (WebCore::ResourceHandleList::next):
2797 (WebCore::ResourceHandleList::job):
2798 (WebCore::ResourceHandleList::setRemoved):
2799 (WebCore::ResourceHandleList::removed):
2801 2007-05-29 Sam Weinig <sam@webkit.org>
2803 Fix the Qt and Gdk builds.
2807 2007-05-29 Adele Peterson <adele@apple.com>
2811 Fix for <rdar://problem/5109711> REGRESSION: Focus ring artifacts appear around a widget's search field at times (Address Book, Dictionary)
2813 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintSearchField):
2814 We only need this hack for drawing the search field focus ring on Tiger. On Leopard, drawWithFrame correctly draws the cell's focus ring.
2816 2007-05-29 Alp Toker <alp.toker@collabora.co.uk>
2820 Patch for http://bugs.webkit.org/show_bug.cgi?id=13899
2822 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2823 (WebCore::GraphicsContext::strokeArc): Use cairo_arc_negative() to fix
2824 CSS rounded borders.
2825 (WebCore::GraphicsContext::beginTransparencyLayer):
2826 (WebCore::GraphicsContext::endTransparencyLayer): save/restore is
2827 redundant. push/pop group does this implicitly.
2829 2007-05-29 Sam Weinig <sam@webkit.org>
2833 Patch for http://bugs.webkit.org/show_bug.cgi?id=13912
2834 Autogenerate the JS bindings for the MediaList
2836 * DerivedSources.make:
2837 * WebCore.xcodeproj/project.pbxproj:
2838 * bindings/js/kjs_css.cpp:
2839 * bindings/js/kjs_css.h:
2840 * bindings/objc/DOMUtility.mm:
2841 (KJS::createDOMWrapper):
2842 * bindings/scripts/CodeGeneratorJS.pm:
2843 * css/MediaList.idl:
2844 * page/DOMWindow.idl: Add constructor.
2846 2007-05-29 Matt Perry <mpComplete@gmail.com>
2850 Fixed some rendering issues for <select>s on Windows.
2852 * rendering/RenderThemeWin.cpp:
2853 (WebCore::RenderThemeWin::adjustMenuListStyle):
2854 (WebCore::RenderThemeWin::paintMenuList):
2855 * rendering/RenderThemeWin.h:
2857 2007-05-29 David Hyatt <hyatt@apple.com>
2859 Fold the invalidateVerticalPositions crawl into the bidi iteration.
2860 This makes it more correct (since we won't drill into elements that
2861 did not need to be reset) and cuts out an extra walk of all our children.
2862 We're still O(n^2) as new content streams in, but this at least cuts
2863 out one separate O(n^2) crawl.
2867 * rendering/RenderObject.cpp:
2868 * rendering/RenderObject.h:
2869 (WebCore::RenderObject::invalidateVerticalPosition):
2870 * rendering/bidi.cpp:
2871 (WebCore::RenderBlock::layoutInlineChildren):
2873 2007-05-29 Sam Weinig <sam@webkit.org>
2877 Patch for http://bugs.webkit.org/show_bug.cgi?id=13908
2878 Autogenerate the JS bindings for the StyleSheet
2880 * DerivedSources.make:
2881 * WebCore.xcodeproj/project.pbxproj:
2882 * bindings/js/JSStyleSheetCustom.cpp: Added.
2884 (WebCore::JSStyleSheet::toBoolean):
2885 * bindings/js/kjs_css.cpp:
2887 (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
2888 (KJS::DOMCSSStyleSheet::getOwnPropertySlot):
2889 * bindings/js/kjs_css.h:
2890 * bindings/objc/DOMUtility.mm:
2891 (KJS::createDOMWrapper):
2892 * bindings/scripts/CodeGeneratorJS.pm:
2893 * css/StyleSheet.idl:
2894 * page/DOMWindow.idl: Add new constructor.
2896 2007-05-29 David Hyatt <hyatt@apple.com>
2898 Make sure <embed> does not allow an end tag.
2902 * html/HTMLEmbedElement.h:
2903 (WebCore::HTMLEmbedElement::endTagRequirement):
2905 2007-05-29 Adele Peterson <adele@apple.com>
2909 Fix for <rdar://problem/5213039> REGRESSION: Wells Fargo registration page returns blank
2911 Roll out updated fix for 11866 that tried to make reset work for hidden inputs. Since
2912 all browsers update the value attribute when setting the value, it doesn't really make sense to reset.
2913 Its true that IE does support resetting these controls, but in this case, it doesn't really make sense to have
2914 another place to store an alternate version of the value.
2916 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::reset):
2917 * html/HTMLInputElement.h:
2919 2007-05-29 Darin Adler <darin@apple.com>
2923 - removed the general case optimization for innerHTML because some sites
2924 rely on setting innerHTML to trigger loading plug-ins for example; we
2925 could consider bringing it back some day, perhaps with a list of element
2928 * dom/CharacterData.cpp: (WebCore::CharacterData::setData):
2929 Do nothing if the old data is identical to the new data.
2931 * html/HTMLElement.cpp:
2932 (WebCore::replaceChildrenWithFragment): Remove childrenAreEqual optimization.
2933 (WebCore::replaceChildrenWithText): Remove optimization for cases where the
2934 text data is identical to the new data, since CharacterData handles that now.
2935 (WebCore::HTMLElement::setOuterHTML): Remove childrenAreEqual optimization.
2937 2007-05-29 Mitz Pettel <mitz@webkit.org>
2941 - fix http://bugs.webkit.org/show_bug.cgi?id=13904
2942 REGRESSION: Search fields with a results popup do not always draw the popup arrow
2944 Covered by fast/forms/box-shadow-override.html
2946 The search button draws a popup arrow depending on whether the
2947 search menu template is set, rather than on the maximum number of recent
2950 * rendering/RenderThemeMac.h:
2951 * rendering/RenderThemeMac.mm:
2952 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Removed the
2953 call to -setMaxmiumRecents:.
2954 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Replaced calling
2955 -setMaximumRecents: with setting the search menu template.
2956 (WebCore::RenderThemeMac::search): Removed initialization of the menu.
2957 (WebCore::RenderThemeMac::searchMenuTemplate): Added. Returns an empty
2958 NSMenu to be used as the search menu template.
2960 2007-05-29 David Hyatt <hyatt@apple.com>
2962 Fix for bug 13907, <noscript> should be allowed inside <head> when
2963 scripting is enabled.
2967 * html/HTMLHeadElement.cpp:
2968 (WebCore::HTMLHeadElement::checkDTD):
2969 * html/HTMLParser.cpp:
2970 (WebCore::HTMLParser::handleError):
2971 * html/HTMLParserErrorCodes.cpp:
2972 (WebCore::htmlParserErrorMessageTemplate):
2973 * html/HTMLParserErrorCodes.h:
2975 2007-05-29 Mitz Pettel <mitz@webkit.org>
2979 - fix crash in http://bugs.webkit.org/show_bug.cgi?id=13792
2980 REGRESSION: WebKit doesn't show this javascript screenshot page (and crashes after click on its "hidden link")
2982 Test: fast/frames/removal-before-attach-crash.html
2984 Delayed the queueing of the post-attach callback until attach().
2986 * html/HTMLFrameElementBase.cpp:
2987 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
2988 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Replaced call to the
2989 HTMLElement implementation with a call to the HTMLFrameOwnerElement
2990 implementation, as the latter is the parent class.
2991 (WebCore::HTMLFrameElementBase::insertedIntoDocument): Instead of queueing
2992 the post-attach callback here, just set a flag telling us to do so
2993 at the beginning of attach().
2994 (WebCore::HTMLFrameElementBase::removedFromDocument): Reset the above flag.
2995 (WebCore::HTMLFrameElementBase::attach): If this is the first attach() after
2996 being inserted into the document, queue a post-attach callback to load the
2998 (WebCore::HTMLFrameElementBase::willRemove): Changed to call up to the correct
3000 (WebCore::HTMLFrameElementBase::setFocus): Ditto.
3001 * html/HTMLFrameElementBase.h:
3002 * html/HTMLPlugInElement.cpp:
3003 (WebCore::HTMLPlugInElement::mapToEntry): Replaced call to the HTMLElement
3004 implementation with a call to the HTMLFrameOwnerElement implementation,
3005 as the latter is the parent class.
3006 (WebCore::HTMLPlugInElement::parseMappedAttribute): Ditto.
3007 (WebCore::HTMLPlugInElement::checkDTD): Ditto.
3008 (WebCore::HTMLPlugInElement::detach): Ditto.
3010 2007-05-29 Darin Adler <darin@apple.com>
3014 - fix http://bugs.webkit.org/show_bug.cgi?id=13602
3015 Amazon product pages keep repainting over and over again
3017 - fix first-letter when the text of the affected text node is changed
3019 Optimize setInnerHTML, setOuterHTML, and setInnerText so they don't change the DOM at all
3020 if they don't need to.
3022 Test: fast/dom/HTMLElement/set-inner-outer-optimization.html
3023 Test: fast/css/first-letter-detach.html
3025 * html/HTMLElement.cpp:
3026 (WebCore::equal): Added. Helper function that compares two Text nodes or two NamedAttrMap
3028 (WebCore::shallowEqual): Added. Helper function that compares two Element nodes or two
3030 (WebCore::childrenAreEqual): Added. Helper functions that compare children of nodes.
3031 (WebCore::hasOneChild): Added. Helper function.
3032 (WebCore::hasOneTextChild): Added. Helper function.
3033 (WebCore::replaceChildrenWithFragment): Added. Helper function used by setInnerHTML and
3034 setInnerText. Optimizes the cases where all the nodes are the same, where both the current
3035 and the new content are single text nodes, and where the current content is a single node
3036 that can be replaced with replaceChild.
3037 (WebCore::replaceChildrenWithText): Added. Helper function used by setInnerText. Optimizes
3038 the case where the current content is a single text node or a single node that can be
3039 replaced with replaceChild.
3040 (WebCore::HTMLElement::setInnerHTML): Changed to call replaceChildrenWithFragment.
3041 (WebCore::HTMLElement::setOuterHTML): Added special case to optimize when the new content
3042 exactly matches the current node.
3043 (WebCore::HTMLElement::setInnerText): Changed to call replaceChildrenWithText in a few
3044 cases instead of doing removeChildren/appendChild. Changed code that was using
3045 DeprecatedString to instead use String. Changed general case to use a document fragment
3046 and replaceChildrenWithFragment.
3048 * dom/CharacterData.cpp: (WebCore::CharacterData::dispatchModifiedEvent):
3049 Fixed bug where we would not dispatch the DOMSubtreeModified event unless someone
3050 was registered for the DOMCharacterDataModified event. Caused trouble in the test.
3052 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): Set first-letter
3053 after the setStyle call so calls to setTextInternal inside setStyle don't clear it.
3055 * rendering/RenderText.h: Made setTextInternal virtual so that RenderTextFragment can do
3056 appropriate work when the text changes.
3058 * rendering/RenderTextFragment.h: Added an override of setTextInternal. Removed the
3059 firstLetter parameter to the constructor and made it a separate setter. Also changed
3060 m_generatedContentStr to m_contentString to match the getter function.
3061 * rendering/RenderTextFragment.cpp:
3062 (WebCore::RenderTextFragment::RenderTextFragment): Removed firstLetter parameter.
3063 (WebCore::RenderTextFragment::setTextInternal): When the text changes, destroy the
3064 first-letter node and reset the fragment values so that RenderBlock::updateFirstLetter,
3065 which will run during layout, will create a new first-letter child. Otherwise we end up
3066 with the first letter of the old text.
3068 2007-05-29 Sam Weinig <sam@webkit.org>
3072 * platform/NotImplemented.h:
3074 2007-05-29 Sam Weinig <sam@webkit.org>
3076 Reviewed by Adam Roben.
3078 Consolidate platform dependent notImplemented() macros
3079 into one platform independent macro that uses WTFLog.
3081 * platform/NotImplemented.h:
3083 2007-05-29 Darin Adler <darin@apple.com>
3087 - a clean-up pass on form-related aspects of the recent JSHTMLElement patch
3089 * bindings/js/JSHTMLElementCustom.cpp: (WebCore::JSHTMLElement::pushEventHandlerScope):
3090 Replace the call to formForEventHandlerScope() with a call to the new form() function.
3091 And removed the now-uneeded code to search for a form ancestor.
3093 * html/HTMLElement.h: Added a general-purpose form() function. The intent is to return
3094 the form ancestor if any, but return the associated form for a form control, which isn't
3095 always an ancestor of the control. To keep form() efficient for form controls, it's an
3096 inline that calls a virtual, allowing a derived class to override it with an inline.
3097 This replaces formForEventHandlerScope(). Also added findFormAncestor() to use here and
3098 to replace the multiple loops found elsewhere to search for the nearest form ancestor.
3099 * html/HTMLElement.cpp:
3100 (WebCore::HTMLElement::findFormAncestor): Added.
3101 (WebCore::HTMLElement::virtualForm): Added. Calls findFormAncestor().
3103 * html/HTMLGenericFormElement.h: Suggested name change to HTMLFormControlElement.
3104 Removed the confusing getForm() function, which is superceded by findFormAncestor.
3105 Removed the unused onSelect() function. Removed the override of formForEventHandlerScope(),
3106 replacing it with an override of virtualForm().
3107 * html/HTMLGenericFormElement.cpp:
3108 (WebCore::HTMLGenericFormElement::HTMLGenericFormElement): Use findFormAncestor
3110 (WebCore::HTMLGenericFormElement::insertedIntoTree): Ditto.
3111 (WebCore::HTMLGenericFormElement::virtualForm): Added.
3113 * html/HTMLLabelElement.h: Removed now-unneeded form() and formForEventHandlerScope()
3114 functions, since base class behavior is now good enough. Renamed formElement() to
3115 correspondingControl(), since that's the terminology used elsewhere in the code,
3116 and the old name was unnecessarily confusing.
3117 * html/HTMLLabelElement.cpp:
3118 (WebCore::HTMLLabelElement::correspondingControl): Renamed. Removed unnecessary
3119 special case for empty ID, since getElementById already returns 0 for that case.
3120 (WebCore::HTMLLabelElement::setActive): Updated for name change.
3121 (WebCore::HTMLLabelElement::setHovered): Ditto.
3122 (WebCore::HTMLLabelElement::defaultEventHandler): Ditto.
3123 (WebCore::HTMLLabelElement::focus): Ditto.
3124 (WebCore::HTMLLabelElement::accessKeyAction): Ditto.
3126 * html/HTMLObjectElement.h: Removed now-unneeded form() and formForEventHandlerScope()
3127 functions, since base class behavior is now good enough. Also removed forward
3128 declaration of KJS::Bindings::Instance -- since the type is the return value of a
3129 function from the base class, it's guaranteed to be declared in the base class header.
3130 * html/HTMLObjectElement.cpp: Ditto.
3132 * bridge/mac/WebCoreAXObject.mm: (labelForElement): Updated for name change.
3134 2007-05-29 Zack Rusin <zrusin@trolltech.com>
3136 Reviewed by George and Niko
3138 Making the convenience method notImplemented convenient
3141 * platform/NotImplemented.h:
3143 2007-05-28 Sam Weinig <sam@webkit.org>
3147 - Patch for http://bugs.webkit.org/show_bug.cgi?id=13902
3148 Autogenerate the JS bindings for the CSSStyleDeclaration
3151 * WebCore.xcodeproj/project.pbxproj:
3152 * bindings/js/JSCSSStyleDeclarationCustom.cpp: Added.
3153 (WebCore::cssPropertyName):
3154 (WebCore::isCSSPropertyName):
3155 (WebCore::JSCSSStyleDeclaration::canGetItemsForName):
3156 (WebCore::JSCSSStyleDeclaration::nameGetter):
3157 (WebCore::JSCSSStyleDeclaration::customPut):
3158 * bindings/js/kjs_binding.h:
3159 * bindings/js/kjs_css.cpp:
3160 * bindings/js/kjs_css.h:
3161 * bindings/objc/DOMUtility.mm:
3162 (KJS::createDOMWrapper):
3163 * bindings/scripts/CodeGeneratorJS.pm:
3164 * css/CSSStyleDeclaration.idl:
3166 2007-05-28 Mitz Pettel <mitz@webkit.org>
3170 - fix http://bugs.webkit.org/show_bug.cgi?id=13896
3171 REGRESSION (NativePopup): Reproductible crasher on Google Coop control panel
3173 Test: fast/forms/select-display-none-style-resolve.html
3175 * html/HTMLOptGroupElement.cpp:
3176 (WebCore::HTMLOptGroupElement::attach): Do not compute style if the parent
3177 does not have style.
3178 * html/HTMLOptionElement.cpp:
3179 (WebCore::HTMLOptionElement::attach): Ditto.
3181 2007-05-28 Sam Weinig <sam@webkit.org>
3183 Fix Gdk and Qt builds.
3187 2007-05-28 Sam Weinig <sam@webkit.org>
3191 Patch for http://bugs.webkit.org/show_bug.cgi?id=13894
3192 Remove the legacy class KJS::JSHTMLElement
3194 - Now that all of the subclasses of JSHTMLElement are
3195 autogenerated and no longer rely on the legacy parent,
3196 we can remove it and update all the HTML idl files to
3199 - Also adds JSHTMLBlockquoteElement's JS constructor which
3200 was mistakingly missing.
3202 * WebCore.xcodeproj/project.pbxproj:
3203 * bindings/js/JSHTMLAnchorElementCustom.cpp:
3204 (WebCore::JSHTMLAnchorElement::toString):
3205 * bindings/js/JSHTMLElementCustom.cpp: Added.
3206 (WebCore::JSHTMLElement::pushEventHandlerScope):
3207 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3208 (WebCore::createJSHTMLWrapper):
3209 * bindings/js/JSHTMLInputElementBase.cpp:
3211 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
3212 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
3213 (WebCore::JSHTMLInputElementBase::put):
3214 * bindings/js/JSHTMLInputElementBase.h:
3215 * bindings/js/JSHTMLSelectElementCustom.cpp:
3216 * bindings/js/kjs_html.cpp:
3217 (KJS::runtimeObjectCustomGetOwnPropertySlot):
3218 * bindings/js/kjs_html.h:
3219 * bindings/scripts/CodeGeneratorJS.pm:
3220 * html/HTMLAnchorElement.idl:
3221 * html/HTMLAppletElement.idl:
3222 * html/HTMLAreaElement.idl:
3223 * html/HTMLBRElement.idl:
3224 * html/HTMLBaseElement.idl:
3225 * html/HTMLBaseFontElement.idl:
3226 * html/HTMLBlockquoteElement.idl:
3227 * html/HTMLBodyElement.idl:
3228 * html/HTMLButtonElement.idl:
3229 * html/HTMLCanvasElement.idl:
3230 * html/HTMLDListElement.idl:
3231 * html/HTMLDirectoryElement.idl:
3232 * html/HTMLDivElement.idl:
3233 * html/HTMLElement.cpp:
3234 (WebCore::HTMLElement::formForEventHandlerScope):
3235 * html/HTMLElement.h:
3236 * html/HTMLElement.idl:
3237 * html/HTMLEmbedElement.idl:
3238 * html/HTMLFieldSetElement.idl:
3239 * html/HTMLFontElement.idl:
3240 * html/HTMLFormElement.idl:
3241 * html/HTMLFrameElement.idl:
3242 * html/HTMLFrameSetElement.idl:
3243 * html/HTMLGenericFormElement.cpp:
3244 (WebCore::HTMLGenericFormElement::formForEventHandlerScope):
3245 * html/HTMLGenericFormElement.h:
3246 * html/HTMLHRElement.idl:
3247 * html/HTMLHeadElement.idl:
3248 * html/HTMLHeadingElement.idl:
3249 * html/HTMLHtmlElement.idl:
3250 * html/HTMLIFrameElement.idl:
3251 * html/HTMLImageElement.idl:
3252 * html/HTMLIsIndexElement.idl:
3253 * html/HTMLLIElement.idl:
3254 * html/HTMLLabelElement.cpp:
3255 (WebCore::HTMLLabelElement::form):
3256 (WebCore::HTMLLabelElement::formForEventHandlerScope):
3257 * html/HTMLLabelElement.h:
3258 * html/HTMLLabelElement.idl:
3259 * html/HTMLLegendElement.idl:
3260 * html/HTMLLinkElement.idl:
3261 * html/HTMLMapElement.idl:
3262 * html/HTMLMarqueeElement.idl:
3263 * html/HTMLMenuElement.idl:
3264 * html/HTMLMetaElement.idl:
3265 * html/HTMLModElement.idl:
3266 * html/HTMLOListElement.idl:
3267 * html/HTMLObjectElement.cpp:
3268 (WebCore::HTMLObjectElement::formForEventHandlerScope):
3269 * html/HTMLObjectElement.h:
3270 * html/HTMLObjectElement.idl:
3271 * html/HTMLOptGroupElement.idl:
3272 * html/HTMLOptionElement.idl:
3273 * html/HTMLParagraphElement.idl:
3274 * html/HTMLParamElement.idl:
3275 * html/HTMLPreElement.idl:
3276 * html/HTMLQuoteElement.idl:
3277 * html/HTMLScriptElement.idl:
3278 * html/HTMLSelectElement.idl:
3279 * html/HTMLStyleElement.idl:
3280 * html/HTMLTableCaptionElement.idl:
3281 * html/HTMLTableCellElement.idl:
3282 * html/HTMLTableColElement.idl:
3283 * html/HTMLTableElement.idl:
3284 * html/HTMLTableRowElement.idl:
3285 * html/HTMLTableSectionElement.idl:
3286 * html/HTMLTextAreaElement.idl:
3287 * html/HTMLTitleElement.idl:
3288 * html/HTMLUListElement.idl:
3289 * page/DOMWindow.idl:
3291 2007-05-28 Zack Rusin <zrusin@trolltech.com>
3293 Reviewed by andersca
3295 Adding Qt related constructor/casting operators
3296 to the AtomicString and updating the project
3297 file for new Qt settings api using those.
3300 * platform/AtomicString.h:
3302 2007-05-27 Sam Weinig <sam@webkit.org>
3304 Qt and Gdk build fix.
3308 2007-05-27 Sam Weinig <sam@webkit.org>
3312 Patch for http://bugs.webkit.org/show_bug.cgi?id=13893
3313 Autogenerate the JS bindings for the HTMLObjectElement,
3314 HTMLEmbedElement and HTMLAppletElement
3316 * DerivedSources.make:
3317 * WebCore.xcodeproj/project.pbxproj:
3318 * bindings/js/JSHTMLAppletElementCustom.cpp: Added.
3319 (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
3320 (WebCore::JSHTMLAppletElement::customPut):
3321 (WebCore::JSHTMLAppletElement::implementsCall):
3322 (WebCore::JSHTMLAppletElement::callAsFunction):
3323 (WebCore::JSHTMLAppletElement::canGetItemsForName):
3324 (WebCore::JSHTMLAppletElement::nameGetter):
3325 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3326 * bindings/js/JSHTMLEmbedElementCustom.cpp: Added.
3327 (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
3328 (WebCore::JSHTMLEmbedElement::customPut):
3329 (WebCore::JSHTMLEmbedElement::implementsCall):
3330 (WebCore::JSHTMLEmbedElement::callAsFunction):
3331 (WebCore::JSHTMLEmbedElement::canGetItemsForName):
3332 (WebCore::JSHTMLEmbedElement::nameGetter):
3333 * bindings/js/JSHTMLObjectElementCustom.cpp: Added.
3334 (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
3335 (WebCore::JSHTMLObjectElement::customPut):
3336 (WebCore::JSHTMLObjectElement::implementsCall):
3337 (WebCore::JSHTMLObjectElement::callAsFunction):
3338 (WebCore::JSHTMLObjectElement::canGetItemsForName):
3339 (WebCore::JSHTMLObjectElement::nameGetter):
3340 * bindings/js/kjs_html.cpp:
3342 (KJS::JSHTMLElement::toString):
3343 (KJS::JSHTMLElement::pushEventHandlerScope):
3344 (KJS::runtimeObjectGetter):
3345 (KJS::runtimeObjectPropertyGetter):
3346 (KJS::runtimeObjectCustomGetOwnPropertySlot):
3347 (KJS::runtimeObjectCustomPut):
3348 (KJS::runtimeObjectImplementsCall):
3349 (KJS::runtimeObjectCallAsFunction):
3350 * bindings/js/kjs_html.h:
3351 (KJS::JSHTMLElement::classInfo):
3352 * bindings/scripts/CodeGeneratorJS.pm: Add support for
3353 CustomGetOwnPropertySlot, CustomPutFunction, CustomCall,
3354 and SVGCheckSecurityDocument properties.
3355 * html/HTMLAppletElement.idl:
3356 * html/HTMLEmbedElement.idl:
3357 * html/HTMLObjectElement.idl:
3358 * page/DOMWindow.idl: Uncomment constructors.
3360 2007-05-27 Sam Weinig <sam@webkit.org>
3366 * platform/graphics/Path.h:
3368 2007-05-27 Sam Weinig <sam@webkit.org>
3370 Gdk build fix. Forgot to update a few instances of notImplementedGdk() to notImplemented().
3372 * page/gdk/EventHandlerGdk.cpp:
3373 (WebCore::EventHandler::passMousePressEventToScrollbar):
3374 * platform/gdk/EditorClientGdk.cpp:
3375 (WebCore::EditorClientGdk::ignoreWordInSpellDocument):
3376 (WebCore::EditorClientGdk::learnWord):
3377 (WebCore::EditorClientGdk::checkSpellingOfString):
3378 (WebCore::EditorClientGdk::checkGrammarOfString):
3379 (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString):
3380 (WebCore::EditorClientGdk::updateSpellingUIWithMisspelledWord):
3381 (WebCore::EditorClientGdk::showSpellingUI):
3382 (WebCore::EditorClientGdk::spellingUIIsShowing):
3383 (WebCore::EditorClientGdk::getGuessesForWord):
3384 * platform/gdk/FrameGdk.cpp:
3385 (WebCore::Frame::dashboardRegionsChanged):
3386 * platform/gdk/PlatformScrollBarGdk.cpp:
3387 (PlatformScrollbar::paint):
3388 (PlatformScrollbar::updateThumbPosition):
3389 (PlatformScrollbar::updateThumbProportion):
3390 * platform/gdk/TemporaryLinkStubs.cpp:
3391 (Widget::setEnabled):
3392 (Widget::isEnabled):
3393 (Widget::removeFromParent):
3395 (Widget::setIsSelected):
3396 (Widget::invalidate):
3397 (Widget::invalidateRect):
3399 2007-05-27 Alp Toker <alp.toker@collabora.co.uk>
3401 Reviewed by Sam and Oliver.
3403 Implement PathCairo. This patch is based on changes in Mike Emmel's
3404 WebKit fork with some additional clean-ups and updates.
3406 * platform/graphics/Path.h:
3407 * platform/graphics/cairo/CairoPath.h: Added.
3408 (CairoPath::CairoPath):
3409 (CairoPath::~CairoPath):
3410 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3411 (WebCore::GraphicsContext::clip):
3412 * platform/graphics/cairo/PathCairo.cpp:
3413 (WebCore::Path::Path):
3414 (WebCore::Path::~Path):
3415 (WebCore::Path::operator=):
3416 (WebCore::Path::clear):
3417 (WebCore::Path::isEmpty):
3418 (WebCore::Path::translate):
3419 (WebCore::Path::moveTo):
3420 (WebCore::Path::addLineTo):
3421 (WebCore::Path::addRect):
3422 (WebCore::Path::addQuadCurveTo):
3423 (WebCore::Path::addBezierCurveTo):
3424 (WebCore::Path::addArc):
3425 (WebCore::Path::addArcTo):
3426 (WebCore::Path::addEllipse):
3427 (WebCore::Path::closeSubpath):
3428 (WebCore::Path::boundingRect):
3429 (WebCore::Path::contains):
3430 (WebCore::Path::apply):
3431 (WebCore::Path::transform):
3432 (WebCore::Path::debugString):
3434 2007-05-27 Kevin Ollivier <kevino@theolliviers.com>
3436 Reviewed by Sam Weinig.
3438 Consolidate all notImplemented() macro definitions into
3439 one header file for all platforms.
3441 * loader/gdk/DocumentLoaderGdk.cpp:
3442 (WebCore::DocumentLoader::getResponseModifiedHeader):
3443 * loader/gdk/FrameLoaderClientGdk.cpp:
3444 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge):
3445 (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge):
3446 (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest):
3447 (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest):
3448 (WebCore::FrameLoaderClientGdk::createPlugin):
3449 (WebCore::FrameLoaderClientGdk::createFrame):
3450 (WebCore::FrameLoaderClientGdk::redirectDataToPlugin):
3451 (WebCore::FrameLoaderClientGdk::createJavaAppletWidget):
3452 (WebCore::FrameLoaderClientGdk::objectContentType):
3453 (WebCore::FrameLoaderClientGdk::overrideMediaType):
3454 (WebCore::FrameLoaderClientGdk::windowObjectCleared):
3455 (WebCore::FrameLoaderClientGdk::hasWebView):
3456 (WebCore::FrameLoaderClientGdk::hasFrameView):
3457 (WebCore::FrameLoaderClientGdk::frameLoadCompleted):
3458 (WebCore::FrameLoaderClientGdk::saveViewStateToItem):
3459 (WebCore::FrameLoaderClientGdk::restoreViewState):
3460 (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled):
3461 (WebCore::FrameLoaderClientGdk::makeDocumentView):
3462 (WebCore::FrameLoaderClientGdk::makeRepresentation):
3463 (WebCore::FrameLoaderClientGdk::forceLayout):
3464 (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML):
3465 (WebCore::FrameLoaderClientGdk::setCopiesOnScroll):
3466 (WebCore::FrameLoaderClientGdk::detachedFromParent1):
3467 (WebCore::FrameLoaderClientGdk::detachedFromParent2):
3468 (WebCore::FrameLoaderClientGdk::detachedFromParent3):
3469 (WebCore::FrameLoaderClientGdk::detachedFromParent4):
3470 (WebCore::FrameLoaderClientGdk::loadedFromCachedPage):
3471 (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents):
3472 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad):
3473 (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect):
3474 (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect):
3475 (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage):
3476 (WebCore::FrameLoaderClientGdk::dispatchWillClose):
3477 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon):
3478 (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad):
3479 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle):
3480 (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad):
3481 (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad):
3482 (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout):
3483 (WebCore::FrameLoaderClientGdk::dispatchShow):
3484 (WebCore::FrameLoaderClientGdk::cancelPolicyCheck):
3485 (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource):
3486 (WebCore::FrameLoaderClientGdk::revertToProvisionalState):
3487 (WebCore::FrameLoaderClientGdk::clearUnarchivingState):
3488 (WebCore::FrameLoaderClientGdk::willChangeTitle):
3489 (WebCore::FrameLoaderClientGdk::finishedLoading):
3490 (WebCore::FrameLoaderClientGdk::finalSetupForReplace):
3491 (WebCore::FrameLoaderClientGdk::setDefersLoading):
3492 (WebCore::FrameLoaderClientGdk::isArchiveLoadPending):
3493 (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad):
3494 (WebCore::FrameLoaderClientGdk::clearArchivedResources):
3495 (WebCore::FrameLoaderClientGdk::canHandleRequest):
3496 (WebCore::FrameLoaderClientGdk::canShowMIMEType):
3497 (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme):
3498 (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme):
3499 (WebCore::FrameLoaderClientGdk::provisionalLoadStarted):
3500 (WebCore::FrameLoaderClientGdk::didFinishLoad):
3501 (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement):
3502 (WebCore::FrameLoaderClientGdk::setTitle):
3503 (WebCore::FrameLoaderClientGdk::setDocumentViewFromCachedPage):
3504 (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength):
3505 (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading):
3506 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading):
3507 (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache):
3508 (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad):
3509 (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad):
3510 (WebCore::FrameLoaderClientGdk::download):
3511 (WebCore::FrameLoaderClientGdk::cancelledError):
3512 (WebCore::FrameLoaderClientGdk::blockedError):
3513 (WebCore::FrameLoaderClientGdk::cannotShowURLError):
3514 (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError):
3515 (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError):
3516 (WebCore::FrameLoaderClientGdk::fileDoesNotExistError):
3517 (WebCore::FrameLoaderClientGdk::shouldFallBack):
3518 (WebCore::FrameLoaderClientGdk::willUseArchive):
3519 (WebCore::FrameLoaderClientGdk::saveDocumentViewToCachedPage):
3520 (WebCore::FrameLoaderClientGdk::canCachePage):
3521 (WebCore::FrameLoaderClientGdk::dispatchCreatePage):
3522 (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy):
3523 (WebCore::FrameLoaderClientGdk::setMainDocumentError):
3524 (WebCore::FrameLoaderClientGdk::startDownload):
3525 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad):
3526 (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload):
3527 * loader/qt/DocumentLoaderQt.cpp:
3528 * page/gdk/ContextMenuClientGdk.cpp:
3529 (WebCore::ContextMenuClientGdk::contextMenuDestroyed):
3530 (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems):
3531 (WebCore::ContextMenuClientGdk::contextMenuItemSelected):
3532 (WebCore::ContextMenuClientGdk::downloadURL):
3533 (WebCore::ContextMenuClientGdk::copyImageToClipboard):
3534 (WebCore::ContextMenuClientGdk::searchWithGoogle):
3535 (WebCore::ContextMenuClientGdk::lookUpInDictionary):
3536 (WebCore::ContextMenuClientGdk::speak):
3537 (WebCore::ContextMenuClientGdk::stopSpeaking):
3538 * page/gdk/EventHandlerGdk.cpp:
3539 (WebCore::EventHandler::passMouseDownEventToWidget):
3540 (WebCore::EventHandler::eventActivatedView):
3541 (WebCore::EventHandler::passSubframeEventToSubframe):
3542 (WebCore::EventHandler::passWheelEventToWidget):
3543 (WebCore::EventHandler::createDraggingClipboard):
3544 * page/qt/EventHandlerQt.cpp:
3545 * page/qt/FrameQt.cpp:
3546 * platform/NotImplemented.h: Added.
3547 * platform/gdk/CursorGdk.cpp:
3548 (WebCore::Cursor::Cursor):
3549 * platform/gdk/EditorClientGdk.cpp:
3550 (WebCore::EditorClientGdk::shouldDeleteRange):
3551 (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled):
3552 (WebCore::EditorClientGdk::isGrammarCheckingEnabled):
3553 (WebCore::EditorClientGdk::spellCheckerDocumentTag):
3554 (WebCore::EditorClientGdk::shouldBeginEditing):
3555 (WebCore::EditorClientGdk::shouldEndEditing):
3556 (WebCore::EditorClientGdk::shouldInsertText):
3557 (WebCore::EditorClientGdk::shouldChangeSelectedRange):
3558 (WebCore::EditorClientGdk::shouldApplyStyle):
3559 (WebCore::EditorClientGdk::didBeginEditing):
3560 (WebCore::EditorClientGdk::respondToChangedContents):
3561 (WebCore::EditorClientGdk::respondToChangedSelection):
3562 (WebCore::EditorClientGdk::didEndEditing):
3563 (WebCore::EditorClientGdk::didWriteSelectionToPasteboard):
3564 (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard):
3565 (WebCore::EditorClientGdk::selectWordBeforeMenuEvent):
3566 (WebCore::EditorClientGdk::isEditable):
3567 (WebCore::EditorClientGdk::registerCommandForUndo):
3568 (WebCore::EditorClientGdk::registerCommandForRedo):
3569 (WebCore::EditorClientGdk::clearUndoRedoOperations):
3570 (WebCore::EditorClientGdk::canUndo):
3571 (WebCore::EditorClientGdk::canRedo):
3572 (WebCore::EditorClientGdk::undo):
3573 (WebCore::EditorClientGdk::redo):
3574 (WebCore::EditorClientGdk::shouldInsertNode):
3575 (WebCore::EditorClientGdk::pageDestroyed):
3576 (WebCore::EditorClientGdk::smartInsertDeleteEnabled):
3577 (WebCore::EditorClientGdk::toggleContinuousSpellChecking):
3578 (WebCore::EditorClientGdk::handleInputMethodKeypress):
3579 (WebCore::EditorClientGdk::textFieldDidBeginEditing):
3580 (WebCore::EditorClientGdk::textFieldDidEndEditing):
3581 (WebCore::EditorClientGdk::textDidChangeInTextField):
3582 (WebCore::EditorClientGdk::doTextFieldCommandFromEvent):
3583 (WebCore::EditorClientGdk::textWillBeDeletedInTextField):
3584 (WebCore::EditorClientGdk::textDidChangeInTextArea):
3585 * platform/gdk/FrameGdk.cpp:
3586 (WebCore::Frame::print):
3587 (WebCore::Frame::issueTransposeCommand):
3588 (WebCore::Frame::cleanupPlatformScriptObjects):
3589 (WebCore::Frame::dragImageForSelection):
3590 * platform/gdk/NotImplementedGdk.h: Removed.
3591 * platform/gdk/PopupMenuGdk.cpp:
3592 (WebCore::PopupMenu::PopupMenu):
3593 (WebCore::PopupMenu::~PopupMenu):
3594 (WebCore::PopupMenu::show):
3595 (WebCore::PopupMenu::hide):
3596 (WebCore::PopupMenu::updateFromElement):
3597 * platform/gdk/RenderThemeGdk.cpp:
3598 (WebCore::RenderThemeGdk::setCheckboxSize):
3599 (WebCore::RenderThemeGdk::setRadioSize):
3600 (WebCore::RenderThemeGdk::adjustTextFieldStyle):
3601 * platform/gdk/ScreenGdk.cpp:
3602 (WebCore::screenDepthPerComponent):
3603 (WebCore::screenIsMonochrome):
3604 (WebCore::screenRect):
3605 (WebCore::screenAvailableRect):
3606 * platform/gdk/ScrollViewGdk.cpp:
3607 (WebCore::ScrollView::update):
3608 (WebCore::ScrollView::addChild):
3609 (WebCore::ScrollView::removeChild):
3610 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3611 (WebCore::ScrollView::inWindow):
3612 (WebCore::ScrollView::wheelEvent):
3613 (WebCore::ScrollView::updateScrollbars):
3614 (WebCore::ScrollView::updateScrollInfo):
3615 (WebCore::ScrollView::windowToContents):
3616 (WebCore::ScrollView::contentsToWindow):
3617 (WebCore::ScrollView::scrollbarUnderMouse):
3618 * platform/gdk/TemporaryLinkStubs.cpp:
3619 (FrameView::updateBorder):
3620 (WebCore::findNextWordFromIndex):
3621 (WebCore::currentTextBreakLocaleID):
3622 (ChromeClientGdk::chromeDestroyed):
3623 (ChromeClientGdk::windowRect):
3624 (ChromeClientGdk::setWindowRect):
3625 (ChromeClientGdk::pageRect):
3626 (ChromeClientGdk::scaleFactor):
3627 (ChromeClientGdk::focus):
3628 (ChromeClientGdk::unfocus):
3629 (ChromeClientGdk::createWindow):
3630 (ChromeClientGdk::createModalDialog):
3631 (ChromeClientGdk::show):
3632 (ChromeClientGdk::canRunModal):
3633 (ChromeClientGdk::runModal):
3634 (ChromeClientGdk::setToolbarsVisible):
3635 (ChromeClientGdk::toolbarsVisible):
3636 (ChromeClientGdk::setStatusbarVisible):
3637 (ChromeClientGdk::statusbarVisible):
3638 (ChromeClientGdk::setScrollbarsVisible):
3639 (ChromeClientGdk::scrollbarsVisible):
3640 (ChromeClientGdk::setMenubarVisible):
3641 (ChromeClientGdk::menubarVisible):
3642 (ChromeClientGdk::setResizable):
3643 (ChromeClientGdk::closeWindowSoon):
3644 (ChromeClientGdk::canTakeFocus):
3645 (ChromeClientGdk::takeFocus):
3646 (ChromeClientGdk::canRunBeforeUnloadConfirmPanel):
3647 (ChromeClientGdk::addMessageToConsole):
3648 (ChromeClientGdk::runBeforeUnloadConfirmPanel):
3649 (ChromeClientGdk::runJavaScriptAlert):
3650 (ChromeClientGdk::runJavaScriptConfirm):
3651 (ChromeClientGdk::runJavaScriptPrompt):
3652 (ChromeClientGdk::setStatusbarText):
3653 (ChromeClientGdk::shouldInterruptJavaScript):
3654 (ChromeClientGdk::tabsToLinks):
3655 (ChromeClientGdk::windowResizerRect):
3656 (ChromeClientGdk::addToDirtyRegion):
3657 (ChromeClientGdk::scrollBackingStore):
3658 (ChromeClientGdk::updateBackingStore):
3659 (PlugInInfoStore::createPluginInfoForPluginAtIndex):
3660 (PlugInInfoStore::pluginCount):
3661 (WebCore::PlugInInfoStore::supportsMIMEType):
3662 (WebCore::refreshPlugins):
3663 (SearchPopupMenu::saveRecentSearches):
3664 (SearchPopupMenu::loadRecentSearches):
3665 (SearchPopupMenu::SearchPopupMenu):
3666 (SearchPopupMenu::enabled):
3667 (FileChooser::FileChooser):
3668 (FileChooser::~FileChooser):
3669 (FileChooser::openFileChooser):
3670 (FileChooser::basenameForWidth):
3671 (ResourceHandle::willLoadFromCache):
3672 (ResourceHandle::loadsBlocked):
3673 (ResourceHandle::loadResourceSynchronously):
3676 (Icon::newIconForFile):
3678 (Font::selectionRectForComplexText):
3679 (Font::drawComplexText):
3680 (Font::floatWidthForComplexText):
3681 (Font::offsetForPositionForComplexText):
3682 (CachedPage::close):
3683 (Editor::newGeneralClipboard):
3684 (Pasteboard::generalPasteboard):
3685 (Pasteboard::writeSelection):
3686 (Pasteboard::writeURL):
3687 (Pasteboard::writeImage):
3688 (Pasteboard::clear):
3689 (Pasteboard::canSmartReplace):
3690 (Pasteboard::documentFragment):
3691 (Pasteboard::plainText):
3692 (Pasteboard::Pasteboard):
3693 (Pasteboard::~Pasteboard):
3694 (ContextMenu::ContextMenu):
3695 (ContextMenu::~ContextMenu):
3696 (ContextMenu::appendItem):
3697 (ContextMenuItem::ContextMenuItem):
3698 (ContextMenuItem::~ContextMenuItem):
3699 (ContextMenuItem::releasePlatformDescription):
3700 (ContextMenuItem::type):
3701 (ContextMenuItem::setType):
3702 (ContextMenuItem::action):
3703 (ContextMenuItem::setAction):
3704 (ContextMenuItem::title):
3705 (ContextMenuItem::setTitle):
3706 (ContextMenuItem::platformSubMenu):
3707 (ContextMenuItem::setSubMenu):
3708 (ContextMenuItem::setChecked):
3709 (ContextMenuItem::setEnabled):
3710 (WebCore::supportedKeySizes):
3711 (WebCore::systemBeep):
3712 (WebCore::userIdleTime):
3713 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3714 * platform/graphics/cairo/ImageBufferCairo.cpp:
3715 * platform/graphics/cairo/PathCairo.cpp:
3716 * platform/graphics/gdk/ImageGdk.cpp:
3717 * platform/graphics/qt/GraphicsContextQt.cpp:
3718 * platform/graphics/qt/IconQt.cpp:
3719 * platform/graphics/qt/ImageQt.cpp:
3720 * platform/network/gdk/ResourceHandleCurl.cpp:
3721 (WebCore::ResourceHandle::setDefersLoading):
3722 * platform/network/gdk/ResourceHandleManager.cpp:
3723 (WebCore::ResourceHandleManager::setupPUT):
3724 (WebCore::ResourceHandleManager::setupPOST):
3725 * platform/network/qt/ResourceHandleQt.cpp:
3726 * platform/qt/ClipboardQt.cpp:
3727 * platform/qt/CursorQt.cpp:
3728 * platform/qt/DragDataQt.cpp:
3729 * platform/qt/FileChooserQt.cpp:
3730 * platform/qt/MimeTypeRegistryQt.cpp:
3731 * platform/qt/PasteboardQt.cpp:
3732 * platform/qt/PlatformScrollBarQt.cpp:
3733 * platform/qt/PopupMenuQt.cpp:
3734 * platform/qt/ScrollViewQt.cpp:
3735 * platform/qt/TemporaryLinkStubs.cpp:
3736 * platform/qt/TextBoundaries.cpp:
3737 * platform/qt/WidgetQt.cpp:
3738 * platform/win/FontWin.cpp:
3739 * platform/win/TemporaryLinkStubs.cpp:
3740 * platform/wx/ClipboardWx.cpp:
3741 * platform/wx/FontWx.cpp:
3742 * platform/wx/ScrollViewWx.cpp:
3743 * platform/wx/SharedTimerWx.cpp:
3744 * platform/wx/TemporaryLinkStubs.cpp:
3746 2007-05-27 Rob Buis <buis@kde.org>
3750 http://bugs.webkit.org/show_bug.cgi?id=13828
3751 x/y values on rootmost <svg> elements should be ignored
3753 Make sure that root-most <svg> elements do not take into account x/y.
3755 * ksvg2/svg/SVGSVGElement.cpp:
3756 (WebCore::SVGSVGElement::viewport):
3757 (WebCore::SVGSVGElement::getCTM):
3758 (WebCore::SVGSVGElement::getScreenCTM):
3759 * rendering/RenderSVGContainer.cpp:
3760 (WebCore::RenderSVGContainer::calcViewport):
3762 2007-05-26 David Hyatt <hyatt@apple.com>
3764 Fix for radar bug 5219562, PNG isn't displayed on SVG test suite.
3765 Improve <object> error handling so that it recovers properly when
3766 <td> is used inside it.
3770 Added fast/invalid/td-inside-object.html
3772 * html/HTMLObjectElement.h:
3773 (WebCore::HTMLObjectElement::tagPriority):
3774 * html/HTMLParser.cpp:
3775 (WebCore::HTMLParser::handleError):
3776 * html/HTMLParserErrorCodes.cpp:
3777 (WebCore::htmlParserErrorMessageTemplate):
3778 * html/HTMLParserErrorCodes.h:
3780 2007-05-26 David Hyatt <hyatt@apple.com>
3782 Don't compare the "isset" variables in background layers, since they
3783 lead us to turn off the Aqua look incorrectly, even when the background
3784 matches the default.
3788 * rendering/RenderStyle.cpp:
3789 (WebCore::BackgroundLayer::operator==):
3791 2007-05-26 David Hyatt <hyatt@apple.com>
3793 Improve the </p> -> <p></p> error message to not spew two errors.
3794 Fix a bug where errors reported inside document.write didn't get
3795 reported as such because of a mistake in the notation of SegmentedString.
3799 * html/HTMLParser.cpp:
3800 (WebCore::HTMLParser::processCloseTag):
3801 * platform/SegmentedString.h:
3802 (WebCore::SegmentedSubstring::clear):
3804 2007-05-26 David Hyatt <hyatt@apple.com>
3806 Fix for bug 13887, percentage height block not sized correctly inside
3807 positioned percentage height containing block.
3811 fast/block/positioning/complex-percentage-height.html
3813 * rendering/RenderBox.cpp:
3814 (WebCore::RenderBox::calcPercentageHeight):
3816 2007-05-26 Mitz Pettel <mitz@webkit.org>
3818 Reviewed by Oliver Hunt.
3820 - finish fixing http://bugs.webkit.org/show_bug.cgi?id=13871
3821 Box shadow should not apply to Aqua-themed controls
3823 Covered by fast/forms/box-shadow-override.html
3825 I forgot to include adjustSliderThumbStyle in the previous patch and the
3826 test didn't detect it because of a bug introduced in r21739.
3828 * rendering/RenderThemeMac.h:
3829 * rendering/RenderThemeMac.mm:
3830 (WebCore::RenderThemeMac::adjustSliderThumbStyle):
3832 2007-05-26 Mitz Pettel <mitz@webkit.org>
3836 - fix http://bugs.webkit.org/show_bug.cgi?id=13876
3837 Box-Shadow disappears if shadow doesn't fit in the window size
3839 Tests: fast/repaint/box-shadow-h.html
3840 fast/repaint/box-shadow-v.html
3842 * rendering/RenderTable.cpp:
3843 (WebCore::RenderTable::layout):
3845 2007-05-26 Alexey Proskuryakov <ap@webkit.org>
3849 http://bugs.webkit.org/show_bug.cgi?id=13605
3850 REGRESSION: Browser crashes when switching Kotoeri input modes
3852 The problem could no longer be reproduced with Kotoeri thanks to
3853 a fix in <http://trac.webkit.org/projects/webkit/changeset/21728>,
3854 but we still need to protect from invalid ranges passed from
3857 Test: editing/input/replace-invalid-range.html
3859 * page/mac/WebCoreFrameBridge.mm:
3860 (-[WebCoreFrameBridge selectNSRange:]): Added a null check.
3862 2007-05-26 Darin Adler <darin@apple.com>
3864 * platform/network/mac/ResourceResponseMac.mm:
3865 (WebCore::ResourceResponse::doUpdateResourceResponse):
3866 Alexey pointed out that I was wrong about object lifetime, so
3867 rolling this change out.
3869 2007-05-26 Darin Adler <darin@apple.com>
3873 * platform/network/mac/ResourceResponseMac.mm:
3874 (WebCore::ResourceResponse::doUpdateResourceResponse):
3875 Fixed code where a temporary String is used after destroyed.
3877 2007-05-26 Mitz Pettel <mitz@webkit.org>
3881 - http://bugs.webkit.org/show_bug.cgi?id=13842
3882 Simplify Color::light() and Color::dark()
3886 * platform/graphics/Color.cpp:
3887 (WebCore::Color::light):
3888 (WebCore::Color::dark):
3890 2007-05-26 Mitz Pettel <mitz@webkit.org>
3894 - fix http://bugs.webkit.org/show_bug.cgi?id=13870
3895 RenderFrameSet should only allow frame and frameset children
3897 Covered by fast/frames/inline-object-inside-frameset.html
3899 * rendering/RenderFrame.h:
3900 (WebCore::RenderFrame::isFrame): Added.
3901 * rendering/RenderFrameSet.cpp:
3902 (WebCore::RenderFrameSet::paint): Removed check for inline objects that is
3904 (WebCore::RenderFrameSet::isChildAllowed): Added. Allows the child only
3905 if it is a frame or another frameset.
3906 * rendering/RenderFrameSet.h:
3907 * rendering/RenderObject.h:
3908 (WebCore::RenderObject::isFrame): Added.
3910 2007-05-26 Mitz Pettel <mitz@webkit.org>
3914 - http://bugs.webkit.org/show_bug.cgi?id=13871
3915 Box shadow should not apply to Aqua-themed controls
3917 Test: fast/forms/box-shadow-override.html
3919 * rendering/RenderTheme.cpp:
3920 (WebCore::RenderTheme::adjustCheckboxStyle):
3921 (WebCore::RenderTheme::adjustRadioStyle):
3922 * rendering/RenderThemeMac.h:
3923 * rendering/RenderThemeMac.mm:
3924 (WebCore::RenderThemeMac::adjustButtonStyle):
3925 (WebCore::RenderThemeMac::adjustMenuListStyle):
3926 (WebCore::RenderThemeMac::adjustSliderTrackStyle):
3927 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
3928 (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
3929 (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
3930 (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
3931 (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
3933 2007-05-26 Holger Freyther <zecke@selfish.org>
3937 * platform/gdk/FrameGdk.cpp: Catch up to make it compile
3938 (WebCore::FrameGdk::FrameGdk): The Settings is now owned by the Page
3940 2007-05-25 Sam Weinig <sam@webkit.org>
3942 Reviewed by Oliver of the Hunt.
3944 Fixed <rdar://problem/5230247> at least 43 xhtml tests fail in
3945 Leopard because they are being interpreted as html
3947 Adds a work around for <rdar://problem/5230154> which explicitly
3948 sets local .xhtml files to have the MIME type application/xhtml+xml.
3950 * platform/network/mac/ResourceResponseMac.mm:
3951 (WebCore::ResourceResponse::doUpdateResourceResponse):
3953 2007-05-25 Geoffrey Garen <ggaren@apple.com>
3955 Reviewed by Darin Adler.
3957 Fixed <rdar://problem/5055182> The page cache has no global cap.
3959 Beefed up the PageCache class to track which HistoryItems are
3960 cached, and decide how to evict old HistoryItems as new ones are
3963 * history/BackForwardList.cpp: Removed support for managing the page cache
3964 through the BackForwardList since this is deprecated in Mac's
3965 WebBackForwardList, and doesn't exist on other platforms.
3967 Added a Page* back pointer so that Mac WebBackForwardList can still support
3968 its deprecated API, using the new hotness. This isn't a big burden, since
3969 Page is responsible for calling BackForwardList::close upon destruction,
3972 * history/HistoryItem.cpp: Replaced CachedPage* with boolean that tells
3973 you whether you're in the page cache. This prevents us from having more
3974 than one persistent repository for cached pages.
3976 * history/PageCache.cpp: If you're playing along at home, this code is
3977 the reason for the patch.
3979 * loader/FrameLoader.cpp: If you're playing along at home, the minuses in
3980 this file are the reason for the patch.
3982 Replaced call to FrameLoaderClient::loadedFromCachedPage with its one-line
3983 implementation because WebCore calling itself through WebKit is uncivilized.
3985 * page/Settings.cpp: Added support for removing a Page's HistoryItems from
3988 2007-05-25 Mitz Pettel <mitz@webkit.org>
3992 - fix http://bugs.webkit.org/show_bug.cgi?id=13869
3993 Many leaks seen on buildbot after r21735
3995 - fix another regression from r21739: ::-webkit-slider-thumb style not
3998 Test: fast/forms/slider-thumb-stylability.html
4000 * rendering/RenderSlider.cpp:
4001 (WebCore::RenderSlider::setStyle):
4002 (WebCore::RenderSlider::createThumbStyle):
4004 2007-05-25 Justin Garcia <justin.garcia@apple.com>
4006 Reviewed by Harrison.
4008 <rdar://problem/5228141>
4009 REGRESSION: Can't apply style to selection that ends after an image
4011 * editing/ApplyStyleCommand.cpp:
4012 (WebCore::ApplyStyleCommand::applyInlineStyle):
4013 Use range compliant equivalents when creating the Range
4014 used to compute pastEndNode(), otherwise Range's constructor
4015 ASSERTs and pastEndNode() returns null. Added a testcase.
4016 If the incoming Range is collapsed at [br, 0], callers want
4017 the style to be applied to the br, so expand the Range to include
4018 it. We got away without expanding before because pastEndNode
4019 of a Range from [br, 0] to [br, 0] is the node after the br.
4020 Using range compliant equivalents changed that. There's already
4021 test coverage for this change.
4022 Changed while loop termination for finding the end of a run
4023 so that we don't process pastEnd. end.node() may now be
4024 non-atomic and we'd blow past it. There's already test
4025 coverage for this change.
4027 2007-05-25 Beth Dakin <bdakin@apple.com>
4029 Rubber stamped by Hyatt
4031 Adding an ASSERT for good measure.
4033 * page/FrameView.cpp:
4034 (WebCore::FrameView::layout):
4036 2007-05-25 Kevin McCullough <kmccullough@apple.com>
4040 - <rdar://problem/5183523> REGRESSION: Excel: Worksheet tabs in spreadsheet saved as web page don't work
4041 - Change load to check the URL as well as the referrer since it is possilbe to have a referrer which limits a load even thought the URL would allow it. There is a bug about how we need to re-evaluate the whole load architecture: <rdar://problem/5227992> Rethink canLoad() to have a consistent and comprehensive architecture.
4043 * loader/FrameLoader.cpp:
4044 (WebCore::FrameLoader::loadSubframe):
4045 (WebCore::FrameLoader::load):
4046 (WebCore::FrameLoader::canLoad):
4047 * loader/FrameLoader.h:
4049 2007-05-25 Anders Carlsson <andersca@apple.com>
4053 <rdar://problem/5209536>
4054 http://bugs.webkit.org/show_bug.cgi?id=13757
4055 REGRESSION: Leaks seen on buildbot after r21497.
4057 Fix multipart data loading so it works like Tiger Safari. When one part of a multipart connection has been loaded,
4058 move the subresource loader from the subresource loaders set and into a special multipart subresource loader set. This set
4059 is not considered when asking a document loader if it's currently loading.
4061 * loader/DocumentLoader.cpp:
4062 (WebCore::DocumentLoader::stopLoading):
4063 Always stop the multipart subresource loaders here.
4065 (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
4066 New function that moves the loader from m_subresourceLoaders to m_multipartSubresourceLoaders and updates the document loader's state.
4068 * loader/ProgressTracker.cpp:
4069 (WebCore::ProgressTracker::incrementProgress):
4070 If a progress item already exists, reuse it. This can happen in some rare circumstances when dealing with multipart data.
4072 * loader/SubresourceLoader.cpp:
4073 (WebCore::SubresourceLoader::didReceiveResponse):
4074 Call subresourceLoaderFinishedLoadingOnePart if the response is multipart.
4076 2007-05-25 Patti Hoa <patti@apple.com>
4078 Reviewed by Tim Hatcher.
4080 <rdar://problem/4918397> Exception raise inspecting note contents in the background
4082 * bridge/mac/WebCoreAXObject.mm:
4083 (-[WebCoreAXObject accessibilityDescription]):
4084 Only allow asking the attachmentView for description if attachmentView supports this description attribute
4086 2007-05-25 Beth Dakin <bdakin@apple.com>
4088 Reviewed by Oliver and Hyatt.
4090 Fix for <rdar://problem/5228363> REGRESSION: In Mail, attempting to
4091 create a To Do results in a crash
4093 This regressed with r21635. Now that -boundingBox updates layout if
4094 it is needed, we infinitely recurse when Mail draws a custom
4095 highlight. The fix is to put a guard around laying out the render
4098 * page/FrameView.cpp:
4099 (WebCore::FrameViewPrivate::reset):
4100 (WebCore::FrameView::layout):
4102 2007-05-25 Patti Hoa <patti@apple.com>
4104 Reviewed by John Sullivan.
4106 <rdar://problem/5221986> selection in web areas doesn't seem to be working for text navigation
4108 * bridge/mac/WebCoreAXObject.mm:
4109 (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
4110 Fixed up incorrect string comparison for AXSelectedTextMarkerRange ax attribute so
4111 this attribute can actually announce its settability.
4113 2007-05-25 Darin Adler <darin@apple.com>
4117 - fix <rdar://problem/5228048> REGRESSION: In a new Mail message, the caret isn't
4118 immediately inserted when tabbing into or clicking in the message body
4120 This latent problem was uncovered by <http://trac.webkit.org/projects/webkit/changeset/21476>,
4121 which removed some code that did extra work whenever setCaretVisible made the caret visible.
4123 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Call invalidateCaretRect
4124 when turning the caret on. All other call sites that touched m_caretPaint were doing
4125 this, but this was not.
4127 2007-05-25 Darin Adler <darin@apple.com>
4129 Reviewed by Harrison.
4131 * DerivedSources.make: Tweaked spelling.
4133 2007-05-25 Mitz Pettel <mitz@webkit.org>
4137 - fix http://bugs.webkit.org/show_bug.cgi?id=13872
4138 REGRESSION: An empty search field can have a cancel button
4140 Test: fast/forms/search-cancel-button-style-sharing.html
4142 * rendering/RenderTextControl.cpp:
4143 (WebCore::RenderTextControl::createCancelButtonStyle): Prevented sharing of
4144 the cancel button style between search fields that share style, because
4145 each search field mutates the style to show and hide the cancel button.
4147 2007-05-25 David Harrison <harrison@apple.com>
4149 Reviewed by Kevin and Geoff.
4151 * DerivedSources.make:
4152 Add an inclusion guard for CSSGrammar.h and XPathGrammar.h, because older versions of bison do not
4154 * css/maketokenizer:
4155 Unconditionally define the flex basic types that are not part of newer versions of flex. Was
4156 only needed on Linux. Now needed on Mac OS 10.5, and is OK to do on 10.4.9.
4158 2007-05-25 Geoffrey Garen <ggaren@apple.com>
4160 Reviewed by Darin Adler.
4162 Moved JavaScriptCore-related pending public API to public API.
4166 * bindings/objc/WebScriptObjectPendingPublic.h: from here
4167 * bindings/objc/WebScriptObject.h: to here
4168 * bindings/objc/WebScriptObject.mm: and out of its temporary category
4170 2007-05-25 Mitz Pettel <mitz@webkit.org>
4174 - fix http://bugs.webkit.org/show_bug.cgi?id=13767
4175 REGRESSION: Multipart image documents are garbled
4177 Test: http/tests/multipart/invalid-image-data-standalone.html
4179 * loader/DocumentLoader.cpp:
4180 (WebCore::DocumentLoader::isLoadingMultipartContent): Added.
4181 * loader/DocumentLoader.h:
4182 * loader/ImageDocument.cpp:
4183 (WebCore::ImageTokenizer::finish): If the image is multipart, make a copy
4184 of the current part instead of using the resource data, which is going to be
4185 overwritten by the next part.
4186 * loader/MainResourceLoader.h:
4187 (WebCore::MainResourceLoader::isLoadingMultipartContent): Added.
4189 2007-05-25 Anders Carlsson <andersca@apple.com>
4193 * bindings/js/kjs_html.cpp:
4194 (KJS::HTMLElementFunction::callAsFunction):
4196 2007-05-25 Anders Carlsson <andersca@apple.com>
4200 <rdar://problem/5226788> After resizing the window larger than the image, hovering over the image still shows magnify glass
4202 One part of the bug was already fixed by my previous commit. This fixes the case where the window is sized so the image fit
4203 after it has been zoomed in.
4205 * loader/ImageDocument.cpp:
4206 (WebCore::ImageDocument::windowSizeChanged):
4208 2007-05-25 John Sullivan <sullivan@apple.com>
4210 Reviewed by Anders and Tim
4212 - WebCore change for:
4213 <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting to grammar/spellcheck a word in a reply
4215 * editing/Editor.cpp:
4216 (WebCore::findFirstBadGrammarInRange):
4217 Use the more obvious way to check whether a range is empty. In this case the more obvious way
4218 would also have caused no problem to occur. Also added an assertion. Though this change is
4219 enough to fix the symptom of the bug, the real fix is in WebKit.
4221 2007-05-25 Anders Carlsson <andersca@apple.com>
4223 Reviewed by Darin (Sorta).
4225 * loader/ImageDocument.cpp:
4226 (WebCore::ImageDocument::restoreImageSize):
4227 Use removeProperty here.
4229 2007-05-25 Geoffrey Garen <ggaren@apple.com>
4231 Reviewed by Darin Adler.
4233 Some cleanup to Cache while Fixing <rdar://problem/5055182> The page cache
4236 * loader/Cache.cpp: Removed destructor to help identify this class as a
4239 * loader/Cache.h: Made constructor and destructor private to match the
4240 singleton model of PageCache.
4242 Put structs related to Cache inside its declaration to fix some namespace
4243 conflicts I had while writing my patch. (They don't exist anymore, but
4244 I figured this might help future development.)
4246 2007-05-24 Geoffrey Garen <ggaren@apple.com>
4248 Reviewed by Darin Adler.
4250 Fixed a bug with Settings where a number of different objects held bare
4251 Settings* data members, even though the Page owns the Settings object and
4252 deletes it upon destruction.
4254 Added NULL checks since the Page can be deleted before the frame/document.
4256 * page/Settings.cpp: Removed reliance on setNeedsReapplyStylesForSettingsChange.
4258 * css/cssstyleselector.cpp: CSSStyleSelector was the worst offender. It
4259 held a number of back pointers that were not guaranteed. I removed the
4260 Settings*, Frame*, and FrameView* back pointers, but others could probably
4261 go, too. I replaced them with a single Document* pointer, which is guaranteed
4262 because the Document owns the CSSStyleSelector.
4264 * page/Page.cpp: Removed setNeedsReapplyStylesForSettingsChange -- the
4265 Settings object is now a proper subcontroller of Page, so it doesn't need
4266 to use a global table to find its page anymore. Also, this function
4267 confusingly implied that the Frames in a page can have heterogeneous settings,
4270 2007-05-25 David Hyatt <hyatt@apple.com>
4272 Make sure -webkit-border-fit accounts for padding as well as border.