1 2006-12-09 Lars Knoll <lars@trolltech.com>
5 Make it possible to build WebKit with qmake.
8 * platform/graphics/qt/GraphicsContextQt.cpp:
10 2006-12-10 Lars Knoll <lars@trolltech.com>
14 Compile after latest WebKit changes and don't depend
15 on deprecated methods in Qt.
17 * platform/network/qt/ResourceHandleManager.cpp:
18 (WebCore::ResourceHandleManager::remove):
19 (WebCore::ResourceHandleManager::deliverJobData):
20 * platform/network/qt/ResourceHandleQt.cpp:
21 (WebCore::ResourceHandle::extractCharsetFromHeaders):
22 * platform/qt/PlatformKeyboardEventQt.cpp:
23 (WebCore::windowsKeyCodeForKeyEvent):
25 2006-12-10 Lars Knoll <lars@trolltech.com>
29 Use the Qt image loading framework.
32 * platform/graphics/ImageSource.h:
33 * platform/graphics/qt/GraphicsContextQt.cpp:
34 * platform/graphics/qt/ImageDecoderQt.cpp: Added.
35 (WebCore::ImageDecoderQt::ImageData::ImageData):
36 (WebCore::ImageDecoderQt::ReadContext::):
37 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
38 (WebCore::ImageDecoderQt::ReadContext::read):
39 (WebCore::ImageDecoderQt::ReadContext::readImageLines):
40 (WebCore::ImageDecoderQt::ImageDecoderQt):
41 (WebCore::ImageDecoderQt::~ImageDecoderQt):
42 (WebCore::ImageDecoderQt::hasFirstImageHeader):
43 (WebCore::ImageDecoderQt::reset):
44 (WebCore::ImageDecoderQt::setData):
45 (WebCore::ImageDecoderQt::isSizeAvailable):
46 (WebCore::ImageDecoderQt::frameCount):
47 (WebCore::ImageDecoderQt::repetitionCount):
48 (WebCore::ImageDecoderQt::ImageDecoderQt::supportsAlpha):
49 (WebCore::ImageDecoderQt::duration):
50 (WebCore::ImageDecoderQt::frameBufferAtIndex):
51 (WebCore::ImageDecoderQt::imageAtIndex):
52 * platform/graphics/qt/ImageDecoderQt.h: Added.
53 (WebCore::ImageDecoderQt::):
54 * platform/graphics/qt/ImageSourceQt.cpp:
56 (WebCore::detectImageFormat):
57 (WebCore::createDecoder):
58 (WebCore::ImageSource::setData):
59 (WebCore::ImageSource::createFrameAtIndex):
60 (WebCore::ImageSource::frameDurationAtIndex):
61 (WebCore::ImageSource::frameHasAlphaAtIndex):
63 2006-12-09 Lars Knoll <lars@trolltech.com>
67 Remove an explicit ICU dependency.
69 * xml/XPathParser.cpp:
70 (WebCore::XPath::charCat):
72 2006-12-09 Zack Rusin <zack@kde.org>
74 Adjusting the build after the icu changes.
78 2006-12-09 Adam Roben <aroben@apple.com>
82 Changed all ForwardingHeaders to use #include instead of #import.
84 * ForwardingHeaders/kjs/JSLock.h:
85 * ForwardingHeaders/kjs/SavedBuiltins.h:
86 * ForwardingHeaders/kjs/collector.h:
87 * ForwardingHeaders/kjs/dtoa.h:
88 * ForwardingHeaders/kjs/internal.h:
89 * ForwardingHeaders/kjs/interpreter.h:
90 * ForwardingHeaders/kjs/lookup.h:
91 * ForwardingHeaders/kjs/object.h:
92 * ForwardingHeaders/kjs/property_map.h:
93 * ForwardingHeaders/kjs/protect.h:
94 * ForwardingHeaders/wtf/AlwaysInline.h:
95 * ForwardingHeaders/wtf/Assertions.h:
96 * ForwardingHeaders/wtf/FastMalloc.h:
97 * ForwardingHeaders/wtf/GetPtr.h:
98 * ForwardingHeaders/wtf/HashCountedSet.h:
99 * ForwardingHeaders/wtf/HashMap.h:
100 * ForwardingHeaders/wtf/HashSet.h:
101 * ForwardingHeaders/wtf/HashTraits.h:
102 * ForwardingHeaders/wtf/MathExtras.h:
103 * ForwardingHeaders/wtf/Noncopyable.h:
104 * ForwardingHeaders/wtf/OwnArrayPtr.h:
105 * ForwardingHeaders/wtf/OwnPtr.h:
106 * ForwardingHeaders/wtf/PassRefPtr.h:
107 * ForwardingHeaders/wtf/Platform.h:
108 * ForwardingHeaders/wtf/RefPtr.h:
109 * ForwardingHeaders/wtf/Vector.h:
111 2006-12-09 Rob Buis <buis@kde.org>
115 http://bugs.webkit.org/show_bug.cgi?id=11625
116 Investigate possibility to share code between HTMLStyleElement and SVGStyleElement
118 Add a class shared by both HTMLStyleElement and SVGStyleElement that
119 encapsulates the common logic.
122 * WebCore.xcodeproj/project.pbxproj:
124 (WebCore::Document::recalcStyleSelector):
125 Generalize stylesheet processing of svg and html.
127 * dom/StyleElement.cpp: Added.
128 (WebCore::StyleElement::StyleElement):
129 (WebCore::StyleElement::sheet):
130 (WebCore::StyleElement::insertedIntoDocument):
131 (WebCore::StyleElement::removedFromDocument):
132 (WebCore::StyleElement::childrenChanged):
133 * dom/StyleElement.h: Added.
134 (WebCore::StyleElement::~StyleElement):
135 (WebCore::StyleElement::isLoading):
136 Common base class for SVGStyleElement and HTMLStyleElement.
138 * html/HTMLStyleElement.cpp:
139 (WebCore::HTMLStyleElement::HTMLStyleElement):
140 (WebCore::HTMLStyleElement::parseMappedAttribute):
141 (WebCore::HTMLStyleElement::insertedIntoDocument):
142 (WebCore::HTMLStyleElement::removedFromDocument):
143 (WebCore::HTMLStyleElement::childrenChanged):
144 (WebCore::HTMLStyleElement::media):
145 (WebCore::HTMLStyleElement::setMedia):
146 (WebCore::HTMLStyleElement::type):
147 (WebCore::HTMLStyleElement::setType):
148 * html/HTMLStyleElement.h:
149 Use new common class.
151 * ksvg2/svg/SVGElement.cpp:
152 * ksvg2/svg/SVGElement.h:
153 * ksvg2/svg/SVGSVGElement.cpp:
154 (WebCore::SVGSVGElement::contentScriptType):
155 (WebCore::SVGSVGElement::contentStyleType):
156 * ksvg2/svg/SVGSVGElement.h:
157 Do not use tryGetAttribute(NS) anymore.
159 * ksvg2/svg/SVGStyleElement.cpp:
160 (WebCore::SVGStyleElement::SVGStyleElement):
161 (WebCore::SVGStyleElement::xmlspace):
162 (WebCore::SVGStyleElement::type):
163 (WebCore::SVGStyleElement::media):
164 (WebCore::SVGStyleElement::title):
165 (WebCore::SVGStyleElement::insertedIntoDocument):
166 (WebCore::SVGStyleElement::removedFromDocument):
167 (WebCore::SVGStyleElement::childrenChanged):
168 * ksvg2/svg/SVGStyleElement.h:
169 Use new common class.
171 2006-12-08 David Hyatt <hyatt@apple.com>
173 Land the new ICU abstraction layer (WTF::Unicode). Patch
174 by Lars with a couple of fixes thrown in by me.
178 * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
179 * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
180 * WebCore.xcodeproj/project.pbxproj:
182 (WebCore::ParseString::lower):
184 (WebCore::isValidNameStart):
185 (WebCore::isValidNamePart):
186 * editing/TextIterator.cpp:
187 (WebCore::CircularSearchBuffer::append):
188 * html/HTMLFontElement.cpp:
189 (WebCore::parseFontSizeNumber):
190 * html/HTMLInputElement.cpp:
191 (WebCore::numGraphemeClusters):
192 (WebCore::numCharactersInGraphemeClusters):
193 * html/HTMLSelectElement.cpp:
194 (WebCore::stripLeadingWhiteSpace):
196 * platform/DeprecatedString.h:
197 (WebCore::DeprecatedChar::isSpace):
198 (WebCore::DeprecatedChar::lower):
199 (WebCore::DeprecatedChar::upper):
201 (WebCore::WidthIterator::advance):
202 (WebCore::WidthIterator::normalizeVoicingMarks):
203 * platform/FontCache.h:
204 * platform/FontData.h:
205 * platform/GlyphMap.cpp:
206 * platform/GlyphMap.h:
207 * platform/GlyphWidthMap.h:
209 (WebCore::encodeHostname):
210 * platform/StringHash.h:
212 * platform/StringImpl.cpp:
214 (WebCore::parseLength):
215 (WebCore::StringImpl::isLower):
216 (WebCore::StringImpl::lower):
217 (WebCore::StringImpl::upper):
218 (WebCore::StringImpl::secure):
219 (WebCore::StringImpl::foldCase):
220 (WebCore::StringImpl::capitalize):
221 (WebCore::StringImpl::toInt):
222 (WebCore::equalIgnoringCase):
223 (WebCore::StringImpl::find):
224 * platform/StringImpl.h:
225 * platform/TextBoundaries.h:
226 * platform/TextBreakIterator.h: Added.
228 * platform/TextBreakIteratorICU.cpp: Added.
229 (WebCore::wordBreakIterator):
230 (WebCore::characterBreakIterator):
231 (WebCore::textBreakFirst):
232 (WebCore::textBreakNext):
233 (WebCore::textBreakPreceding):
234 (WebCore::textBreakFollowing):
235 (WebCore::textBreakCurrent):
236 * platform/TextCodec.h:
237 * platform/TextCodecLatin1.cpp:
238 * platform/TextEncoding.cpp:
239 (WebCore::TextEncoding::encode):
240 * platform/TextEncoding.h:
241 * platform/TextEncodingRegistry.cpp:
242 (WebCore::buildTextEncodingNameMap):
243 (WebCore::buildTextCodecMap):
244 * platform/TextEncodingRegistry.h:
245 * platform/UChar.h: Removed.
246 * platform/graphics/GraphicsContext.h:
247 * platform/qt/GlyphMapQt.cpp:
248 * platform/qt/TextBreakIteratorQt.cpp: Added.
249 (WebCore::TextBreakIterator::following):
250 (WebCore::TextBreakIterator::preceding):
251 (WebCore::WordBreakIteratorQt::first):
252 (WebCore::WordBreakIteratorQt::next):
253 (WebCore::WordBreakIteratorQt::previous):
254 (WebCore::CharBreakIteratorQt::first):
255 (WebCore::CharBreakIteratorQt::next):
256 (WebCore::CharBreakIteratorQt::previous):
257 (WebCore::wordBreakIterator):
258 (WebCore::characterBreakIterator):
259 (WebCore::textBreakFirst):
260 (WebCore::textBreakNext):
261 (WebCore::textBreakPreceding):
262 (WebCore::textBreakFollowing):
263 (WebCore::textBreakCurrent):
264 * platform/qt/TextCodecQt.cpp: Added.
265 (WebCore::getAtomicName):
266 (WebCore::TextCodecQt::registerEncodingNames):
267 (WebCore::newTextCodecQt):
268 (WebCore::TextCodecQt::registerCodecs):
269 (WebCore::TextCodecQt::TextCodecQt):
270 (WebCore::TextCodecQt::~TextCodecQt):
271 (WebCore::TextCodecQt::decode):
272 (WebCore::TextCodecQt::encode):
273 * platform/qt/TextCodecQt.h: Added.
274 * rendering/RenderBlock.cpp:
275 (WebCore::RenderBlock::updateFirstLetter):
276 * rendering/RenderText.cpp:
277 (WebCore::RenderText::previousOffset):
278 (WebCore::RenderText::nextOffset):
279 (WebCore::RenderText::widthFromCache):
280 * rendering/RenderText.h:
281 * rendering/bidi.cpp:
282 (WebCore::BidiState::BidiState):
283 (WebCore::BidiContext::BidiContext):
285 (WebCore::bidiFirst):
286 (WebCore::BidiIterator::direction):
287 (WebCore::appendRun):
289 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
290 (WebCore::RenderBlock::bidiReorderLine):
291 (WebCore::RenderBlock::layoutInlineChildren):
293 (WebCore::BidiStatus::BidiStatus):
294 (WebCore::BidiContext::dir):
295 (WebCore::BidiContext::basicDir):
296 (WebCore::BidiRun::BidiRun):
297 * rendering/break_lines.h:
299 2006-12-08 Adam Roben <aroben@apple.com>
301 Rolling out r17865 because it caused a performance regression.
303 * loader/TextResourceDecoder.cpp:
304 (WebCore::findXMLEncoding):
305 * platform/CString.cpp:
306 (WebCore::CString::data):
307 * platform/CString.h:
308 * platform/TextStream.cpp:
309 (WebCore::TextStream::operator<<):
310 * platform/TextStream.h:
312 2006-12-08 Zack Rusin <zack@kde.org>
316 Fix the Qt/KDE build after all the API changes.
319 * editing/qt/EditorQt.cpp: Added.
320 (WebCore::Editor::newGeneralClipboard):
321 (WebCore::Editor::ignoreSpelling):
322 (WebCore::Editor::learnSpelling):
323 (WebCore::Editor::advanceToNextMisspelling):
324 (WebCore::Editor::isSelectionMisspelled):
325 (WebCore::Editor::isSelectionUngrammatical):
326 (WebCore::Editor::guessesForUngrammaticalSelection):
327 (WebCore::Editor::guessesForMisspelledSelection):
328 (WebCore::Editor::markMisspellingsInAdjacentWords):
329 (WebCore::Editor::markMisspellings):
330 * loader/NavigationAction.h:
331 * loader/qt/FrameLoaderClientQt.cpp:
332 (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
333 (WebCore::FrameLoaderClientQt::canHandleRequest):
334 * loader/qt/FrameLoaderClientQt.h:
335 * loader/qt/FrameLoaderQt.cpp:
336 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
337 (WebCore::FrameLoader::load):
338 * loader/qt/ResourceLoaderQt.cpp:
339 * platform/ContextMenu.h:
340 * platform/graphics/qt/GraphicsContextQt.cpp:
341 * platform/graphics/qt/PathQt.cpp:
342 (WebCore::Path::addArc):
343 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
344 (WebCore::SVGPaintServerLinearGradient::setup):
345 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
347 * platform/network/ResourceHandle.h:
348 (WebCore::ResourceHandle::getInternal):
349 * platform/network/ResourceHandleInternal.h:
350 * platform/network/qt/ResourceHandleManager.cpp:
351 (WebCore::ResourceHandleManager::slotData):
352 (WebCore::ResourceHandleManager::remove):
353 * platform/network/qt/ResourceHandleQt.cpp:
354 (WebCore::ResourceHandle::~ResourceHandle):
355 (WebCore::ResourceHandle::start):
356 * platform/qt/ChromeClientQt.cpp:
357 (WebCore::ChromeClientQt::addMessageToConsole):
358 (WebCore::ChromeClientQt::chromeDestroyed):
359 * platform/qt/ChromeClientQt.h:
360 * platform/qt/ContextMenuClientQt.cpp:
361 (WebCore::ContextMenuClientQt::copyLinkToClipboard):
362 (WebCore::ContextMenuClientQt::downloadURL):
363 (WebCore::ContextMenuClientQt::copyImageToClipboard):
364 (WebCore::ContextMenuClientQt::contextMenuDestroyed):
365 (WebCore::ContextMenuClientQt::contextMenuItemSelected):
366 * platform/qt/ContextMenuClientQt.h:
367 * platform/qt/ContextMenuItemQt.cpp: Added.
368 (WebCore::ContextMenuItem::ContextMenuItem):
369 (WebCore::ContextMenuItem::~ContextMenuItem):
370 (WebCore::ContextMenuItem::platformDescription):
371 (WebCore::ContextMenuItem::action):
372 (WebCore::ContextMenuItem::title):
373 (WebCore::ContextMenuItem::setAction):
374 (WebCore::ContextMenuItem::setTitle):
375 (WebCore::ContextMenuItem::setSubMenu):
376 * platform/qt/ContextMenuQt.cpp:
377 (WebCore::ContextMenu::ContextMenu):
378 (WebCore::ContextMenu::~ContextMenu):
379 (WebCore::ContextMenu::appendItem):
380 (WebCore::ContextMenu::itemCount):
381 (WebCore::ContextMenu::insertItem):
382 (WebCore::ContextMenu::setPlatformDescription):
383 * platform/qt/CursorQt.cpp:
384 (WebCore::copyCursor):
385 * platform/qt/EditorClientQt.cpp:
386 (WebCore::EditorClientQt::shouldInsertNode):
387 (WebCore::WebCore::EditorClientQt::pageDestroyed):
388 (WebCore::EditorClientQt::smartInsertDeleteEnabled):
389 * platform/qt/EditorClientQt.h:
390 * platform/qt/FrameQt.cpp:
391 (WebCore::FrameQt::FrameQt):
392 (WebCore::FrameQt::keyEvent):
393 * platform/qt/FrameQt.h:
394 * platform/qt/FrameQtClient.cpp:
395 (WebCore::FrameQtClientDefault::openURL):
396 (WebCore::FrameQtClientDefault::submitForm):
397 * platform/qt/LoaderFunctionsQt.cpp:
398 * platform/qt/PasteboardQt.cpp: Added.
399 (WebCore::Pasteboard::Pasteboard):
400 (WebCore::Pasteboard::generalPasteboard):
401 (WebCore::Pasteboard::clearTypes):
402 (WebCore::Pasteboard::writeSelection):
403 (WebCore::Pasteboard::canSmartReplace):
404 (WebCore::Pasteboard::plainText):
405 (WebCore::Pasteboard::documentFragment):
407 === Safari-521.32 ===
409 2006-12-08 Rob Buis <buis@kde.org>
413 http://bugs.webkit.org/show_bug.cgi?id=10188
414 Form elements added via appendChild() are not accessible via form.element
416 Make sure looking up form elements works when the form is not appended
419 * html/HTMLFormElement.cpp:
420 (WebCore::HTMLFormElement::registerFormElement):
422 2006-12-08 Rob Buis <buis@kde.org>
426 http://bugs.webkit.org/show_bug.cgi?id=11765
427 REGRESSION: Clicking on a select with size other than 1 and no children results in a crash
429 Make sure returned value is -1 for selects without children.
431 * rendering/RenderListBox.cpp:
432 (WebCore::RenderListBox::listIndexAtOffset):
434 2006-12-08 Adam Roben <aroben@apple.com>
438 This is a mo' better fix for ensuring we don't use macro definitions
443 2006-12-08 Don Gibson <dgibson77@gmail.com>
445 Reviewed and landed by Alexey.
447 http://bugs.webkit.org/show_bug.cgi?id=11759:
448 Windows build bustage
450 * WebCore.vcproj/WebCore/WebCore.vcproj:
451 * bridge/win/ContextMenuClientWin.h:
452 * bridge/win/FrameWin.h:
453 * loader/win/FrameLoaderWin.cpp:
454 (WebCore::FrameLoader::submitForm):
455 * platform/network/win/ResourceHandleWin.cpp:
456 (WebCore::ResourceHandle::onRequestComplete):
457 (WebCore::ResourceHandle::fileLoadTimer):
458 (WebCore::ResourceHandle::cancel):
459 * platform/win/MouseEventWin.cpp:
460 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
461 * platform/win/TemporaryLinkStubs.cpp:
462 (WebCore::fileButtonChooseFileLabel):
463 (WebCore::inputElementAltText):
464 (WebCore::copyCursor):
465 (WebCore::resetButtonDefaultLabel):
466 (WebCore::ContextMenuClientWin::contextMenuItemSelected):
467 (WebCore::ContextMenuClientWin::copyLinkToClipboard):
468 (WebCore::ContextMenuClientWin::downloadURL):
469 (WebCore::ContextMenuClientWin::copyImageToClipboard):
470 (WebCore::Editor::ignoreSpelling):
471 (WebCore::Editor::learnSpelling):
472 (WebCore::Editor::isSelectionUngrammatical):
473 (WebCore::Editor::isSelectionMisspelled):
474 (WebCore::Editor::guessesForMisspelledSelection):
475 (WebCore::Editor::guessesForUngrammaticalSelection):
476 (WebCore::Editor::markMisspellingsInAdjacentWords):
477 (WebCore::FrameLoader::load):
478 (WebCore::FrameWin::scheduleClose):
479 (WebCore::FrameWin::respondToChangedSelection):
481 2006-12-08 Sam Weinig <sam@webkit.org>
485 Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
486 Crash when using XMLSerializer.serializeToString() on
487 documentless, DocumentType nodes.
489 Test: fast/dom/XMLSerializer-doctype.html
490 Test: fast/dom/XMLSerializer-doctype2.html
492 * dom/DOMImplementation.cpp:
493 (WebCore::DOMImplementation::createDocument): set the document of the
494 DocumentType node to the new document.
495 * xml/XMLSerializer.cpp: Cleanup.
496 (WebCore::XMLSerializer::serializeToString): now throws an exception
497 for documentless nodes.
498 * xml/XMLSerializer.h: cleanup
499 * xml/XMLSerializer.idl: add exception
501 2006-12-07 Justin Garcia <justin.garcia@apple.com>
505 <rdar://problem/4836287>
506 Cannot expand selection out of editable element when containing element is non-editable.
508 * editing/Selection.cpp:
509 (WebCore::Selection::adjustForEditableContent): Restrict the selection endpoints
510 to the same *highest* editable root. This bug only happened when creating selections
511 based in an editable region and extending into a higher editable root, so this change
512 doesn't expose any new kinds of deletions, but we should start thinking about how
513 those deletions should behave.
514 * editing/SelectionController.cpp:
515 (WebCore::SelectionController::selectAll): Ditto.
517 2006-12-08 Beth Dakin <bdakin@apple.com>
521 Add a new member variable to ContextMenuItem to hold on to the sub-
522 menu. The new member variable is an OwnPtr<ContextMenu>
524 * platform/ContextMenu.cpp: Because of the OwnPtr in
525 ContextMenuItem, we have to separate the declaration of
526 ContextMenuItems away from the calls to appendItem(). Not doing so
527 causes a build failure because OwnPtr inherits from Noncopyable.
528 (WebCore::createFontSubMenu): Same.
529 (WebCore::createSpellingAndGrammarSubMenu): Same.
530 (WebCore::createSpellingSubMenu): Same.
531 (WebCore::createSpeechSubMenu): Same.
532 (WebCore::createWritingDirectionSubMenu): Same.
533 (WebCore::ContextMenu::populate): Same.
534 * platform/ContextMenuItem.h: New member variable m_subMenu.
535 * platform/mac/ContextMenuItemMac.mm: Take care of setting
536 m_subMenu in addition to setting the submenu of the NSMenuItem when
538 (WebCore::menuToArray):
539 (WebCore::ContextMenuItem::ContextMenuItem): Same.
540 (WebCore::ContextMenuItem::platformSubMenu): Same.
541 (WebCore::ContextMenuItem::setSubMenu): Same.
543 2006-12-08 MorganL <morganl.webkit@yahoo.com>
547 http://bugs.webkit.org/show_bug.cgi?id=11778
548 CString::data() should be documented as returning a null terminated char array
550 * platform/CString.h:
551 Add some basic documentation to CString.h
553 2006-12-08 Alexey Proskuryakov <ap@webkit.org>
557 http://bugs.webkit.org/show_bug.cgi?id=11718
558 REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
559 continues to scroll automatically.
561 Test: manual-tests/autoscroll.html
563 * manual-tests/autoscroll.html: Added.
565 * page/EventHandler.cpp:
566 (WebCore::EventHandler::handleMousePressEvent):
567 Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
568 Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
569 was only defined if the event was passed down to a widget or a subframe.
571 (WebCore::EventHandler::stopAutoscrollTimer):
572 If the mouse down event was in a subframe, stop the subframe's timer.
574 2006-12-08 Alexey Proskuryakov <ap@webkit.org>
578 http://bugs.webkit.org/show_bug.cgi?id=6275
579 XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
581 * bindings/js/JSXMLHttpRequest.cpp:
582 (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
583 Convert null getResponseHeader strings to JS null, rather than undefined.
585 2006-12-08 Alexey Proskuryakov <ap@webkit.org>
589 http://bugs.webkit.org/show_bug.cgi?id=9854
590 HTTP Refresh header with quotes is parsed incorrectly
592 Test: http/tests/misc/redirect-with-quotes.php
594 * WebCore.xcodeproj/project.pbxproj:
595 Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
598 (WebCore::Document::processHttpEquiv):
599 * loader/FrameLoader.cpp:
600 (WebCore::FrameLoader::receivedFirstData):
601 Use the new implementation in HTTPHeaders.
603 * platform/network/HTTPParsers.cpp: Added.
604 (WebCore::skipWhiteSpace):
605 (WebCore::parseHTTPRefresh):
606 * platform/network/HTTPParsers.h: Added.
607 Merged and rewrote existing implementations for better Firefox compatibility.
609 2006-12-08 Alexey Proskuryakov <ap@webkit.org>
613 http://bugs.webkit.org/show_bug.cgi?id=11772
614 REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
616 Test: fast/dom/serialize-cdata.html
618 * editing/markup.cpp:
619 (WebCore::startMarkup): Dump CDATA sections, too.
621 2006-12-08 Mitz Pettel <mitz@webkit.org>
625 Deleted misplaced comment.
627 * rendering/RenderWidget.cpp:
629 2006-12-08 Rob Buis <buis@kde.org>
633 http://bugs.webkit.org/show_bug.cgi?id=6074
634 WebKit+SVG and FireFox disagree on invalid "transform" handling
636 Test for parsing failure on transform attribute and clear the transform
637 list upon failure to match FF behaviour.
639 * ksvg2/svg/SVGGradientElement.cpp:
640 (WebCore::SVGGradientElement::parseMappedAttribute):
641 * ksvg2/svg/SVGPatternElement.cpp:
642 (WebCore::SVGPatternElement::parseMappedAttribute):
643 * ksvg2/svg/SVGStyledTransformableElement.cpp:
644 (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
645 * ksvg2/svg/SVGTextElement.cpp:
646 (WebCore::SVGTextElement::parseMappedAttribute):
647 * ksvg2/svg/SVGTransformable.cpp:
648 (WebCore::SVGTransformable::parseTransformAttribute):
649 * ksvg2/svg/SVGTransformable.h:
651 2006-12-07 Geoffrey Garen <ggaren@apple.com>
653 Reviewed by Beth Dakin.
655 Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer
656 dispatches onchange event in response to enter key
658 To match our old behavior and FF, we need to dispatch onchange in response to the
659 ENTER key. The strategy here is just to dispatch a blur event, since that's how
660 the search field always worked, and the DOM spec says onchange only fires
661 as a precursor to blur.
664 * html/HTMLInputElement.cpp:
665 (WebCore::HTMLInputElement::defaultEventHandler):
667 2006-12-07 Adam Roben <aroben@apple.com>
671 Some small context menu-related fixes.
673 * html/HTMLFrameSetElement.cpp:
674 (WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
675 resize on a contextmenuEvent.
676 * html/HTMLInputElement.cpp:
677 (WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
678 off to HTMLGenericFormElement if we haven't handled it.
680 2006-12-07 Anders Carlsson <acarlsson@apple.com>
684 <rdar://problem/4838778>
685 Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
687 * loader/SubresourceLoader.cpp:
688 (WebCore::SubresourceLoader::stopLoading):
689 * loader/SubresourceLoader.h:
690 Add stopLoading method which currently just clears the client. This isn't the ideal fix,
691 since it doesn't actually stop the load.
693 * loader/mac/SubresourceLoaderMac.mm:
694 (WebCore::SubresourceLoader::willSendRequest):
695 (WebCore::SubresourceLoader::didReceiveResponse):
696 (WebCore::SubresourceLoader::didReceiveData):
697 (WebCore::SubresourceLoader::didFinishLoading):
698 (WebCore::SubresourceLoader::didFail):
699 (WebCore::SubresourceLoader::didCancel):
702 * xml/xmlhttprequest.cpp:
703 (WebCore::XMLHttpRequest::abort):
706 2006-12-07 Kevin McCullough <kmccullough@apple.com>
710 - added the ability to set the auto repeating variable to force a keyPressed
711 event from a keyDown event.
713 * platform/PlatformKeyboardEvent.h:
714 (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
716 2006-12-07 Don Gibson <dgibson77@gmail.com>
720 http://bugs.webkit.org/show_bug.cgi?id=11749
721 Don't call updateThumbProportion() unnecessarily.
723 * platform/ScrollBar.cpp:
724 (WebCore::Scrollbar::setProportion):
726 2006-12-07 Beth Dakin <bdakin@apple.com>
730 Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't
731 doing anything before, and now it works! Also some formatting
734 * page/ContextMenuClient.h: Several of the parameters to several of
735 the functions here should be const or const references. And now
737 * page/ContextMenuController.cpp:
738 (WebCore::openNewWindow): Moved the open new window functionality
739 into a helper function since it is used by several menu item tags.
740 Now after calling chrome()->createWindow() we call chrome()->show()
741 on the new window, and so it appears!
742 (WebCore::ContextMenuController::contextMenuItemSelected): Call new
743 openNewWindow function to do the right thing. Shift some
744 formatting, use local variable for HitTestResult. Implement action
745 for ContextMenuItemTagOpenLink.
747 2006-12-06 Kevin McCullough <KMcCullough@apple.com>
751 - Removed a conflict marker
755 2006-12-06 Justin Garcia <justin.garcia@apple.com>
759 <rdar://problem/4818134>
760 Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
762 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
763 * editing/visible_units.cpp:
764 (WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
765 RootInlineBoxes, like empty editable blocks and bordered blocks.
766 (WebCore::endOfLine): Ditto.
768 2006-12-06 Kevin McCullough <KMcCullough@apple.com>
772 - Removed a conflict marker
776 2006-12-06 Justin Garcia <justin.garcia@apple.com>
780 <rdar://problem/4854869>
781 Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts
783 * editing/htmlediting.cpp:
784 (WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
785 from editable content.
786 * editing/markup.cpp:
787 (WebCore::createMarkup): A null commonAncestorBlock will happen
788 if commonAncestor is inside an inline editable root that doesn't
789 contain any blocks. Removed an early return for this case: the
790 code below the early return can and must handle it.
792 2006-12-06 Timothy Hatcher <timothy@apple.com>
794 Reviewed by Mark Rowe.
796 <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
798 Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
799 This new file will have 64-bit only symbols we need to export.
801 * WebCore.LP64.exp: Added.
802 * WebCore.xcodeproj/project.pbxproj:
804 2006-12-06 Anders Carlsson <acarlsson@apple.com>
808 Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
810 * loader/ResourceLoader.h:
811 * loader/SubresourceLoader.cpp:
812 (WebCore::SubresourceLoader::create):
813 (WebCore::SubresourceLoader::didReceiveData):
814 (WebCore::SubresourceLoader::didFinishLoading):
815 (WebCore::SubresourceLoader::didFail):
816 * loader/SubresourceLoader.h:
817 (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
818 (WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
819 (WebCore::SubresourceLoader::willStopBufferingData):
820 (WebCore::SubresourceLoader::willCacheResponse):
821 (WebCore::SubresourceLoader::receivedCredential):
822 (WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
823 (WebCore::SubresourceLoader::receivedCancellation):
824 * loader/SubresourceLoaderClient.h:
825 (WebCore::SubresourceLoaderClient::didFail):
826 * loader/icon/IconLoader.cpp:
827 (WebCore::IconLoader::didFail):
828 * loader/icon/IconLoader.h:
830 (WebCore::Loader::didFail):
832 * loader/mac/ResourceLoaderMac.mm:
833 (WebCore::ResourceLoader::ResourceLoader):
834 (WebCore::ResourceLoader::addData):
835 (WebCore::ResourceLoader::resourceData):
836 * loader/mac/SubresourceLoaderMac.mm:
837 (WebCore::SubresourceLoader::SubresourceLoader):
838 (WebCore::SubresourceLoader::setDefersLoading):
839 (WebCore::SubresourceLoader::resourceData):
840 (WebCore::SubresourceLoader::load):
841 (WebCore::SubresourceLoader::create):
842 (WebCore::SubresourceLoader::willSendRequest):
843 (WebCore::SubresourceLoader::didReceiveResponse):
844 (WebCore::SubresourceLoader::didReceiveData):
845 (WebCore::SubresourceLoader::didFinishLoading):
846 (WebCore::SubresourceLoader::didFail):
847 (WebCore::SubresourceLoader::didCancel):
848 * platform/network/ResourceHandle.cpp:
849 (WebCore::ResourceHandle::ResourceHandle):
850 (WebCore::ResourceHandle::create):
851 * platform/network/ResourceHandle.h:
852 * platform/network/ResourceHandleClient.h:
853 (WebCore::ResourceHandleClient::didReceiveData):
854 (WebCore::ResourceHandleClient::didFail):
855 (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
856 (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
857 (WebCore::ResourceHandleClient::willStopBufferingData):
858 (WebCore::ResourceHandleClient::willCacheResponse):
859 (WebCore::ResourceHandleClient::receivedCredential):
860 (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
861 (WebCore::ResourceHandleClient::receivedCancellation):
862 * platform/network/ResourceHandleInternal.h:
863 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
864 * platform/network/mac/ResourceHandleMac.mm:
865 (WebCore::ResourceHandle::~ResourceHandle):
866 (WebCore::ResourceHandle::start):
867 (WebCore::ResourceHandle::cancel):
868 (WebCore::ResourceHandle::setDefersLoading):
869 (WebCore::ResourceHandle::delegate):
870 (WebCore::ResourceHandle::releaseDelegate):
871 (WebCore::ResourceHandle::supportsBufferedData):
872 (WebCore::ResourceHandle::bufferedData):
873 (-[WebCoreResourceHandleAsDelegate initWithHandle:]):
874 (-[WebCoreResourceHandleAsDelegate detachHandle]):
875 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
876 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
877 (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
878 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
879 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
880 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
881 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
882 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
883 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
884 (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
885 (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
886 (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
887 * xml/xmlhttprequest.cpp:
888 (WebCore::XMLHttpRequest::didFail):
889 * xml/xmlhttprequest.h:
891 2006-12-06 Beth Dakin <bdakin@apple.com>
895 There are two bugs with WebCore ContextMenus due to the static
896 ContextMenuItems. One bug is that we often crashed in
897 NSAutoreleasePool upon quitting the browser. The other bug is that
898 we were adding static NSMenuItems to multiple NSMenus, which is
899 disallowed. To fix these bugs, the MenuItems are no longer static.
900 This is in line with the current design in WebKit anyway. I made
901 some re-arrangements in the code because I also removed the macro
902 that was used to create the menu items since it was a bit
905 * platform/ContextMenu.cpp:
906 (WebCore::createFontSubMenu):
907 (WebCore::createSpellingAndGrammarSubMenu):
908 (WebCore::createSpellingSubMenu):
909 (WebCore::createSpeechSubMenu):
910 (WebCore::createWritingDirectionSubMenu):
911 (WebCore::ContextMenu::populate):
912 * platform/ContextMenuItem.h:
913 * platform/mac/ContextMenuItemMac.mm:
914 (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem
915 global separator item if we have SeparatorType.
916 * platform/mac/ContextMenuMac.mm:
917 (WebCore::setMenuItemTarget): Change name of getNSMenuItem since
918 that is no longer accurate.
919 (WebCore::ContextMenu::appendItem): Above name change.
920 (WebCore::ContextMenu::insertItem): Same.
922 2006-12-06 Kevin McCullough <kmccullough@apple.com>
926 - Returned the semantic meaning of the mask to be the actual repeat count,
927 and changed auto_repeat to correctly differnetiate between keypressed and keydown.
929 * platform/win/KeyEventWin.cpp:
930 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
932 2006-12-06 Justin Garcia <justin.garcia@apple.com>
936 <rdar://problem/4753545>
937 REGRESSION: Edited whitespace sequences are all nbsps (10636)
939 * WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
940 * editing/CompositeEditCommand.cpp:
941 (WebCore::isWhitespace): Moved from htmlediting.
942 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
943 once done in its own command here.
944 (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
945 whitespace around a position from collapsing when it's pushed apart during Paste.
946 This function can eventually be deployed to eliminate the need for leading/trailing
947 whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
948 (WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
949 * editing/CompositeEditCommand.h:
950 * editing/DeleteSelectionCommand.cpp:
951 (WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
952 saving the typing style, because whitespace rebalancing is no longer it's own
953 command that claims to preserve the typing style.
954 * editing/RebalanceWhitespaceCommand.cpp: Removed.
955 * editing/RebalanceWhitespaceCommand.h: Removed.
956 * editing/ReplaceSelectionCommand.cpp:
957 (WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
958 arond a position for being pushed aparat to its own method.
959 * editing/htmlediting.cpp:
960 (WebCore::stringWithRebalancedWhitespace): Added. Returns a rebalanced string.
961 Takes in whether or not the beginning of that string will be at the start of
962 a paragraph, because a space at such a position must have be nbsp, even if
963 that doesn't follow the nbsp/space pattern used. Similar stuff for the end
965 * editing/htmlediting.h:
966 * editing/markup.cpp:
967 (WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace. Pass
968 it the startOfParagraph/endOfParagraph bools.
970 2006-12-05 John Sullivan <sullivan@apple.com>
974 Moved spelling and grammar code from Frame to Editor
977 updated for these changes
980 removed declarations of spelling and grammar functions
982 * bridge/mac/FrameMac.h:
983 removed declarations of spelling and grammar functions
985 * bridge/mac/FrameMac.mm:
986 moved implementation of spelling and grammar functions from here
987 (WebCore::FrameMac::respondToChangedSelection):
988 updated for moved functions
991 moved declarations of spelling and grammar functions to here
993 * editing/mac/EditorMac.mm:
994 moved implementation of spelling and grammar functions to here; changed
995 only to make it compile (e.g. removing "editor()->" and adding "frame()->"
997 (WebCore::findFirstMisspellingInRange):
998 (WebCore::paragraphAlignedRangeForRange):
999 (WebCore::findFirstGrammarDetailInRange):
1000 (WebCore::findFirstBadGrammarInRange):
1001 (WebCore::Editor::advanceToNextMisspelling):
1002 (WebCore::Editor::isSelectionMisspelled):
1003 (WebCore::isRangeUngrammatical):
1004 (WebCore::Editor::isSelectionUngrammatical):
1005 (WebCore::Editor::guessesForUngrammaticalSelection):
1007 (WebCore::Editor::guessesForMisspelledSelection):
1008 (WebCore::Editor::markMisspellingsInAdjacentWords):
1009 (WebCore::markAllMisspellingsInRange):
1010 (WebCore::markAllBadGrammarInRange):
1011 (WebCore::Editor::markMisspellings):
1013 * platform/ContextMenu.cpp:
1014 (WebCore::ContextMenu::populate):
1015 updated for moved functions
1017 * editing/TypingCommand.cpp:
1018 (WebCore::TypingCommand::markMisspellingsAfterTyping):
1019 updated for moved functions
1021 2006-12-05 Anders Carlsson <acarlsson@apple.com>
1025 General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
1026 and remove a couple of functions that were unused.
1028 * loader/CachedResource.h:
1029 * loader/LoaderFunctions.h:
1030 * loader/mac/LoaderFunctionsMac.mm:
1031 * platform/network/ResourceHandle.h:
1032 * platform/network/ResourceHandleClient.h:
1033 * platform/network/mac/ResourceHandleMac.mm:
1034 (WebCore::ResourceHandle::~ResourceHandle):
1036 2006-12-05 Kevin McCullough <kmccullough@apple.com>
1040 - keydown is now a keydown event instead of a keypress event.
1041 Fixes some form submission oddities.
1043 * platform/win/KeyEventWin.cpp:
1045 2006-12-05 John Sullivan <sullivan@apple.com>
1049 * editing/mac/EditorMac.mm:
1050 declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)
1052 2006-12-05 John Sullivan <sullivan@apple.com>
1054 Reviewed by Geoff Garen
1057 remove declarations of ignoreSpelling() and learnSpelling()
1059 * bridge/mac/FrameMac.h:
1060 remove declarations of ignoreSpelling() and learnSpelling()
1061 * bridge/mac/FrameMac.mm:
1062 moved implementations of ignoreSpelling() and learnSpelling() from here
1065 added declarations of ignoreSpelling() and learnSpelling()
1067 * editing/mac/EditorMac.mm:
1068 (WebCore::Editor::ignoreSpelling):
1069 moved here from FrameMac.mm
1070 (WebCore::Editor::learnSpelling):
1073 * page/ContextMenuController.cpp:
1074 (WebCore::ContextMenuController::contextMenuItemSelected):
1075 updated callers to use frame()->editor() rather than frame()
1077 2006-12-05 John Sullivan <sullivan@apple.com>
1081 New context-menu mechanism fix for:
1082 <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
1084 * platform/ContextMenu.cpp:
1085 (WebCore::ContextMenu::populate):
1086 Leave out "No Guesses Found" and separator for grammar-checking case.
1088 2006-12-05 Rob Buis <buis@kde.org>
1092 http://bugs.webkit.org/show_bug.cgi?id=11686
1093 WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
1095 Make sure the SVG render objects are laid out before measuring their
1096 dimensions using relativeBBox.
1098 * ksvg2/svg/SVGLocatable.cpp:
1099 (WebCore::SVGLocatable::getBBox):
1101 2006-12-05 John Sullivan <sullivan@apple.com>
1105 Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
1106 since that's where isContinousSpellCheckingEnabled lives.
1109 * editing/Editor.cpp:
1110 (WebCore::Editor::isGrammarCheckingEnabled):
1111 new method, calls through to client a la isContinuousSpellCheckingEnabled
1113 * bridge/mac/FrameMac.mm:
1114 (WebCore::FrameMac::advanceToNextMisspelling):
1115 call editor() rather than editor()->client()
1116 (WebCore::FrameMac::markMisspellings):
1119 * platform/ContextMenu.cpp:
1120 (WebCore::ContextMenu::populate):
1123 2006-12-05 Darin Adler <darin@apple.com>
1129 * html/HTMLInputElement.h: Removed unneeded includes of RenderObject.h
1131 * html/HTMLSelectElement.h: Removed unneeded include of RenderStyle.h.
1132 * ksvg2/svg/SVGStyledElement.h: Removed unneeded include of RenderStyle.h.
1134 * ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
1135 * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
1138 * ksvg2/scripts/generateJSBindings.pl: Removed unused script.
1140 2006-12-05 Darin Adler <darin@apple.com>
1142 * doc: Removed empty directory. It's not clear this is a good place for
1143 documentation, so lets add it back later if we actually start using it.
1145 2006-12-05 Anders Carlsson <acarlsson@apple.com>
1147 Reviewed by Brady, Darin.
1149 * loader/loader.cpp:
1150 (WebCore::Loader::receivedAllData):
1151 Remove ref() call that was left around by mistake.
1153 2006-12-05 Sam Weinig <sam@webkit.org>
1157 Fix for http://bugs.webkit.org/show_bug.cgi?id=11758
1158 Don't compile custom SVG and XSLT bindings in non-svg build
1160 * bindings/js/JSSVGNumber.cpp:
1161 * bindings/js/JSSVGNumber.h:
1162 * bindings/js/JSSVGPoint.cpp:
1163 * bindings/js/JSSVGPoint.h:
1164 * bindings/js/JSSVGRect.cpp:
1165 * bindings/js/JSSVGRect.h:
1166 * bindings/js/JSXSLTProcessor.cpp:
1167 * bindings/js/JSXSLTProcessor.h:
1169 2006-12-04 John Sullivan <sullivan@apple.com>
1173 WebCore part of fix for:
1174 <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
1176 The context menu mechanism is currently in flux; the old mechanism is still in place, but an
1177 up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
1178 test the new mechanism because it doesn't work well enough yet. Also, some of this code
1179 should move from Frame to Editor, but that will wait for another checkin.
1182 added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
1184 * bridge/mac/FrameMac.h:
1185 added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
1187 * bridge/mac/FrameMac.mm:
1188 (WebCore::FrameMac::isSelectionMisspelled):
1189 now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
1190 ignoreWord:inSpellDocumentWithTag:] work correctly
1191 (WebCore::isRangeUngrammatical):
1192 new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
1193 (WebCore::FrameMac::isSelectionUngrammatical):
1194 new function, calls isRangeUngrammatical
1195 (WebCore::FrameMac::guessesForUngrammaticalSelection):
1198 * platform/ContextMenu.cpp:
1199 (WebCore::ContextMenu::populate):
1200 now considers bad grammar as well as misspellings
1202 * platform/ContextMenuItem.h:
1203 added ContextMenuItemTagIgnoreGrammar
1205 2006-12-05 Kirby White <KWhiteRight@gmail.com>
1207 Reviewed, tweaked and landed by Alexey.
1209 <http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked
1211 * rendering/RenderThemeWin.cpp:
1212 (WebCore::RenderThemeWin::determineState): Moved test for active
1213 state before test for hover state, since active should override hover
1216 * platform/gdk/RenderThemeGdk.cpp:
1217 (WebCore::RenderThemeGdk::determineState): Same fix.
1219 2006-12-05 Kirby White <KWhiteRight@gmail.com>
1221 Reviewed and landed by Alexey.
1223 http://bugs.webkit.org/show_bug.cgi?id=11681
1224 Don't select the first option when resetting a listbox-style form
1225 control (i.e., a multi-select control or one with size > 1) that
1226 has no default selection.
1228 Test: fast/dom/HTMLSelectElement/listbox-select-reset.html
1230 * html/HTMLSelectElement.cpp:
1231 (WebCore::HTMLSelectElement::reset):
1233 2006-12-05 Lars Naesbye Christensen <larsnaesbye@stud.ku.dk>
1235 Reviewed and landed by Alexey.
1237 http://bugs.webkit.org/show_bug.cgi?id=11752
1238 [CSS 3] missing support for cursor selector 'copy'
1240 * Resources/copyCursor.png: Added.
1241 * WebCore.xcodeproj/project.pbxproj:
1242 * css/CSSComputedStyleDeclaration.cpp:
1243 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1244 * css/CSSValueKeywords.in:
1245 * manual-tests/cursor.html:
1246 * page/EventHandler.cpp:
1247 (WebCore::selectCursor):
1248 * platform/Cursor.h:
1249 * platform/mac/CursorMac.mm:
1250 (WebCore::copyCursor):
1251 * rendering/RenderStyle.h:
1254 2006-12-04 Beth Dakin <bdakin@apple.com>
1258 Fix from last check-in. This line was badbad.
1260 * platform/mac/ContextMenuMac.mm:
1261 (WebCore::ContextMenu::~ContextMenu):
1263 2006-12-04 Beth Dakin <bdakin@apple.com>
1267 With the new changes to ContextMenuItems, WebCore context menus
1268 stopped appearing at all. And then when I got them to appear, they
1269 crashed. This fixes both of these problems.
1271 * platform/mac/ContextMenuItemMac.mm:
1272 (WebCore::ContextMenuItem::ContextMenuItem): keyEquivalent cannot
1273 be nil. This was causing Obj-C to throw an exception preventing the
1274 menus from popping up at all.
1275 * platform/mac/ContextMenuMac.mm:
1276 (+[WebCoreMenuTarget sharedMenuTarget]): Re-name our static
1277 MenuTarget so that it is more clear that it is a static and shared
1279 (WebCore::ContextMenu::ContextMenu): Initialize the
1280 WebCoreMenuTarget's controller in the ContextMenu constructor
1281 instead of in getNSMenuItem since the controller will only possibly
1282 change when a new ContextMenu has been created.
1283 (WebCore::ContextMenu::~ContextMenu): Set the target's controller
1285 (WebCore::getNSMenuItem): A lot of this work is being done other
1286 places now. Call new class method on WebCoreMenuTarget to get the
1288 (WebCore::ContextMenu::appendItem): We should not be releasing the
1289 menuItem here! This caused the crashes I saw.
1290 (WebCore::ContextMenu::insertItem): Same.
1292 2006-12-04 Anders Carlsson <acarlsson@apple.com>
1296 * loader/mac/SubresourceLoaderMac.mm:
1297 (WebCore::SubresourceLoader::~SubresourceLoader):
1298 Add back the destructor.
1300 2006-12-04 Anders Carlsson <acarlsson@apple.com>
1304 Change all ResourceHandleClients to be SubresourceLoaderClients instead. Also,
1305 make SubresourceLoader a ResourceHandleClient. This is a first step towards turning ResourceHandle into a
1306 standalone class which doesn't need to know about SubresourceLoader.
1308 * WebCore.xcodeproj/project.pbxproj:
1309 * loader/ResourceLoader.cpp:
1310 (WebCore::ResourceLoader::~ResourceLoader):
1311 (WebCore::ResourceLoader::ResourceLoader):
1312 (WebCore::ResourceLoader::setDefersLoading):
1313 * loader/SubresourceLoader.cpp:
1314 (WebCore::SubresourceLoader::SubresourceLoader):
1315 (WebCore::SubresourceLoader::~SubresourceLoader):
1316 (WebCore::SubresourceLoader::create):
1317 (WebCore::SubresourceLoader::willSendRequest):
1318 (WebCore::SubresourceLoader::didReceiveResponse):
1319 (WebCore::SubresourceLoader::didReceiveData):
1320 (WebCore::SubresourceLoader::didFinishLoading):
1321 (WebCore::SubresourceLoader::didFailWithError):
1322 (WebCore::SubresourceLoader::receivedAllData):
1323 * loader/SubresourceLoader.h:
1324 (WebCore::SubresourceLoader::loaderAsResourceHandleClient):
1325 (WebCore::SubresourceLoader::handle):
1326 * loader/SubresourceLoaderClient.h: Added.
1327 (WebCore::SubresourceLoaderClient::~SubresourceLoaderClient):
1328 (WebCore::SubresourceLoaderClient::willSendRequest):
1329 (WebCore::SubresourceLoaderClient::didReceiveResponse):
1330 (WebCore::SubresourceLoaderClient::didReceiveData):
1331 (WebCore::SubresourceLoaderClient::didFinishLoading):
1332 (WebCore::SubresourceLoaderClient::didFailWithError):
1333 (WebCore::SubresourceLoaderClient::receivedAllData):
1334 * loader/icon/IconLoader.cpp:
1335 (WebCore::IconLoader::startLoading):
1336 (WebCore::IconLoader::stopLoading):
1337 (WebCore::IconLoader::didReceiveResponse):
1338 (WebCore::IconLoader::didReceiveData):
1339 (WebCore::IconLoader::didFailWithError):
1340 (WebCore::IconLoader::didFinishLoading):
1341 (WebCore::IconLoader::clearLoadingState):
1342 * loader/icon/IconLoader.h:
1343 * loader/loader.cpp:
1344 (WebCore::Loader::servePendingRequests):
1345 (WebCore::Loader::receivedAllData):
1346 (WebCore::Loader::didFailWithError):
1347 (WebCore::Loader::didReceiveResponse):
1348 (WebCore::Loader::didReceiveData):
1349 (WebCore::Loader::cancelRequests):
1351 * loader/mac/SubresourceLoaderMac.mm:
1352 (WebCore::SubresourceLoader::SubresourceLoader):
1353 (WebCore::SubresourceLoader::create):
1354 (WebCore::SubresourceLoader::willSendRequest):
1355 (WebCore::SubresourceLoader::didReceiveResponse):
1356 (WebCore::SubresourceLoader::didReceiveData):
1357 (WebCore::SubresourceLoader::didFinishLoading):
1358 (WebCore::SubresourceLoader::didFail):
1359 (WebCore::SubresourceLoader::didCancel):
1360 * platform/network/ResourceHandle.cpp:
1361 (WebCore::ResourceHandle::ResourceHandle):
1362 (WebCore::ResourceHandle::create):
1363 * platform/network/ResourceHandle.h:
1364 * platform/network/ResourceHandleClient.h:
1365 * platform/network/ResourceHandleInternal.h:
1366 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1367 * platform/network/mac/ResourceHandleMac.mm:
1368 (WebCore::ResourceHandle::start):
1369 (WebCore::ResourceHandle::finishJobAndHandle):
1370 (WebCore::ResourceHandle::loader):
1371 * xml/xmlhttprequest.cpp:
1372 (WebCore::XMLHttpRequest::send):
1373 (WebCore::XMLHttpRequest::didFailWithError):
1374 (WebCore::XMLHttpRequest::didFinishLoading):
1375 (WebCore::XMLHttpRequest::willSendRequest):
1376 (WebCore::XMLHttpRequest::didReceiveResponse):
1377 (WebCore::XMLHttpRequest::didReceiveData):
1378 * xml/xmlhttprequest.h:
1380 2006-12-04 Darin Adler <darin@apple.com>
1384 - fix another part of http://bugs.webkit.org/show_bug.cgi?id=11628
1385 REGRESSION (r17597): Command-return in text fields doesn't open a new tab or window
1387 This fixes command-return when the focus is on a link.
1388 Despite the title of the bug, Mitz wanted me to fix both, and I will not
1391 Test: fast/events/simulated-key-state.html
1393 * dom/EventTargetNode.cpp:
1394 (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Instead of always passing
1395 false for all the key state in simulated mouse events, pass the state from the
1396 first underlying event in the chain that has key state; in the case in the bug,
1397 the keyboard event will be the underlying event itself and we'll propagate the
1398 alt key modifier to the mouse event, resulting in the effect we want. It's nice
1399 that JavaScript also gets to see the proper modifiers in the mouse event.
1401 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
1402 Added code to pass in an underlying event to dispatchSimulatedClick. After looking
1403 at all the other callers, this seems to be the only one that needs to pass an
1404 event that is currently passing 0. Also removed the code that only simulated a
1405 click when the event has a PlatformKeyboardEvent -- no reason for that and it
1406 prevented me from writing a layout test for the fix.
1408 * dom/UIEventWithKeyState.h: Added findEventWithKeyState function that walks the
1409 underlyingEvent chain to find the first event that has key state. This already
1410 existed in WebKit, but I wanted to use it in dispatchSimulatedMouseEvent.
1411 * dom/UIEventWithKeyState.cpp: Added.
1413 * CMakeLists.txt: Added UIEventWithKeyState.cpp.
1414 * WebCore.vcproj/WebCore/WebCore.vcproj: Added UIEventWithKeyState.cpp.
1415 * WebCore.xcodeproj/project.pbxproj: Added UIEventWithKeyState.cpp.
1416 * WebCoreSources.bkl: Added UIEventWithKeyState.cpp.
1418 * WebCore.exp: Added findEventWithKeyState, used by WebKit.
1420 2006-12-04 Kevin McCullough <KMcCullough@apple.com>
1424 - removed the guards for the "multiple forms submission" issue, which may not be
1425 an issue anymore and the guards prevent perfectly legitimate websites from
1428 * bridge/mac/FrameMac.mm:
1429 (WebCore::FrameMac::setView):
1430 * bridge/mac/WebCoreAXObject.mm:
1431 (-[WebCoreAXObject accessibilityPerformAction:]):
1432 * bridge/win/FrameWin.cpp:
1433 (WebCore::FrameWin::keyPress):
1435 * loader/FrameLoader.cpp:
1436 (WebCore::FrameLoader::submitForm):
1437 * loader/FrameLoader.h:
1438 * loader/mac/FrameLoaderMac.mm:
1439 (WebCore::FrameLoader::receivedMainResourceError):
1440 * loader/qt/FrameLoaderQt.cpp:
1441 (WebCore::FrameLoader::submitForm):
1443 (WebCore::Frame::setView):
1444 * page/mac/EventHandlerMac.mm:
1445 (WebCore::EventHandler::keyEvent):
1446 (WebCore::EventHandler::mouseDown):
1447 * platform/qt/FrameQt.cpp:
1448 (WebCore::FrameQt::keyEvent):
1450 2006-12-02 Geoffrey Garen <ggaren@apple.com>
1452 Reviewed by Darin Adler.
1454 Added support for Dashboard backward compatibility mode.
1456 * html/CanvasRenderingContext2D.cpp:
1457 (WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
1458 of automatically clearing the stroke path buffer after a call to stroke().
1459 * html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
1460 tag being self-closing.
1461 (WebCore::HTMLCanvasElement::endTagRequirement):
1462 (WebCore::HTMLCanvasElement::tagPriority):
1463 * html/HTMLCanvasElement.h:
1464 * html/HTMLParser.cpp: Ditto.
1465 (WebCore::HTMLParser::canvasCreateErrorCheck):
1466 * xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
1467 a call to setRequestHeader() if it preceded a call to open() or followed a call
1469 (WebCore::XMLHttpRequest::setRequestHeader):
1471 2006-12-04 Darin Adler <darin@apple.com>
1475 * bridge/EditorClient.h: Removed "_web_" prefix from
1476 C++ userVisibleString member function. Alice will probably change
1477 this so it's not on the editor client any more later.
1479 * editing/Editor.h: Removed "_web_" prefix from
1480 C++ userVisibleString member function.
1481 * editing/Editor.cpp: Tweaked formatting a bit. Removed Mac-specific
1482 code from this file.
1484 * editing/mac/EditorMac.mm:
1485 (WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
1486 (WebCore::Editor::userVisibleString): Moved this function here.
1488 * platform/Pasteboard.h: Added some FIXMEs. Removed unneeded includes.
1489 Made Pasteboard noncopyable. Removed use of "protected" where we should
1490 be using "private". Removed s_generalPasteboard.
1491 * platform/mac/PasteboardMac.mm: Added some FIXMEs. Removed the
1492 s_generalPasteboard global. Removed the unused destructor. Updated call
1493 to userVisibleString for name change. Tweaked formatting.
1495 2006-12-04 Alice Liu <alice.liu@apple.com>
1499 Moved some constants from EventHandlerMac.mm to EventHandler.cpp
1500 Added some platform-specific data members and functions.
1502 * page/EventHandler.cpp:
1503 * page/EventHandler.h:
1504 * page/mac/EventHandlerMac.mm:
1505 * platform/PlatformMouseEvent.h:
1507 (WebCore::PlatformMouseEvent::timestamp):
1508 (WebCore::PlatformMouseEvent::activatedWebView):
1509 (WebCore::PlatformMouseEvent::type):
1511 2006-12-04 Anders Carlsson <acarlsson@apple.com>
1513 Reviewed by Darin, Geoff.
1515 Get rid of ResourceHandle::kill(), all it did was to balance out a ref() in ResourceHandle::start().
1516 We use RefPtrs to ResourceHandle instead.
1518 * loader/icon/IconLoader.cpp:
1519 (WebCore::IconLoader::~IconLoader):
1520 (WebCore::IconLoader::stopLoading):
1521 (WebCore::IconLoader::didReceiveResponse):
1522 * loader/loader.cpp:
1523 (WebCore::Loader::servePendingRequests):
1524 (WebCore::Loader::cancelRequests):
1525 (WebCore::Loader::jobForRequest):
1527 * platform/network/ResourceHandle.cpp:
1528 * platform/network/ResourceHandle.h:
1529 * platform/network/mac/ResourceHandleMac.mm:
1530 (WebCore::ResourceHandle::start):
1531 (WebCore::ResourceHandle::finishJobAndHandle):
1532 (WebCore::ResourceHandle::reportError):
1533 * xml/xmlhttprequest.cpp:
1534 (WebCore::XMLHttpRequest::abort):
1535 (WebCore::XMLHttpRequest::didFinishLoading):
1537 2006-12-04 Oliver Hunt <oliver@apple.com>
1539 Build fix for non-SVG builds
1541 * bindings/js/JSSVGPoint.cpp:
1542 (WebCore::JSSVGPointProtoFunc::callAsFunction):
1544 2006-12-04 Darin Adler <darin@apple.com>
1548 - fix http://bugs.webkit.org/show_bug.cgi?id=11632
1549 AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work
1551 No test case added at the moment, but Beth said she'd investigate
1552 adding one after the fact.
1554 * page/mac/EventHandlerMac.mm:
1555 (WebCore::EventHandler::passMousePressEventToScrollbar):
1556 Fix obvious-in-retrospect copy and paste error -- call
1557 passMouseDownEventToWidget instead of passWheelEventToWidget.
1559 2006-12-04 Don Gibson <dgibson77@gmail.com>
1561 Reviewed and landed by Alexey.
1563 http://bugs.webkit.org/show_bug.cgi?id=11738:
1564 Make link clicking work again on Windows.
1566 This re-implements a few functions that used to be part of FrameWin in
1567 their new loader-based locations, and copies a few things from the Mac
1568 and Qt event handling code that aren't strictly necessary but are
1571 * WebCore.vcproj/WebCore/WebCore.vcproj:
1572 * bridge/win/ChromeClientWin.h:
1573 * bridge/win/ContextMenuClientWin.h:
1574 * bridge/win/EditorClientWin.h:
1575 * bridge/win/FrameWin.cpp:
1576 (WebCore::FrameWin::client):
1577 * bridge/win/FrameWin.h:
1578 * loader/win/DocumentLoaderWin.cpp: Added.
1579 (WebCore::DocumentLoader::setTitle):
1580 * loader/win/FrameLoaderClientWin.cpp: Added.
1581 (WebCore::FrameLoaderClientWin::userAgent):
1582 * loader/win/FrameLoaderClientWin.h:
1583 * loader/win/FrameLoaderWin.cpp: Added.
1584 (WebCore::FrameLoader::urlSelected):
1585 (WebCore::FrameLoader::submitForm):
1586 (WebCore::FrameLoader::setTitle):
1587 * page/win/EventHandlerWin.cpp: Added.
1588 (WebCore::EventHandler::passMousePressEventToSubframe):
1589 (WebCore::EventHandler::passMouseMoveEventToSubframe):
1590 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1591 (WebCore::EventHandler::passWheelEventToSubframe):
1592 (WebCore::EventHandler::passMousePressEventToScrollbar):
1593 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1594 * platform/win/TemporaryLinkStubs.cpp:
1595 (WebCore::EventHandler::tabsToLinks):
1596 (WebCore::EventHandler::tabsToAllControls):
1597 (WebCore::EventHandler::lastEventIsMouseUp):
1598 (WebCore::EventHandler::passSubframeEventToSubframe):
1599 (WebCore::EventHandler::passMouseDownEventToWidget):
1600 (WebCore::EventHandler::passWheelEventToWidget):
1601 (WebCore::FrameLoader::getHistoryLength):
1602 (WebCore::FrameLoader::historyURL):
1603 (WebCore::FrameLoader::createFrame):
1604 (WebCore::FrameLoaderClientWin::setTitle):
1606 2006-12-04 Don Gibson <dgibson77@gmail.com>
1610 http://bugs.webkit.org/show_bug.cgi?id=11748:
1611 Windows build bustage.
1613 * WebCore.vcproj/WebCore/WebCore.vcproj:
1614 * platform/ContextMenuItem.h:
1615 * platform/win/TemporaryLinkStubs.cpp:
1616 (WebCore::ContextMenuItem::ContextMenuItem):
1617 (WebCore::ContextMenuItem::platformDescription):
1618 (WebCore::ContextMenuItem::action):
1619 (WebCore::ContextMenuItem::setAction):
1620 (WebCore::ContextMenuItem::title):
1621 (WebCore::ContextMenuItem::setTitle):
1622 (WebCore::ContextMenuItem::platformSubMenu):
1623 (WebCore::ContextMenuItem::setSubMenu):
1625 2006-12-04 John Sullivan <sullivan@apple.com>
1629 Moved EditorMac.mm to its appropriate location
1631 * platform/mac/EditorMac.mm: Removed.
1632 * editing/mac/EditorMac.mm: Added
1634 * WebCore.xcodeproj/project.pbxproj:
1635 updated for this change
1637 2006-12-04 Rob Buis <buis@kde.org>
1643 http://bugs.webkit.org/show_bug.cgi?id=3280
1644 With LEGEND element, align=right value is not supported
1645 http://bugs.webkit.org/show_bug.cgi?id=11544
1646 <legend> rendering doesn't take align into account
1648 Allow aligning for legends in both RTL and LTR mode.
1650 * rendering/RenderFieldset.cpp:
1651 (WebCore::RenderFieldset::layoutLegend):
1653 2006-12-03 Mark Rowe <bdash@webkit.org>
1657 http://bugs.webkit.org/show_bug.cgi?id=11730
1658 Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
1661 (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
1663 2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
1668 http://bugs.webkit.org/show_bug.cgi?id=11734
1669 http://bugs.webkit.org/show_bug.cgi?id=11685
1671 SVGPoint/SVGRect/SVGNumber were missing put() support.
1672 SVGPoint.matrixTransform() was missing.
1674 In SVG DOM there are no cases where a readwrite property
1675 exists of type SVGRect/SVGNumber/SVGPoint. Only function
1676 calls returns instances of these objects. It would make
1677 no sense to be able to write "someObj.getBbox().x = 100", and
1678 modify the actual stored internal value of "someObj".
1680 The only cases where these modification makes sense, is
1681 when these SVGPoint/SVGRect/SVGNumber objects are created
1682 via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).
1684 Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
1685 values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.
1687 Patch created by Rob & me - co production.
1688 Long live the great carto.next examples! :-)
1691 * DerivedSources.make:
1692 * bindings/js/JSSVGNumber.cpp:
1694 (WebCore::JSSVGNumber::getOwnPropertySlot):
1695 (WebCore::JSSVGNumber::getValueProperty):
1696 (WebCore::JSSVGNumber::put):
1697 (WebCore::JSSVGNumber::putValueProperty):
1698 * bindings/js/JSSVGNumber.h:
1699 (WebCore::JSSVGNumber::):
1700 (WebCore::JSSVGNumber::impl):
1701 * bindings/js/JSSVGPoint.cpp:
1702 (WebCore::JSSVGPoint::JSSVGPoint):
1703 (WebCore::JSSVGPoint::put):
1704 (WebCore::JSSVGPoint::putValueProperty):
1705 (WebCore::JSSVGPointProtoFunc::callAsFunction):
1706 * bindings/js/JSSVGPoint.h:
1707 (WebCore::JSSVGPoint::):
1708 * bindings/js/JSSVGRect.cpp:
1709 (WebCore::JSSVGRect::put):
1710 (WebCore::JSSVGRect::putValueProperty):
1711 * bindings/js/JSSVGRect.h:
1712 * bindings/objc/DOMSVGPoint.mm:
1713 (-[DOMSVGPoint matrixTransform:]):
1714 * platform/graphics/FloatPoint.cpp:
1715 (WebCore::FloatPoint::matrixTransform):
1716 * platform/graphics/FloatPoint.h:
1718 2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
1722 Another missing piece in the platform/graphics move.
1724 * WebCore.xcodeproj/project.pbxproj:
1725 * platform/ImageAnimationObserver.h: Moved to platform/graphics.
1727 2006-12-03 Rob Buis <buis@kde.org>
1731 http://bugs.webkit.org/show_bug.cgi?id=11667
1732 SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
1734 Implement getTransformToElement functionality. Introduce virtual
1735 baseclass SVGLocatable to allow one implementation of the functionality.
1736 Finally cleanup some code.
1738 * ksvg2/svg/SVGLocatable.cpp:
1739 (WebCore::SVGLocatable::getTransformToElement):
1740 * ksvg2/svg/SVGLocatable.h:
1741 * ksvg2/svg/SVGStyledLocatableElement.cpp:
1742 (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
1743 (WebCore::SVGStyledLocatableElement::nearestViewportElement):
1744 (WebCore::SVGStyledLocatableElement::farthestViewportElement):
1745 (WebCore::SVGStyledLocatableElement::getCTM):
1746 (WebCore::SVGStyledLocatableElement::getScreenCTM):
1747 * ksvg2/svg/SVGStyledLocatableElement.h:
1748 * ksvg2/svg/SVGStyledTransformableElement.cpp:
1749 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1750 (WebCore::SVGStyledTransformableElement::localMatrix):
1751 (WebCore::SVGStyledTransformableElement::getCTM):
1752 (WebCore::SVGStyledTransformableElement::getScreenCTM):
1753 (WebCore::SVGStyledTransformableElement::updateLocalTransform):
1754 (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
1755 (WebCore::SVGStyledTransformableElement::nearestViewportElement):
1756 (WebCore::SVGStyledTransformableElement::farthestViewportElement):
1757 * ksvg2/svg/SVGStyledTransformableElement.h:
1758 * ksvg2/svg/SVGTextElement.h:
1759 * ksvg2/svg/SVGTransformable.h:
1761 2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
1765 Move some files around, which have been forgotton in the platform/graphics move.
1768 * WebCore.xcodeproj/project.pbxproj:
1769 * platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
1770 * platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.
1772 2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
1778 * platform/graphics/GraphicsContext.h:
1779 * platform/mac/GraphicsContextMac.mm:
1781 2006-12-02 John Sullivan <sullivan@apple.com>
1783 Reviewed by Tim Omernick
1785 Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
1786 the find-next-instance functions with the mark-all-instances functions.
1788 * bridge/mac/FrameMac.mm:
1789 (WebCore::findFirstMisspellingInRange):
1790 added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
1791 through the entire range and marks each misspelling
1792 (WebCore::findFirstGrammarDetailInRange):
1793 extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
1794 ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
1795 to the one in findFirstMisspellingInRange.
1796 (WebCore::findFirstBadGrammarInRange):
1797 added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
1798 (WebCore::FrameMac::advanceToNextMisspelling):
1799 pass "false" for new markAll parameters
1800 (WebCore::markAllMisspellingsInRange):
1801 now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
1802 (WebCore::markAllBadGrammarInRange):
1803 now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code
1805 2006-12-02 Mitz Pettel <mitz@webkit.org>
1809 - fix http://bugs.webkit.org/show_bug.cgi?id=11672
1810 REGRESSION (r17068): Repro crash due to painting without layout
1812 Test: fast/dynamic/containing-block-change.html
1814 * rendering/RenderObject.cpp:
1815 (WebCore::RenderObject::setStyle): Changed the logic used
1816 to find absolutely positioned descendant's current containing block to
1817 match the changes made to containingBlock() in the fix for bug 9347.
1819 2006-12-02 MorganL <morganl.webkit@yahoo.com>
1823 http://bugs.webkit.org/show_bug.cgi?id=11709
1824 DeprecatedString::format is broken on Windows
1826 Use _vscprintf on Windows to compute the length of the buffer that
1827 vsnprintf would need.
1829 * platform/DeprecatedString.cpp:
1830 (WebCore::DeprecatedString::format):
1831 * platform/String.cpp:
1832 (WebCore::String::format):
1834 2006-12-01 Beth Dakin <bdakin@apple.com>
1838 Support for sub-menus in WebCore context menus. This also re-
1839 architects the ContextMenuItem class so that it is more like
1840 ContextMenu in that the class is now really just a wrapper for the
1844 * WebCore.xcodeproj/project.pbxproj:
1845 * page/ContextMenuController.cpp:
1846 (WebCore::ContextMenuController::contextMenuItemSelected): Add
1847 place-holders for new tags for the sub-menu items. I will flesh
1848 these out in a separate check-in.
1849 * platform/ContextMenu.cpp:
1850 (WebCore::createFontSubMenu):
1851 (WebCore::createSpellingAndGrammarSubMenu):
1852 (WebCore::createSpellingSubMenu):
1853 (WebCore::createSpeechSubMenu):
1854 (WebCore::createWritingDirectionSubMenu):
1855 (WebCore::ContextMenu::populate): Call the above functions to add
1856 the appropriate sub-menus to editing context menus.
1857 * platform/ContextMenu.h:
1858 * platform/ContextMenuItem.h:
1859 (WebCore::): New tags in the ContextMenuAction enumeration.
1860 (WebCore::ContextMenuItem::parentMenu):
1861 (WebCore::ContextMenuItem::setType):
1862 * platform/PlatformMenuDescription.h: Added. This defines
1863 PlatformMenuDesciption. It needs to be its own header because we
1864 have to include it from ContextMenu.h and ContextMenuItem.h
1865 * platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
1866 make this class basically just be a wrapper for NSMenuItem.
1867 (WebCore::ContextMenuItem::ContextMenuItem):
1868 (WebCore::ContextMenuItem::~ContextMenuItem):
1869 (WebCore::ContextMenuItem::platformDescription):
1870 (WebCore::ContextMenuItem::action):
1871 (WebCore::ContextMenuItem::title):
1872 (WebCore::ContextMenuItem::platformSubMenu):
1873 (WebCore::ContextMenuItem::setAction):
1874 (WebCore::ContextMenuItem::setTitle):
1875 (WebCore::ContextMenuItem::setSubMenu):
1876 * platform/mac/ContextMenuMac.mm:
1877 (WebCore::ContextMenu::ContextMenu):
1878 (WebCore::getNSMenuItem): Now we only have to get the
1879 platformDescription of the ContextMenuItem and then set its target
1881 (WebCore::ContextMenu::itemCount):
1883 2006-12-01 Kevin McCullough <KMcCullough@apple.com>
1887 - accidentally checked in with previous checkin
1889 * platform/qt/FrameQt.cpp:
1890 (WebCore::FrameQt::keyEvent):
1892 2006-12-01 Kevin McCullough <KMcCullough@apple.com>
1896 - better solution to the ambiguous reference
1898 * platform/Widget.h:
1899 (WebCore::Widget::handleMouseMoveEvent):
1900 (WebCore::Widget::handleMouseReleaseEvent):
1901 * platform/qt/FrameQt.cpp:
1902 (WebCore::FrameQt::keyEvent):
1903 * platform/win/PlatformScrollBar.h:
1904 * platform/win/TemporaryLinkStubs.cpp:
1905 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1906 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1908 2006-12-01 Justin Garcia <justin.garcia@apple.com>
1912 <rdar://problem/4826940>
1913 Selection change performed even when delete delegate replies NO (11415)
1915 No layout test for the bug fix, because there's no way to register a custom
1916 editing delegate from a layout test. Layout tests are effected by the change
1917 to avoid sending unnecessary shouldChangeSelections, however.
1919 * editing/Editor.cpp:
1920 (WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
1921 if the editing operation didn't change the selection. Still call
1922 setSelection though, because it does work in this case that's necessary,
1923 like clearing the typing style.
1924 (WebCore::Editor::unappliedEditing): Ditto.
1925 (WebCore::Editor::reappliedEditing): Ditto.
1926 * editing/TypingCommand.cpp:
1927 (WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
1928 selection if the editing delegate returns NO from shouldDeleteRange.
1929 Notice we now call setStartingSelection in the case where
1930 the current selection was a range selection. This is fine because
1931 it's a no-op (the starting selection is already the current selection).
1932 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1934 2006-12-01 John Sullivan <sullivan@apple.com>
1938 Move subrange helper function from spellchecking code to TextIterator
1940 * editing/TextIterator.h:
1941 added TextIterator::subrange
1942 * editing/TextIterator.cpp:
1943 (WebCore::CharacterIterator::advance):
1944 early return if count is <= 0; assert that it's not < 0
1945 (WebCore::TextIterator::subrange):
1946 new function, moved from FrameMac.mmm
1948 * bridge/mac/FrameMac.mm:
1949 moved subrange() function to TextIterator
1950 (WebCore::FrameMac::advanceToNextMisspelling):
1951 use TextIterator::subrange
1952 (WebCore::markAllMisspellingsInRange):
1954 (WebCore::markAllBadGrammarInRange):
1957 2006-12-01 Darin Adler <darin@apple.com>
1961 - fix http://bugs.webkit.org/show_bug.cgi?id=11628
1962 REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
1964 I couldn't think of an easy way to make a regression test for this, but maybe
1965 I'll get an idea later about how to do it.
1967 The main thing I did was add a concept of a DOM event having an "underlying event".
1968 That allows the DOM activate event to contain inside it the original keyboard event
1969 that triggered the form submission, and thus allows WebKit to see the modifier keys
1970 from that original event. The code that uses the underlying event is in WebKit, but
1971 the code to set it up is here in WebCore.
1973 - also do some clean-up to related event handling code
1975 * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
1976 name change of cancelBubble.
1978 * dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
1979 Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
1980 name predated the use of the m_ prefix on data members. Added the underlying event,
1981 and a getter and setter.
1983 (WebCore::Event::setTarget): Updated to take a PassRefPtr.
1984 (WebCore::Event::setUnderlyingEvent): Added.
1986 * dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
1987 dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
1988 dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
1989 mostly replaces the click function in HTMLElement.
1990 * dom/EventTargetNode.cpp:
1991 (WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
1993 (WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
1994 which gets attached to the UIEvent object after it's created.
1995 (WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
1996 name for the version that creates a mouse event for a real platform mouse event.
1997 Added an underlying event parameter to the main version, and attached it to all
1998 three of the events that can be dispatched.
1999 (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
2000 event parameter, passed it along to dispatchMouseEvent.
2001 (WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
2002 and renamed it from click. Added an underlyingEvent parameter, and passed that along
2003 in all three of the calls to dispatchSimulatedMouseEvent.
2005 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
2006 setTarget that no longer needs a get().
2007 * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
2009 * html/HTMLAnchorElement.cpp:
2010 (WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
2011 to a call to dispatchSimulatedClick.
2012 (WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
2013 * html/HTMLButtonElement.cpp:
2014 (WebCore::HTMLButtonElement::accessKeyAction): Ditto.
2015 * html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
2016 We could move it down to the input and button elements, now that it's just
2017 a single function call, but it's also OK to just leave it here.
2018 * html/HTMLElement.cpp:
2019 (WebCore::HTMLElement::click): Removed the parameters and changed this to just
2020 call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
2021 (WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
2022 dispatchSimulatedClick.
2023 * html/HTMLFormElement.cpp:
2024 (WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
2025 pass the event along as the underlying event.
2026 * html/HTMLInputElement.h:
2027 * html/HTMLInputElement.cpp: Removed override of virtual click function. The
2028 special cases for the file control and hidden input elements aren't needed.
2029 (WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
2030 dispatchSimulatedClick.
2031 (WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
2032 dispatchSimulatedClick, passing along the event as the underlying event.
2033 * html/HTMLLabelElement.cpp:
2034 (WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
2035 to dispatchSimulatedClick, passing the event along as the underlying event. Also
2036 changed the local variable for the element to a RefPtr since the code assumes it's
2037 still around after calling arbitrary JavaScript code.
2038 * html/HTMLSelectElement.cpp:
2039 (WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
2040 dispatchSimulatedClick.
2042 * rendering/RenderFileUploadControl.h:
2043 * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
2044 Removed unneeded ignored parameter to the click function, and also made it non-virtual.
2046 * loader/NavigationAction.h: Removed unneeded includes.
2047 * loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
2048 since none of it is Mac-specific any more.
2049 * loader/mac/NavigationActionMac.mm: Removed.
2050 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
2052 * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
2054 * loader/FrameLoader.cpp: Added a newly-needed incluude.
2055 * loader/mac/DocumentLoaderMac.mm: Ditto.
2056 * loader/mac/FrameLoaderMac.mm: Ditto.
2057 * rendering/RenderWidget.cpp: Ditto.
2059 2006-12-01 John Sullivan <sullivan@apple.com>
2063 - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by
2064 insufficient context passed to grammar checker
2066 * bridge/mac/FrameMac.mm:
2067 (WebCore::markAllMisspellingsInRange):
2068 new function, extracted from markMisspellings -- ignores grammar
2069 (WebCore::markAllBadGrammarInRange):
2070 new function, extracted from markMisspellings -- ignores spelling, and operates on
2071 appropriately-sized chunks of text
2072 (WebCore::FrameMac::markMisspellings):
2073 now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
2074 than trying to interweave the spelling and grammar logic
2076 2006-12-01 John Sullivan <sullivan@apple.com>
2080 With these changes, grammar checking works correctly for the one-by-one case.
2081 It still doesn't work correctly for the check-as-you-type case; I need to make these
2082 same kinds of changes in markMisspellings, and refactor to share more code between
2083 the two cases, but I wanted to get this working code in before modifying it further.
2085 The major change here is that advanceToNextMisspelling used to look at small chunks of
2086 text at a time, checking each one for both misspellings and questionable grammar. But
2087 grammar checking needs at least paragraph-sized chunks of text to have enough context
2088 to work correctly, so the old mechanism was causing many spurious complaints of bad
2089 grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
2090 would complain about missing capitalization). So now the spell checker runs in the
2091 specified range first. Then the grammar checker runs on the same range (stopping at the
2092 next misspelling, if any), but expanded to paragraph-aligned boundaries.
2094 * bridge/mac/FrameMac.mm:
2095 (WebCore::findFirstMisspellingInRange):
2096 new function, extracted from advanceToNextMisspelling, and ignores grammar
2097 (WebCore::paragraphAlignedRangeForRange):
2098 new function, used by findNextBadGrammarInRange
2099 (WebCore::findFirstBadGrammarInRange):
2100 new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
2101 chunks, and ignores spelling
2102 (WebCore::subrange):
2103 new helper function, used by advanceToNextMisspelling
2104 (WebCore::FrameMac::advanceToNextMisspelling):
2105 now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
2106 instead of trying to interweave the spelling and grammar logic
2108 2006-12-01 Don Gibson <dgibson77@gmail.com>
2112 http://bugs.webkit.org/show_bug.cgi?id=11732:
2113 Windows build bustage.
2115 * WebCore.vcproj/WebCore/WebCore.vcproj:
2116 * bridge/win/ChromeClientWin.h:
2117 * bridge/win/ContextMenuClientWin.h:
2118 * bridge/win/EditorClientWin.h:
2119 * bridge/win/FrameWin.cpp:
2120 (WebCore::FrameWin::FrameWin):
2121 (WebCore::FrameWin::keyPress):
2122 * bridge/win/FrameWin.h:
2123 * loader/win/FrameLoaderClientWin.h:
2124 * platform/ContextMenu.h:
2125 * platform/Widget.h:
2126 * platform/win/PlatformScrollBar.h:
2127 * platform/win/TemporaryLinkStubs.cpp:
2128 (WebCore::ChromeClientWin::chromeDestroyed):
2129 (WebCore::ChromeClientWin::addMessageToConsole):
2130 (WebCore::ContextMenu::ContextMenu):
2131 (WebCore::ContextMenu::~ContextMenu):
2132 (WebCore::ContextMenu::appendItem):
2133 (WebCore::ContextMenuClientWin::contextMenuDestroyed):
2134 (WebCore::ContextMenuClientWin::contextMenuItemSelected):
2135 (WebCore::ContextMenuItem::~ContextMenuItem):
2136 (WebCore::Editor::newGeneralClipboard):
2137 (WebCore::EditorClientWin::pageDestroyed):
2138 (WebCore::EditorClientWin::smartInsertDeleteEnabled):
2139 (WebCore::EditorClientWin::shouldInsertNode):
2140 (WebCore::FrameLoader::createPlugin):
2141 (WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
2142 (WebCore::FrameLoaderClientWin::hasWebView):
2143 (WebCore::FrameLoaderClientWin::canHandleRequest):
2144 (WebCore::FrameWin::unfocusWindow):
2145 (WebCore::FrameWin::bindingRootObject):
2146 (WebCore::FrameWin::issueCopyCommand):
2147 (WebCore::FrameWin::markMisspellings):
2148 (WebCore::FrameWin::issueTransposeCommand):
2149 (WebCore::FrameWin::markedTextRange):
2150 (WebCore::FrameWin::respondToChangedSelection):
2151 (WebCore::FrameWin::markMisspellingsInAdjacentWords):
2152 (WebCore::FrameWin::isSelectionMisspelled):
2153 (WebCore::FrameWin::guessesForMisspelledSelection):
2154 (WebCore::Pasteboard::generalPasteboard):
2155 (WebCore::Pasteboard::writeSelection):
2156 (WebCore::Pasteboard::clearTypes):
2157 (WebCore::Pasteboard::canSmartReplace):
2158 (WebCore::Pasteboard::documentFragment):
2159 (WebCore::Pasteboard::plainText):
2160 (WebCore::Pasteboard::Pasteboard):
2161 (WebCore::Pasteboard::~Pasteboard):
2162 (WebCore::Pasteboard::registerSelectionPasteboardTypes):
2163 (WebCore::Pasteboard::replaceNBSP):
2164 (WebCore::Pasteboard::createHandle):
2165 (WebCore::Pasteboard::createCF_HTMLFromRange):
2167 2006-11-30 Geoffrey Garen <ggaren@apple.com>
2169 Rubber Stamped by Anders Carlsson.
2171 Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
2172 suggested a command, and conflicted with a different meaning for 'focusNode'
2173 in the Mozilla selection API.
2175 2006-11-30 John Sullivan <sullivan@apple.com>
2179 With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
2180 That revealed another problem in the layout tests involving bad parameters passed to the Range
2183 With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
2184 no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
2185 I'm going to update the results for that test and file a separate radar about it, which Justin will
2189 removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
2192 (WebCore::Range::Range):
2193 Call setStart and setEnd in the two Range constructors that take parameters, rather than just
2194 directly setting the instance variables. This makes Range perform the boundary checks and
2195 compensations that the DOM spec requires.
2197 * editing/CompositeEditCommand.cpp:
2198 (WebCore::CompositeEditCommand::moveParagraphs):
2199 Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
2201 * editing/TextIterator.cpp:
2202 (WebCore::TextIterator::TextIterator):
2203 Assert that the boundary points of the range are valid.
2205 2006-11-30 Lou Amadio <lamadio@apple.com>
2207 Reviewed by Dave Hyatt
2208 Cleaned up generated files.
2210 * html/HTMLElement.cpp:
2211 (WebCore::HTMLElement::isRecognizedTagName):
2212 Uses the new method for retrieving the list of supported tags
2213 * ksvg2/scripts/make_names.pl:
2214 Generates tag lists without using macros.
2216 2006-11-30 Adam Roben <aroben@apple.com>
2220 Store ContextMenu's NSMutableArray inside a RetainPtr so that we
2221 will retain/release it correctly.
2224 * platform/ContextMenu.cpp:
2225 (WebCore::ContextMenu::populate): Added a FIXME.
2226 * platform/ContextMenu.h:
2227 * platform/mac/ContextMenuMac.mm:
2228 (WebCore::ContextMenu::ContextMenu):
2229 (WebCore::ContextMenu::~ContextMenu):
2230 (WebCore::getNSMenuItem):
2231 (WebCore::ContextMenu::appendItem):
2232 (WebCore::ContextMenu::itemCount):
2233 (WebCore::ContextMenu::insertItem):
2234 (WebCore::ContextMenu::setPlatformDescription):
2235 (WebCore::ContextMenu::platformDescription):
2237 2006-11-30 Nikolas Zimmermann <zimmermann@kde.org>
2239 Reviewed by Eric. Rubber stamped by Oliver.
2241 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
2243 This is the final patch after the long "die kcanvas" journey.
2245 All old kcanvas code is gone now, and properly integrated within
2246 WebCore (stuff like GraphicsContext changes etc.). It shares
2247 the platform/ design concept: no subclassing, but instead
2248 implementing parts of the classes/methods per-platform.
2250 This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
2251 This layer was just obsolete, given the powerful GraphicsContext API we have
2252 since quite a while now. All the ugly pushContext/popContext stuff is gone now.
2254 LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
2255 Radial gradients as fill color for texts, work again!
2256 Though "Gradient on text stroke" remains broken. Funny thing:
2257 With this patch, if you "select" the text using the mouse, as
2258 soon as the selection rectangle is drawn, you see the correct
2259 gradient on stroke rendering - at least a hint where it breaks!
2261 All svg layout tests have subtle text rendering changes - with and without this
2262 patch, it seems it was forgotton to update svg pixel test baseline, a while ago.
2265 * WebCore.xcodeproj/project.pbxproj:
2266 * kcanvas/device/KRenderingDevice.cpp: Removed.
2267 * kcanvas/device/KRenderingDevice.h: Removed.
2268 * kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
2269 * kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
2270 * kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
2271 * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
2272 * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
2273 * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
2274 * kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
2275 * kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
2276 * ksvg2/misc/KCanvasRenderingStyle.cpp:
2277 (WebCore::sharedSolidPaintServer):
2278 * ksvg2/misc/KCanvasRenderingStyle.h:
2279 * ksvg2/svg/SVGAElement.cpp:
2280 * ksvg2/svg/SVGClipPathElement.cpp:
2281 * ksvg2/svg/SVGFEBlendElement.cpp:
2282 (WebCore::SVGFEBlendElement::filterEffect):
2283 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2284 (WebCore::SVGFEColorMatrixElement::filterEffect):
2285 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2286 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2287 (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
2288 (WebCore::SVGFEComponentTransferElement::filterEffect):
2289 * ksvg2/svg/SVGFECompositeElement.cpp:
2290 (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2291 (WebCore::SVGFECompositeElement::filterEffect):
2292 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2293 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2294 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2295 (WebCore::SVGFEDiffuseLightingElement::updateLights):
2296 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2297 (WebCore::SVGFEDisplacementMapElement::filterEffect):
2298 * ksvg2/svg/SVGFEDistantLightElement.cpp:
2299 (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
2300 (WebCore::SVGFEDistantLightElement::lightSource):
2301 * ksvg2/svg/SVGFEFloodElement.cpp:
2302 (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2303 (WebCore::SVGFEFloodElement::parseMappedAttribute):
2304 (WebCore::SVGFEFloodElement::filterEffect):
2305 * ksvg2/svg/SVGFEFuncAElement.cpp:
2306 * ksvg2/svg/SVGFEFuncBElement.cpp:
2307 * ksvg2/svg/SVGFEFuncGElement.cpp:
2308 (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
2309 * ksvg2/svg/SVGFEFuncRElement.cpp:
2310 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2311 (WebCore::SVGFEGaussianBlurElement::filterEffect):
2312 * ksvg2/svg/SVGFEImageElement.cpp:
2313 (WebCore::SVGFEImageElement::SVGFEImageElement):
2314 (WebCore::SVGFEImageElement::parseMappedAttribute):
2315 (WebCore::SVGFEImageElement::notifyFinished):
2316 (WebCore::SVGFEImageElement::filterEffect):
2317 * ksvg2/svg/SVGFELightElement.cpp:
2318 * ksvg2/svg/SVGFEMergeElement.cpp:
2319 (WebCore::SVGFEMergeElement::filterEffect):
2320 * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2321 * ksvg2/svg/SVGFEOffsetElement.cpp:
2322 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2323 (WebCore::SVGFEOffsetElement::parseMappedAttribute):
2324 (WebCore::SVGFEOffsetElement::filterEffect):
2325 * ksvg2/svg/SVGFEPointLightElement.cpp:
2326 (WebCore::SVGFEPointLightElement::lightSource):
2327 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2328 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2329 (WebCore::SVGFESpecularLightingElement::filterEffect):
2330 (WebCore::SVGFESpecularLightingElement::updateLights):
2331 * ksvg2/svg/SVGFESpotLightElement.cpp:
2332 (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
2333 (WebCore::SVGFESpotLightElement::lightSource):
2334 * ksvg2/svg/SVGFETileElement.cpp:
2335 (WebCore::SVGFETileElement::SVGFETileElement):
2336 (WebCore::SVGFETileElement::parseMappedAttribute):
2337 (WebCore::SVGFETileElement::filterEffect):
2338 * ksvg2/svg/SVGFETurbulenceElement.cpp:
2339 (WebCore::SVGFETurbulenceElement::filterEffect):
2340 * ksvg2/svg/SVGFilterElement.cpp:
2341 (WebCore::SVGFilterElement::canvasResource):
2342 * ksvg2/svg/SVGGradientElement.cpp:
2343 (WebCore::SVGGradientElement::canvasResource):
2344 * ksvg2/svg/SVGLinearGradientElement.cpp:
2345 * ksvg2/svg/SVGMarkerElement.cpp:
2346 * ksvg2/svg/SVGMaskElement.cpp:
2347 (WebCore::SVGMaskElement::parseMappedAttribute):
2348 (WebCore::SVGMaskElement::drawMaskerContent):
2349 (WebCore::SVGMaskElement::canvasResource):
2350 * ksvg2/svg/SVGPatternElement.cpp:
2351 (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2352 (WebCore::SVGPatternElement::canvasResource):
2353 * ksvg2/svg/SVGStyledElement.cpp:
2354 * ksvg2/svg/SVGStyledElement.h:
2355 * platform/graphics/GraphicsContext.h:
2356 * platform/graphics/svg/SVGPaintServer.h:
2357 * platform/graphics/svg/SVGPaintServerGradient.cpp:
2358 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2359 * platform/graphics/svg/SVGPaintServerGradient.h:
2360 * platform/graphics/svg/SVGPaintServerLinearGradient.h:
2361 * platform/graphics/svg/SVGPaintServerPattern.h:
2362 * platform/graphics/svg/SVGPaintServerRadialGradient.h:
2363 * platform/graphics/svg/SVGPaintServerSolid.h:
2364 * platform/graphics/svg/SVGResource.cpp:
2365 * platform/graphics/svg/SVGResource.h:
2366 * platform/graphics/svg/SVGResourceClipper.h:
2367 * platform/graphics/svg/SVGResourceFilter.h:
2368 * platform/graphics/svg/SVGResourceMasker.h:
2369 * platform/graphics/svg/cg/RenderPathCg.cpp: Added.
2370 * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
2371 (WebCore::SVGPaintServer::draw):
2372 (WebCore::SVGPaintServer::teardown):
2373 (WebCore::SVGPaintServer::renderPath):
2374 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2375 (WebCore::SVGPaintServerGradient::teardown):
2376 (WebCore::SVGPaintServerGradient::renderPath):
2377 (WebCore::SVGPaintServerGradient::setup):
2378 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2379 (WebCore::SVGPaintServerPattern::setup):
2380 (WebCore::SVGPaintServerPattern::teardown):
2381 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
2382 (WebCore::SVGPaintServerSolid::setup):
2383 * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
2384 (WebCore::SVGResourceClipper::applyClip):
2385 * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
2386 (WebCore::SVGResourceFilter::SVGResourceFilter):
2387 (WebCore::SVGResourceFilter::createFilterEffect):
2388 (WebCore::SVGResourceFilter::prepareFilter):
2389 (WebCore::SVGResourceFilter::applyFilter):
2390 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2391 (WebCore::SVGResourceMasker::applyMask):
2392 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
2393 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
2394 (WebCore::SVGPaintServerLinearGradient::setup):
2395 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
2396 (WebCore::SVGPaintServerPattern::setup):
2397 * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
2398 (WebCore::SVGPaintServer::draw):
2399 (WebCore::SVGPaintServer::teardown):
2400 (WebCore::SVGPaintServer::renderPath):
2401 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
2403 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
2404 (WebCore::SVGPaintServerSolid::setup):
2405 * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
2406 (WebCore::SVGResourceClipper::applyClip):
2407 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
2408 (WebCore::SVGResourceFilter::createFilterEffect):
2409 (WebCore::SVGResourceFilter::prepareFilter):
2410 (WebCore::SVGResourceFilter::applyFilter):
2411 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
2412 (WebCore::SVGResourceMasker::applyMask):
2413 * platform/qt/GraphicsContextQt.cpp:
2414 (WebCore::GraphicsContext::beginPath):
2415 (WebCore::GraphicsContext::addPath):
2416 (WebCore::GraphicsContext::setFillRule):
2417 (WebCore::GraphicsContext::currentPath):
2418 (WebCore::GraphicsContext::strokeRect):
2419 (WebCore::contextForImage):
2420 * rendering/RenderForeignObject.cpp:
2421 (WebCore::RenderForeignObject::paint):
2422 * rendering/RenderPath.cpp:
2423 (WebCore::RenderPath::paint):
2424 * rendering/RenderSVGContainer.cpp:
2425 (WebCore::RenderSVGContainer::paint):
2426 * rendering/RenderSVGImage.cpp:
2427 (WebCore::RenderSVGImage::paint):
2428 * rendering/RenderSVGImage.h:
2429 * rendering/RenderSVGInline.cpp:
2430 (WebCore::RenderSVGInline::RenderSVGInline):
2431 (WebCore::RenderSVGInline::createInlineBox):
2432 * rendering/RenderSVGInlineText.cpp:
2433 (WebCore::RenderSVGInlineText::RenderSVGInlineText):
2434 * rendering/RenderSVGTSpan.cpp:
2435 (WebCore::RenderSVGTSpan::RenderSVGTSpan):
2436 * rendering/RenderSVGText.cpp:
2437 (WebCore::RenderSVGText::paint):
2438 * rendering/SVGInlineFlowBox.cpp:
2439 (WebCore::paintSVGInlineFlow):
2440 * rendering/SVGRenderTreeAsText.cpp:
2441 (WebCore::writeStyle):
2443 2006-11-30 Geoffrey Garen <ggaren@apple.com>
2445 Reviewed by Beth Dakin.
2447 Fixed up garbage collection at window close time.
2449 * bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
2450 destructor, since the global object hasn't been freed yet.
2451 * bindings/js/kjs_proxy.h:
2452 * loader/FrameLoader.cpp:
2453 (WebCore::FrameLoader::detachFromParent): Made this function cross-
2455 * loader/FrameLoader.h:
2456 * loader/mac/FrameLoaderMac.mm:
2457 (WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
2458 since it's Mac-only.
2459 (WebCore::FrameLoader::closeBridge):
2461 (WebCore::Page::~Page): Don't garbage collect in the Page destructor,
2462 since the Interpreter destructor will do it for us.
2464 2006-11-30 Brady Eidson <beidson@apple.com>
2466 Reviewed by Tim's rubberstamp
2468 Amazingly, DocumentLoader.h survived all this time without a header guard...
2470 * loader/DocumentLoader.h: Added header guard
2472 2006-11-30 Timothy Hatcher <timothy@apple.com>
2474 Reviewed by Brady and Eric.
2476 XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
2477 http://bugs.webkit.org/show_bug.cgi?id=11723
2479 Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
2480 tested in Safari's debug Snippet Editor.
2482 * xml/xmlhttprequest.cpp:
2483 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
2485 2006-11-29 Anders Carlsson <acarlsson@apple.com>
2489 Get rid of PlatformResponse, the platform specific response object is stored inside of
2490 the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
2492 * bridge/mac/WebCoreFrameBridge.mm:
2493 (-[WebCoreFrameBridge getData:andResponse:forURL:]):
2494 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
2495 * loader/CachedResource.cpp:
2496 (WebCore::CachedResource::CachedResource):
2497 (WebCore::CachedResource::~CachedResource):
2498 * loader/CachedResource.h:
2499 (WebCore::CachedResource::response):
2500 * loader/loader.cpp:
2502 * loader/mac/ImageDocumentMac.mm:
2503 (WebCore::finishImageLoad):
2504 * loader/mac/LoaderFunctionsMac.mm:
2505 (WebCore::CheckCacheObjectStatus):
2506 * loader/mac/SubresourceLoaderMac.mm:
2507 (WebCore::SubresourceLoader::didReceiveResponse):
2508 * platform/network/ResourceHandle.h:
2509 * platform/network/ResourceResponse.h:
2510 (WebCore::ResourceResponse::nsURLResponse):
2511 (WebCore::ResourceResponse::cfURLResponse):
2512 * platform/network/mac/ResourceHandleMac.mm:
2513 (WebCore::ResourceHandle::didReceiveResponse):
2515 2006-11-29 Justin Garcia <justin.garcia@apple.com>
2517 Reviewed by sullivan
2519 <rdar://problem/4845371>
2520 In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
2522 * editing/DeleteSelectionCommand.cpp:
2523 (WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
2524 being inflated even when they were the start/end of a partially selected
2527 2006-11-29 Anders Carlsson <acarlsson@apple.com>
2531 Fix fast/dom/xmlhttprequest-get layout test failure.
2533 * platform/network/mac/ResourceResponseMac.mm:
2534 Initialize the status code to 0 for non-http responses.
2536 2006-11-29 Geoffrey Garen <ggaren@apple.com>
2538 Reviewed by Anders Carlsson.
2540 Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
2541 REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
2543 This was an accidental commit by Anders.
2545 Chrome can't use the FrameView at window.open time, because it doesn't
2549 (WebCore::Chrome::pageRect):
2551 2006-11-29 Geoffrey Garen <ggaren@apple.com>
2553 Reviewed by Mitz Pettel.
2555 Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
2556 REGRESSION (r17906): Crash in WebCore::FrameMac
2558 Added null checks for EditorClient, since it can be NULL when the page
2559 has been destroyed. Removed external access to EditorClient, since it's
2560 an implementation detail of the Editor.
2562 No test case because this crash depends on window tear-down. Layout tests
2565 2006-11-29 Anders Carlsson <acarlsson@apple.com>
2569 * platform/network/mac/ResourceHandleMac.mm:
2570 (WebCore::ResourceHandle::receivedResponse):
2573 2006-11-29 Anders Carlsson <acarlsson@apple.com>
2577 Have ResourceResponse hold on to the platform object and do lazy
2578 initialization of the data members.
2580 * WebCore.xcodeproj/project.pbxproj:
2581 * loader/mac/FrameLoaderMac.mm:
2582 (WebCore::FrameLoader::loadResourceSynchronously):
2583 * platform/network/ResourceRequest.cpp:
2584 (WebCore::ResourceRequest::updatePlatformRequest):
2585 (WebCore::ResourceRequest::updateResourceRequest):
2586 * platform/network/ResourceResponse.cpp: Added.
2587 (WebCore::ResourceResponse::url):
2588 (WebCore::ResourceResponse::mimeType):
2589 (WebCore::ResourceResponse::expectedContentLength):
2590 (WebCore::ResourceResponse::textEncodingName):
2591 (WebCore::ResourceResponse::suggestedFilename):
2592 (WebCore::ResourceResponse::httpStatusCode):
2593 (WebCore::ResourceResponse::setHTTPStatusCode):
2594 (WebCore::ResourceResponse::httpStatusText):
2595 (WebCore::ResourceResponse::setHTTPStatusText):
2596 (WebCore::ResourceResponse::httpHeaderField):
2597 (WebCore::ResourceResponse::httpHeaderFields):
2598 (WebCore::ResourceResponse::setExpirationDate):
2599 (WebCore::ResourceResponse::expirationDate):
2600 (WebCore::ResourceResponse::setLastModifiedDate):
2601 (WebCore::ResourceResponse::lastModifiedDate):
2602 (WebCore::ResourceResponse::updateResourceResponse):
2603 * platform/network/ResourceResponse.h:
2604 (WebCore::ResourceResponse::ResourceResponse):
2605 (WebCore::ResourceResponse::isMultipart):
2606 * platform/network/mac/ResourceHandleMac.mm:
2607 (WebCore::ResourceHandle::receivedResponse):
2608 (WebCore::ResourceHandle::willSendRequest):
2609 * platform/network/mac/ResourceResponseMac.h: Removed.
2610 * platform/network/mac/ResourceResponseMac.mm:
2611 (-[NSURLResponse WebCore]):
2613 2006-11-28 Alice Liu <alice.liu@apple.com>
2617 A fix for a couple failing layout tests involving copy/cut in iframes.
2619 * bridge/EditorClient.h:
2620 Add frame parameter to dataForArchivedSelectionInFrame instead of
2621 just getting the webview's selectedFrame.
2623 * platform/mac/PasteboardMac.mm:
2624 (Pasteboard::writeSelection):
2627 2006-11-28 Geoffrey Garen <ggaren@apple.com>
2629 Reviewed by Beth Dakin.
2631 Fixed <rdar://problem/4844855> Should clarify when to create clients in
2632 the WebCore client API
2634 All clients must now be supplied as constructor arguments. This clarifies
2635 when you need to create clients, and also guarantees that objects can't
2636 (for the most part) be in a clientless state.
2638 Layout tests pass. No leaks reported.
2640 * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
2641 WebKit to resolve circular dependencies at init time.
2643 2006-11-28 Adam Roben <aroben@apple.com>
2647 Add platform-specific constructor/destructor to ContextMenu so we can
2648 properly retain/release the platform menu description.
2650 * platform/ContextMenu.h:
2651 (WebCore::ContextMenu::platformDescription):
2652 * platform/mac/ContextMenuMac.mm:
2653 (WebCore::ContextMenu::ContextMenu):
2654 (WebCore::ContextMenu::~ContextMenu):
2655 (WebCore::getNSMenuItem):
2656 (WebCore::ContextMenu::appendItem):
2657 (WebCore::ContextMenu::itemCount):
2658 (WebCore::ContextMenu::insertItem):
2659 (WebCore::ContextMenu::setPlatformDescription):
2661 2006-11-28 Adam Roben <aroben@apple.com>
2665 * platform/network/mac/ResourceRequestMac.mm:
2667 2006-11-28 David Harrison <harrison@apple.com>
2671 <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
2674 * editing/selection/select-missing-image.html: Added.
2676 * rendering/RenderImage.cpp:
2677 (WebCore::RenderImage::paint):
2678 Draw the selection tint even if the image itself is not available.
2680 2006-11-28 Anders Carlsson <acarlsson@apple.com>
2684 Have ResourceRequest hold on to the platform object so we don't
2685 have to convert back and forth when nothing in the object changes.
2688 * WebCore.xcodeproj/project.pbxproj:
2689 * loader/mac/FrameLoaderMac.mm:
2690 (WebCore::FrameLoader::continueAfterNavigationPolicy):
2692 (WebCore::Chrome::pageRect):
2693 * platform/network/ResourceRequest.cpp: Added.
2694 (WebCore::ResourceRequest::isEmpty):
2695 (WebCore::ResourceRequest::url):
2696 (WebCore::ResourceRequest::setURL):
2697 (WebCore::ResourceRequest::cachePolicy):
2698 (WebCore::ResourceRequest::setCachePolicy):
2699 (WebCore::ResourceRequest::timeoutInterval):
2700 (WebCore::ResourceRequest::setTimeoutInterval):
2701 (WebCore::ResourceRequest::mainDocumentURL):
2702 (WebCore::ResourceRequest::setMainDocumentURL):
2703 (WebCore::ResourceRequest::httpMethod):
2704 (WebCore::ResourceRequest::setHTTPMethod):
2705 (WebCore::ResourceRequest::httpHeaderFields):
2706 (WebCore::ResourceRequest::httpHeaderField):
2707 (WebCore::ResourceRequest::setHTTPHeaderField):
2708 (WebCore::ResourceRequest::httpBody):
2709 (WebCore::ResourceRequest::setHTTPBody):
2710 (WebCore::ResourceRequest::allowHTTPCookies):
2711 (WebCore::ResourceRequest::setAllowHTTPCookies):
2712 (WebCore::ResourceRequest::updatePlatformRequest):
2713 (WebCore::ResourceRequest::updateResourceRequest):
2714 (WebCore::ResourceRequest::addHTTPHeaderField):
2715 (WebCore::ResourceRequest::addHTTPHeaderFields):
2716 * platform/network/ResourceRequest.h:
2717 (WebCore::ResourceRequest::ResourceRequest):
2718 * platform/network/mac/ResourceHandleMac.mm:
2719 (WebCore::ResourceHandle::willSendRequest):
2720 * platform/network/mac/ResourceRequestMac.h: Removed.
2721 * platform/network/mac/ResourceRequestMac.mm:
2722 (WebCore::ResourceRequest::nsURLRequest):
2723 (WebCore::ResourceRequest::doUpdateResourceRequest):
2724 (WebCore::ResourceRequest::doUpdatePlatformRequest):
2726 2006-11-28 Adam Roben <aroben@apple.com>
2730 More WebCore context menu work (still not turned on, however).
2732 Split ContextMenuItem into its own files and make it a class.
2734 * WebCore.exp: Updated symbols.
2735 * WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
2736 * platform/ContextMenu.cpp:
2737 (WebCore::ContextMenu::populate): Code cleanup.
2738 * platform/ContextMenu.h: Split ContextMenuItem into a separate file,
2739 removed redundant "Menu" part of platformMenuDescription(),
2740 setPlatformMenuDescription().
2741 (WebCore::ContextMenu::ContextMenu):
2742 (WebCore::ContextMenu::hitTestResult):
2743 (WebCore::ContextMenu::platformDescription):
2744 * platform/ContextMenuItem.h: Added. Made ContextMenuItem a
2747 (WebCore::ContextMenuItem::ContextMenuItem):
2748 (WebCore::ContextMenuItem::menu):
2749 (WebCore::ContextMenuItem::platformDescription):
2750 (WebCore::ContextMenuItem::type):
2751 (WebCore::ContextMenuItem::action):
2752 (WebCore::ContextMenuItem::title):
2753 * platform/mac/ContextMenuItemMac.mm: Added.
2754 (WebCore::ContextMenuItem::ContextMenuItem):
2755 * platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
2756 (-[MenuTarget forwardContextMenuAction:]):
2757 (getNSMenuItem): Handle separator items.
2758 (ContextMenu::appendItem):
2759 (ContextMenu::itemCount):
2760 (ContextMenu::insertItem):
2761 (ContextMenu::setPlatformDescription):
2762 * page/ContextMenuController.h: Updated declaration, added getter.
2763 (WebCore::ContextMenuController::contextMenu):
2765 Added some more context menu plumbing.
2767 * dom/EventTargetNode.cpp:
2768 (WebCore::EventTargetNode::defaultEventHandler): Added code to call the
2769 ContextMenuController when a context menu event is received.
2770 * page/ContextMenuClient.h: New client method declaration.
2771 * page/ContextMenuController.cpp:
2772 (WebCore::ContextMenuController::handleContextMenuEvent): Set the event
2773 defaultHandled after handling it.
2774 (WebCore::ContextMenuController::contextMenuItemSelected): Take a
2775 ContextMenuItem instead of a separate action and title.
2777 Changed event-handling methods to return bools to signify whether the
2778 event was handled or not. This is needed so we can know whether to hand
2779 the event off to the OS. Also restructured some code to use early
2780 returns instead of nesting ifs.
2782 * page/EventHandler.cpp:
2783 (WebCore::EventHandler::handleMousePressEventDoubleClick):
2784 (WebCore::EventHandler::handleMousePressEventTripleClick):
2785 (WebCore::EventHandler::handleMousePressEventSingleClick):
2786 (WebCore::EventHandler::handleMousePressEvent):
2787 (WebCore::EventHandler::handleMouseMoveEvent):
2788 (WebCore::EventHandler::handleMouseReleaseEvent):
2789 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2790 (WebCore::EventHandler::handleWheelEvent):
2791 (WebCore::EventHandler::canMouseDownStartSelect):
2792 * page/EventHandler.h:
2793 * page/FrameView.cpp:
2794 (WebCore::FrameView::handleMouseMoveEvent):
2795 (WebCore::FrameView::handleMouseReleaseEvent):
2797 * platform/ScrollBar.h: More bool return values.
2798 (WebCore::Scrollbar::handleMouseMoveEvent):
2799 (WebCore::Scrollbar::handleMouseOutEvent):
2800 * platform/Widget.h: Ditto.
2801 (WebCore::Widget::handleMouseMoveEvent):
2802 (WebCore::Widget::handleMouseReleaseEvent):
2804 Reverted the changes made in r17805 so that we can have fewer header
2808 (WebCore::Page::Page):
2809 * page/Page.h: Ditto.
2810 (WebCore::Page::dragCaretController):
2811 (WebCore::Page::chrome):
2812 (WebCore::Page::contextMenuController):
2814 2006-11-28 Alice Liu <alice.liu@apple.com>
2816 Reviewed by Justin and Adam.
2818 All layout tests pass as they do without this patch
2821 Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
2823 * WebCore.xcodeproj/project.pbxproj:
2824 Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
2826 * bridge/EditorClient.h:
2827 Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
2829 * bridge/mac/FrameMac.h:
2830 * bridge/mac/FrameMac.mm:
2831 Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now
2833 * dom/CharacterData.h:
2834 (WebCore::CharacterData::isCharacterDataNode):
2836 (WebCore::Node::isCharacterDataNode):
2837 Added a type-identifying function to Node and the proper subclass
2840 Exposed setAccessPolicy as public
2843 * editing/Editor.cpp:
2844 Implemented the following
2845 (WebCore::Editor::canDHTMLCut):
2846 (WebCore::Editor::canDHTMLCopy):
2847 (WebCore::Editor::canDHTMLPaste):
2848 (WebCore::Editor::canSmartCopyOrDelete):
2849 (WebCore::Editor::deleteSelection):
2850 (WebCore::Editor::pasteAsPlainTextWithPasteboard):
2851 (WebCore::Editor::pasteWithPasteboard):
2852 (WebCore::Editor::canSmartReplaceWithPasteboard):
2853 (WebCore::Editor::shouldInsertFragment):
2854 (WebCore::Editor::replaceSelectionWithFragment):
2855 (WebCore::Editor::replaceSelectionWithText):
2856 (WebCore::Editor::selectedRange):
2857 (WebCore::Editor::shouldDeleteRange):
2858 (WebCore::Editor::tryDHTMLCopy):
2859 (WebCore::Editor::tryDHTMLCut):
2860 (WebCore::Editor::tryDHTMLPaste):
2861 (WebCore::Editor::writeSelectionToPasteboard):
2862 (WebCore::Editor::dispatchCPPEvent):
2863 (WebCore::Editor::cut):
2864 (WebCore::Editor::copy):
2865 (WebCore::Editor::paste):
2867 * platform/mac/ClipboardAccessPolicy.h: Removed.
2868 Not removed, but moved to dom/ClipboardAccessPolicy.h
2870 * platform/mac/EditorMac.mm: Added.
2871 (WebCore::Editor::newGeneralClipboard):
2873 * platform/Pasteboard.h: Added.
2874 * platform/mac/PasteboardMac.mm: Added.
2875 The pasteboard class follows a singleton pattern
2876 (Pasteboard::generalPasteboard):
2877 (Pasteboard::~Pasteboard):
2878 (Pasteboard::Pasteboard):
2879 (Pasteboard::clearTypes):
2880 (Pasteboard::writeSelection):
2881 (Pasteboard::selectionPasteboardTypes):
2882 (Pasteboard::canSmartReplace):
2883 (Pasteboard::plainText):
2884 (Pasteboard::documentFragment):
2886 * platform/mac/WebNSAttributedStringExtras.h: Added.
2887 * platform/mac/WebNSAttributedStringExtras.mm: Added.
2888 Added select portions of this file from WebKit because the pasteboard needed the following function:
2889 (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
2891 2006-11-28 Justin Garcia <justin.garcia@apple.com>
2893 Reviewed by harrison
2895 <rdar://problem/4397952>
2896 Cannot select buttons at the end of a document, preventing copy/paste
2898 There were no VisiblePositions before/after buttons because editingIgnoresContent
2899 returned false for buttons.
2902 (WebCore::Position::upstream): Fixed a comment.
2903 (WebCore::Position::downstream): Ditto.
2904 * editing/DeleteSelectionCommand.cpp:
2905 (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
2906 * editing/htmlediting.cpp:
2907 (WebCore::editingIgnoresContent): It's unnecessary to prefer renderer
2908 checks over tag name checks because it seems that a node of a tag name
2909 that we do not ignore content for can't have a renderer of a type that we do.
2910 (WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
2911 * editing/visible_units.cpp:
2912 (WebCore::previousLinePosition): Migrate to enclosingBlock. Fixes a bug where the
2913 caret would get stuck moving up/down a line from a caret just before an
2915 (WebCore::nextLinePosition): Ditto.
2917 2006-11-28 Geoffrey Garen <ggaren@apple.com>
2921 Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref
2922 calls cause .5% PLT regression.
2924 Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
2925 from the Frame to the Page, since it's only responsible for
2926 Webview-level delegate calls.
2928 I don't really love this design, but it fixes the regression and allows
2929 a single WebKit object to implement multiple client interfaces.
2933 2006-11-27 Anders Carlsson <acarlsson@apple.com>
2935 Try fixing the build.
2937 * platform/graphics/IntRect.cpp:
2938 (WebCore::IntRect::IntRect):
2940 2006-11-27 Beth Dakin <bdakin@apple.com>
2944 Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
2946 * bridge/mac/FrameMac.h: Two new spell checker functions from
2947 WebKit. (We will be able to delete the WebKit versions once we
2948 switch over to WebCore context menus.)
2949 * bridge/mac/FrameMac.mm:
2950 (WebCore::FrameMac::isSelectionMisspelled):
2951 (WebCore::core): Convert from NSArray of Strings to a Vector of
2953 (WebCore::FrameMac::guessesForMisspelledSelection):
2954 * loader/FrameLoader.cpp:
2955 (WebCore::FrameLoader::canHandleRequest):
2956 * loader/FrameLoader.h: Make canHandleRequest available through the
2958 * loader/FrameLoaderClient.h: canHandleRequest takes a
2959 ResourceRequest instead of an NSURLRequest.
2960 * loader/mac/FrameLoaderMac.mm:
2961 (WebCore::FrameLoader::continueAfterNavigationPolicy): Same
2962 * page/Frame.h: New spell checker functions moved to Frame. These
2963 should be moved some place better some day, but FrameMac currently
2964 seems to be the place to be for spell checker stuff.
2965 * platform/ContextMenu.cpp:
2966 (WebCore::ContextMenu::populate): Use new FrameLoader and spell
2967 checking functionality to get rid of two if (true) statements. Also
2968 add spelling guesses to the editing context menus.
2970 2006-11-27 Alexey Proskuryakov <ap@webkit.org>
2974 http://bugs.webkit.org/show_bug.cgi?id=11694
2975 XSLT output method does not default to HTML when the target document is HTML
2977 Test: fast/xsl/default-html.html
2979 * xml/XSLTProcessor.cpp:
2980 (WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter,
2981 serving as a hint when the stylesheet doesn't specify the output method.
2982 (WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
2985 2006-11-27 Oliver Hunt <oliver@apple.com>
2989 Fixes a crash in SVG caused by an attempt to
2990 perform css overflow clipping by preventing
2991 the css overflow clip from being set in SVG.
2993 <rdar:/problems/4839568>
2995 * WebCore.xcodeproj/project.pbxproj:
2996 * rendering/RenderForeignObject.cpp:
2997 (WebCore::RenderForeignObject::RenderForeignObject):
2998 * rendering/RenderForeignObject.h:
2999 * rendering/RenderSVGBlock.cpp: Added.
3000 (WebCore::RenderSVGBlock::RenderSVGBlock):
3001 (WebCore::RenderSVGBlock::setStyle):
3002 * rendering/RenderSVGBlock.h: Added.
3003 * rendering/RenderSVGText.cpp:
3004 (WebCore::RenderSVGText::RenderSVGText):
3005 * rendering/RenderSVGText.h:
3007 2006-11-27 Anders Carlsson <acarlsson@apple.com>
3011 Add an explicit IntRect constructor that takes a FloatRect.
3013 * platform/graphics/IntRect.cpp:
3014 (WebCore::IntRect::IntRect):
3015 * platform/graphics/IntRect.h:
3017 2006-11-27 Ada Chan <adachan@apple.com>
3021 Moved WebCoreCache up to WebKit.
3024 * WebCore.xcodeproj/project.pbxproj:
3025 * bridge/mac/WebCoreCache.h: Removed.
3026 * bridge/mac/WebCoreCache.mm: Removed.
3028 2006-11-27 Anders Carlsson <acarlsson@apple.com>
3032 Move addMessageToConsole to Chrome.
3034 * bindings/js/kjs_events.cpp:
3035 (KJS::JSAbstractEventListener::handleEvent):
3036 * bindings/js/kjs_proxy.cpp:
3037 (WebCore::KJSProxy::evaluate):
3038 * bindings/js/kjs_window.cpp:
3039 (KJS::Window::isSafeScript):
3040 (KJS::ScheduledAction::execute):
3041 * bridge/mac/FrameMac.h:
3042 * bridge/mac/FrameMac.mm:
3043 * bridge/mac/WebCoreFrameBridge.h:
3045 (WebCore::Chrome::addMessageToConsole):
3047 * page/ChromeClient.h:
3050 2006-11-27 Adele Peterson <adele@apple.com>
3054 - Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
3055 Caret color in new text field should take background color and foreground color into consideration
3057 * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
3058 Use the foreground color of the rootEditableElement to determine the caret color. This will work well for text controls in web pages (since the root is always the actual form control)
3059 as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.
3061 2006-11-26 Simon Hausmann <hausmann@kde.org>
3065 http://bugs.webkit.org/show_bug.cgi?id=11693
3066 Fix the Qt build, adapt to various enum/class renamings.
3068 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3069 (WebCore::KRenderingDeviceQt::createResource):
3070 (WebCore::KRenderingDeviceQt::createPaintServer):
3071 * kcanvas/device/qt/KRenderingDeviceQt.h:
3072 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
3073 (WebCore::SVGPaintServerLinearGradient::setup):
3074 * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
3075 (WebCore::SVGPaintServer::renderPath):
3076 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
3078 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
3079 (WebCore::SVGPaintServerSolid::setup):
3081 2006-11-24 Rob Buis <buis@kde.org>
3085 http://bugs.webkit.org/show_bug.cgi?id=11666
3086 .getScreenCTM() returns wrong values
3088 Take into account the local transform matrix too and
3089 so fix getScreenCTM/getCTM for <text>.
3091 * ksvg2/svg/SVGStyledTransformableElement.cpp:
3092 (SVGStyledTransformableElement::getCTM):
3093 (SVGStyledTransformableElement::getScreenCTM):
3094 * ksvg2/svg/SVGTextElement.cpp:
3095 (WebCore::SVGTextElement::getScreenCTM):
3096 (WebCore::SVGTextElement::getCTM):
3097 * ksvg2/svg/SVGTransformable.cpp:
3098 (WebCore::SVGTransformable::getCTM):
3099 (WebCore::SVGTransformable::getScreenCTM):
3100 * ksvg2/svg/SVGTransformable.h:
3102 2006-11-22 Rob Buis <buis@kde.org>
3106 http://bugs.webkit.org/show_bug.cgi?id=11661
3107 SVG: stroke not sensitive to mouse events (hit testing fails)
3109 Use mapAbsolutePointToLocal when hit-testing strokes.
3111 * rendering/RenderPath.cpp:
3112 (WebCore::RenderPath::fillContains):
3113 (WebCore::RenderPath::nodeAtPoint):
3115 2006-11-21 Anders Carlsson <acarlsson@apple.com>
3119 General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
3120 Remove config.h inluce from AffineTransform.h
3122 * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
3123 (WebCore::KRenderingDeviceQuartz::createPaintServer):
3124 (WebCore::KRenderingDeviceQuartz::createResource):
3125 * ksvg2/misc/KCanvasRenderingStyle.cpp:
3126 (WebCore::sharedSolidPaintServer):
3127 * ksvg2/svg/SVGFilterElement.cpp:
3128 (WebCore::SVGFilterElement::canvasResource):
3129 * ksvg2/svg/SVGLinearGradientElement.cpp:
3130 (WebCore::SVGLinearGradientElement::buildGradient):
3131 * ksvg2/svg/SVGLinearGradientElement.h:
3132 (WebCore::SVGLinearGradientElement::gradientType):
3133 * ksvg2/svg/SVGPatternElement.cpp:
3134 (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3135 (WebCore::SVGPatternElement::canvasResource):
3136 * ksvg2/svg/SVGRadialGradientElement.cpp:
3137 (WebCore::SVGRadialGradientElement::buildGradient):
3138 * ksvg2/svg/SVGRadialGradientElement.h:
3139 (WebCore::SVGRadialGradientElement::gradientType):
3140 * platform/graphics/AffineTransform.h:
3141 * platform/graphics/svg/SVGPaintServer.h:
3143 * platform/graphics/svg/SVGPaintServerGradient.cpp:
3144 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
3145 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
3146 * platform/graphics/svg/SVGPaintServerGradient.h:
3147 * platform/graphics/svg/SVGPaintServerLinearGradient.h:
3148 (WebCore::SVGPaintServerLinearGradient::type):
3149 * platform/graphics/svg/SVGPaintServerPattern.h:
3150 (WebCore::SVGPaintServerPattern::type):
3151 * platform/graphics/svg/SVGPaintServerRadialGradient.h:
3152 (WebCore::SVGPaintServerRadialGradient::type):
3153 * platform/graphics/svg/SVGPaintServerSolid.h:
3154 (WebCore::SVGPaintServerSolid::type):
3155 * platform/graphics/svg/SVGResource.h:
3157 * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
3158 (WebCore::SVGPaintServer::renderPath):
3159 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3160 (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
3161 (WebCore::SVGPaintServerGradient::teardown):
3162 (WebCore::SVGPaintServerGradient::renderPath):
3163 (WebCore::SVGPaintServerGradient::setup):
3164 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
3165 (WebCore::SVGPaintServerPattern::setup):
3166 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
3167 (WebCore::SVGPaintServerSolid::setup):
3168 * rendering/RenderPath.cpp:
3169 (WebCore::RenderPath::paint):
3170 * rendering/SVGInlineFlowBox.cpp:
3171 (WebCore::paintSVGInlineFlow):
3173 2006-11-21 Nikolas Zimmermann <zimmermann@kde.org>
3177 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
3179 Move KRenderingPaintServer* classes to the location
3180 of all other resources (platform/graphics/svg).
3182 Soon the whole platform/graphics/svg stuff will bemoved
3183 into ksvg2/ itself, as discussed with Darin.
3186 * WebCore.xcodeproj/project.pbxproj:
3187 * kcanvas/device/KRenderingDevice.h:
3188 * kcanvas/device/KRenderingPaintServer.h: Removed.
3189 * kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
3190 * kcanvas/device/KRenderingPaintServerGradient.h: Removed.
3191 * kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
3192 * kcanvas/device/KRenderingPaintServerPattern.h: Removed.
3193 * kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
3194 * kcanvas/device/KRenderingPaintServerSolid.h: Removed.
3195 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
3196 * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
3197 * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
3198 * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
3199 * kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
3200 * kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
3201 * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
3202 * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
3203 * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
3204 * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
3205 (WebCore::KRenderingDeviceQuartz::createPaintServer):
3206 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3207 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
3208 * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
3209 * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
3210 * ksvg2/misc/KCanvasRenderingStyle.cpp:
3211 (WebCore::sharedSolidPaintServer):
3212 (WebCore::KSVGPainterFactory::fillPaintServer):
3213 (WebCore::KSVGPainterFactory::strokePaintServer):
3214 * ksvg2/misc/KCanvasRenderingStyle.h:
3215 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3216 * ksvg2/svg/SVGFEOffsetElement.cpp:
3217 * ksvg2/svg/SVGGradientElement.cpp:
3218 (WebCore::SVGGradientElement::canvasResource):
3219 (WebCore::SVGGradientElement::resourceNotification):
3220 (WebCore::SVGGradientElement::rebuildStops):
3221 * ksvg2/svg/SVGGradientElement.h:
3222 * ksvg2/svg/SVGLinearGradientElement.cpp:
3223 (WebCore::SVGLinearGradientElement::buildGradient):
3224 * ksvg2/svg/SVGLinearGradientElement.h:
3225 (WebCore::SVGLinearGradientElement::gradientType):
3226 * ksvg2/svg/SVGPatternElement.cpp:
3227 (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3228 (WebCore::SVGPatternElement::canvasResource):
3229 * ksvg2/svg/SVGPatternElement.h:
3230 * ksvg2/svg/SVGRadialGradientElement.cpp:
3231 (WebCore::SVGRadialGradientElement::buildGradient):
3232 * ksvg2/svg/SVGRadialGradientElement.h:
3233 (WebCore::SVGRadialGradientElement::gradientType):
3234 * platform/graphics/svg/SVGPaintServer.cpp: Added.
3235 (WebCore::SVGPaintServer::SVGPaintServer):
3236 (WebCore::SVGPaintServer::~SVGPaintServer):
3237 (WebCore::SVGPaintServer::activeClient):
3238 (WebCore::SVGPaintServer::setActiveClient):
3239 (WebCore::SVGPaintServer::isPaintingText):
3240 (WebCore::SVGPaintServer::setPaintingText):
3241 (WebCore::operator<<):
3242 (WebCore::getPaintServerById):
3243 * platform/graphics/svg/SVGPaintServer.h: Added.
3245 (WebCore::SVGPaintServer::isPaintServer):
3246 * platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
3247 (WebCore::compareStopOffset):
3248 (WebCore::operator<<):
3249 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
3250 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
3251 (WebCore::SVGPaintServerGradient::gradientStops):
3252 (WebCore::SVGPaintServerGradient::setGradientStops):
3253 (WebCore::SVGPaintServerGradient::spreadMethod):
3254 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
3255 (WebCore::SVGPaintServerGradient::boundingBoxMode):
3256 (WebCore::SVGPaintServerGradient::setBoundingBoxMode):
3257 (WebCore::SVGPaintServerGradient::gradientTransform):
3258 (WebCore::SVGPaintServerGradient::setGradientTransform):
3259 (WebCore::SVGPaintServerGradient::listener):
3260 (WebCore::SVGPaintServerGradient::setListener):
3261 (WebCore::SVGPaintServerGradient::externalRepresentation):
3262 * platform/graphics/svg/SVGPaintServerGradient.h: Added.
3264 (WebCore::SVGPaintServerGradient::):
3265 (WebCore::makeGradientStop):
3266 * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
3267 (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
3268 (WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
3269 (WebCore::SVGPaintServerLinearGradient::gradientStart):
3270 (WebCore::SVGPaintServerLinearGradient::setGradientStart):
3271 (WebCore::SVGPaintServerLinearGradient::gradientEnd):
3272 (WebCore::SVGPaintServerLinearGradient::setGradientEnd):
3273 (WebCore::SVGPaintServerLinearGradient::externalRepresentation):
3274 * platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
3275 (WebCore::SVGPaintServerLinearGradient::type):
3276 * platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
3277 (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
3278 (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
3279 (WebCore::SVGPaintServerPattern::bbox):
3280 (WebCore::SVGPaintServerPattern::setBbox):
3281 (WebCore::SVGPaintServerPattern::boundingBoxMode):
3282 (WebCore::SVGPaintServerPattern::setBoundingBoxMode):
3283 (WebCore::SVGPaintServerPattern::tile):
3284 (WebCore::SVGPaintServerPattern::setTile):
3285 (WebCore::SVGPaintServerPattern::patternTransform):
3286 (WebCore::SVGPaintServerPattern::setPatternTransform):
3287 (WebCore::SVGPaintServerPattern::listener):
3288 (WebCore::SVGPaintServerPattern::setListener):
3289 (WebCore::SVGPaintServerPattern::externalRepresentation):
3290 * platform/graphics/svg/SVGPaintServerPattern.h: Added.
3291 (WebCore::SVGPaintServerPattern::type):
3292 * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
3293 (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
3294 (WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
3295 (WebCore::SVGPaintServerRadialGradient::gradientCenter):
3296 (WebCore::SVGPaintServerRadialGradient::setGradientCenter):
3297 (WebCore::SVGPaintServerRadialGradient::gradientFocal):
3298 (WebCore::SVGPaintServerRadialGradient::setGradientFocal):
3299 (WebCore::SVGPaintServerRadialGradient::gradientRadius):
3300 (WebCore::SVGPaintServerRadialGradient::setGradientRadius):
3301 (WebCore::SVGPaintServerRadialGradient::externalRepresentation):
3302 * platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
3303 (WebCore::SVGPaintServerRadialGradient::type):
3304 * platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
3305 (WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
3306 (WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
3307 (WebCore::SVGPaintServerSolid::color):
3308 (WebCore::SVGPaintServerSolid::setColor):
3309 (WebCore::SVGPaintServerSolid::externalRepresentation):
3310 * platform/graphics/svg/SVGPaintServerSolid.h: Added.
3311 (WebCore::SVGPaintServerSolid::type):
3312 * platform/graphics/svg/SVGResource.cpp:
3313 * platform/graphics/svg/SVGResource.h:
3314 * platform/graphics/svg/SVGResourceClipper.cpp:
3315 * platform/graphics/svg/SVGResourceMarker.cpp:
3316 * platform/graphics/svg/SVGResourceMasker.cpp:
3317 * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
3318 (WebCore::SVGPaintServer::draw):
3319 (WebCore::SVGPaintServer::teardown):
3320 (WebCore::SVGPaintServer::renderPath):
3321 (WebCore::SVGPaintServer::strokePath):
3322 (WebCore::SVGPaintServer::clipToStrokePath):
3323 (WebCore::SVGPaintServer::fillPath):
3324 (WebCore::SVGPaintServer::clipToFillPath):
3325 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
3326 (WebCore::cgGradientCallback):
3327 (WebCore::CGShadingRefForLinearGradient):
3328 (WebCore::CGShadingRefForRadialGradient):
3329 (WebCore::SVGPaintServerGradient::invalidateCaches):
3330 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
3331 (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
3332 (WebCore::SVGPaintServerGradient::teardown):
3333 (WebCore::SVGPaintServerGradient::renderPath):
3334 (WebCore::SVGPaintServerGradient::setup):
3335 (WebCore::SVGPaintServerGradient::invalidate):
3336 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
3337 (WebCore::patternCallback):
3338 (WebCore::SVGPaintServerPattern::setup):
3339 (WebCore::SVGPaintServerPattern::teardown):
3340 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
3341 (WebCore::SVGPaintServerSolid::setup):
3342 * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
3343 (WebCore::SVGPaintServerGradient::fillColorArray):
3344 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
3345 (WebCore::SVGPaintServerLinearGradient::setup):
3346 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
3347 (WebCore::SVGPaintServerPattern::setup):
3348 * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
3349 (WebCore::SVGPaintServer::setPenProperties):
3350 (WebCore::SVGPaintServer::draw):
3351 (WebCore::SVGPaintServer::teardown):
3352 (WebCore::SVGPaintServer::renderPath):
3353 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
3355 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
3356 (WebCore::SVGPaintServerSolid::setup):
3357 * rendering/RenderPath.cpp:
3358 (WebCore::RenderPath::paint):
3359 * rendering/SVGInlineFlowBox.cpp:
3360 (WebCore::paintSVGInlineFlow):
3361 * rendering/SVGRenderTreeAsText.cpp:
3362 (WebCore::writeStyle):
3363 (WebCore::writeRenderResources):
3365 2006-11-21 Alex Taylor <darwin@techvisual.co.nz>
3369 Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
3371 Adds calculations for bottom right radius's position
3372 which was being drawn incorrectly.
3374 * rendering/RenderObject.cpp:
3375 (WebCore::RenderObject::paintBorder):
3377 2006-11-20 Rob Buis <buis@kde.org>
3381 http://bugs.webkit.org/show_bug.cgi?id=11519
3382 REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html
3384 Transport disabled state from DOM element to the shadow
3387 * rendering/RenderFileUploadControl.cpp:
3388 (WebCore::RenderFileUploadControl::updateFromElement):
3389 * rendering/RenderTheme.h:
3391 2006-11-20 Anders Carlsson <acarlsson@apple.com>
3395 * loader/TextResourceDecoder.cpp:
3396 (WebCore::findXMLEncoding):
3397 Use CString instead of DeprecatedCString.
3399 * platform/CString.cpp:
3400 (WebCore::CString::find):
3401 * platform/CString.h:
3402 (WebCore::CString::data):
3403 Add find method, make data method inline.
3405 * platform/TextStream.cpp:
3406 * platform/TextStream.h:
3407 Remove DeprecatedCString functions.
3409 2006-11-20 Anders Carlsson <acarlsson@apple.com>
3413 Use CString instead of DeprecatedCString.
3415 * html/FormDataList.cpp:
3416 (WebCore::FormDataList::appendString):
3417 (WebCore::fixLineBreaks):
3418 (WebCore::FormDataList::appendFile):
3420 2006-11-20 Samuel Weinig <sam@webkit.org>
3424 Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
3427 * WebCore.vcproj/WebCore/WebCore.vcproj:
3428 * bridge/win/ContextMenuClientWin.h:
3429 * bridge/win/EditorClientWin.h:
3430 * bridge/win/FrameWin.h:
3431 * platform/win/TemporaryLinkStubs.cpp:
3432 (WebCore::ContextMenu::show):
3433 (WebCore::ContextMenuClientWin::copyLinkToClipboard):
3434 (WebCore::ContextMenuClientWin::downloadURL):
3435 (WebCore::ContextMenuClientWin::copyImageToClipboard):
3436 (WebCore::ContextMenuClientWin::lookUpInDictionary):
3437 (WebCore::EditorClientWin::shouldInsertText):
3438 (WebCore::FrameLoader::reload):
3439 (WebCore::FrameWin::ignoreSpelling):
3440 (WebCore::FrameWin::learnSpelling):
3442 2006-11-20 Alexey Proskuryakov <ap@webkit.org>
3446 http://bugs.webkit.org/show_bug.cgi?id=10736
3447 XMLHttpRequest.responseXML should be null on error
3449 * dom/XMLTokenizer.cpp:
3450 (WebCore::XMLTokenizer::wellFormed):
3451 * dom/XMLTokenizer.h:
3452 (WebCore::Tokenizer::wellFormed):
3454 (WebCore::Document::Document):
3455 (WebCore::Document::implicitClose):
3457 (WebCore::Document::wellFormed):
3458 Tell whether XMLTokenizer saw an error. Always true (success) for HTML.
3460 * xml/xmlhttprequest.cpp:
3461 (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
3463 2006-11-20 Alexey Proskuryakov <ap@webkit.org>
3465 Reviewed by Sam Weinig.
3467 http://bugs.webkit.org/show_bug.cgi?id=11633
3468 Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
3471 (WebCore::Document::Document):
3472 (WebCore::Document::setXMLVersion):
3473 (WebCore::Document::setXMLStandalone):
3475 (WebCore::Document::xmlEncoding):
3476 (WebCore::Document::xmlVersion):
3477 (WebCore::Document::xmlStandalone):
3478 (WebCore::Document::setXMLEncoding):
3480 * dom/XMLTokenizer.cpp:
3481 (WebCore::XMLTokenizer::startDocument):
3482 (WebCore::startDocumentHandler):
3483 (WebCore::XMLTokenizer::initializeParserContext):
3484 Added support for these properties, getting them from an libxml2 context.
3486 * html/HTMLDocument.cpp:
3487 (WebCore::HTMLDocument::HTMLDocument):
3488 HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".
3490 * bindings/scripts/CodeGeneratorJS.pm:
3491 * bindings/scripts/CodeGeneratorObjC.pm:
3492 Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
3494 2006-11-20 Nikolas Zimmermann <zimmermann@kde.org>
3500 * platform/qt/ContextMenuClientQt.cpp:
3501 (WebCore::ContextMenuClientQt::ref):
3502 (WebCore::ContextMenuClientQt::deref):
3503 (WebCore::ContextMenuClientQt::copyLinkToClipboard):
3504 (WebCore::ContextMenuClientQt::downloadURL):
3505 (WebCore::ContextMenuClientQt::copyImageToClipboard):
3506 (WebCore::ContextMenuClientQt::lookUpInDictionary):
3507 * platform/qt/ContextMenuClientQt.h:
3508 * platform/qt/ContextMenuQt.cpp:
3509 (WebCore::ContextMenu::appendItem):
3510 (WebCore::ContextMenu::show):
3511 (WebCore::ContextMenu::itemCount):
3512 (WebCore::ContextMenu::insertItem):
3513 * platform/qt/EditorClientQt.cpp:
3514 (WebCore::EditorClientQt::shouldInsertText):
3515 * platform/qt/EditorClientQt.h:
3516 * platform/qt/FrameQt.cpp:
3517 (WebCore::FrameQt::ignoreSpelling):
3518 (WebCore::FrameQt::learnSpelling):
3519 * platform/qt/FrameQt.h:
3520 * platform/qt/TemporaryLinkStubs.cpp:
3521 (FrameLoader::reload):
3523 2006-11-20 Samuel Weinig <sam@webkit.org>
3527 Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
3530 * config.h: add #define NOMINMAX for windows build
3531 * platform/win/FontCacheWin.cpp:
3532 (WebCore::FontCache::createFontPlatformData):
3533 * platform/win/TemporaryLinkStubs.cpp: add definitions for
3535 (WebCore::aliasCursor):
3536 (WebCore::noDropCursor):
3537 (WebCore::progressCursor):
3539 2006-11-19 Beth Dakin <bdakin@apple.com>
3543 Implementation of actions for the new context menus.
3546 * WebCore.xcodeproj/project.pbxproj:
3547 * bridge/EditorClient.h: Declaration of shouldInsertText.
3548 * bridge/mac/FrameMac.h: Two new spelling functions.
3549 * bridge/mac/FrameMac.mm:
3550 (WebCore::FrameMac::ignoreSpelling):
3551 (WebCore::FrameMac::learnSpelling):
3552 * editing/Editor.cpp:
3553 (WebCore::Editor::shouldInsertText): Call into the client.
3555 * editing/EditorInsertAction.h: Added.
3556 (WebCore::): The WebCore equivalent of WebViewInsertAction. This is
3557 defined in its own header so that we can use it from Editor.h and
3558 EditorClient.h without having one of the above include the other.
3559 * page/ContextMenuClient.h: A few currently WebKit-implemented
3560 function needed for menu actions.
3561 * page/ContextMenuController.cpp: