1 2006-08-30 Brady Eidson <beidson@apple.com>
3 Reviewed by "common sense" (and Maciej)
5 Fixed two logging typos
7 * loader/icon/IconDatabase.cpp:
8 (WebCore::IconDatabase::syncDatabase):
10 2006-08-30 Adele Peterson <adele@apple.com>
12 Adding missing nil check for focus node.
14 * page/Frame.cpp: (WebCore::Frame::setIsActive):
16 2006-08-30 Adele Peterson <adele@apple.com>
20 WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10575
21 Enable secure input mode for new password fields
23 * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
24 * platform/mac/WebCoreSystemInterface.h: ditto.
25 * platform/mac/WebCoreSystemInterface.mm: ditto.
27 * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
28 * bridge/mac/FrameMac.h:
29 * bridge/mac/FrameMac.mm:
30 (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
31 (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
32 * html/HTMLInputElement.cpp:
33 (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
34 (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
36 (WebCore::Frame::setSecureKeyboardEntry):
37 (WebCore::Frame::secureKeyboardEntry):
39 2006-08-30 Darin Adler <darin@apple.com>
41 Reviewed by Tim Hatcher.
43 - eliminated the need for UsesPassRefPtr in IDL files
44 - got rid of the category mechanism for ObjC generated DOM headers
45 (after discussions with Tim H where we decided it's not needed)
46 - simplified use of macro inside ObjC generated code
48 * ForwardingHeaders/wtf/GetPtr.h: Added.
50 * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
51 categories. Eliminated use of DOM_cast since that's for the protection
52 of human programmers -- the script won't make mistakes that it needs
53 to catch. Changed macro to always be named IMPL instead of incorporating
54 the class name. Use WTF::getPtr to extract the pointer, and removed the
55 code that uses .get() to extract the pointer in the PassRefPtr case.
57 * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
58 * dom/DOMImplementation.idl: Ditto.
59 * dom/Document.idl: Ditto.
60 * dom/Element.idl: Ditto.
61 * dom/NamedNodeMap.idl: Ditto.
62 * html/HTMLDocument.idl: Ditto.
63 * html/HTMLElement.idl: Ditto.
64 * html/HTMLFormElement.idl: Ditto.
65 * html/HTMLMapElement.idl: Ditto.
66 * html/HTMLSelectElement.idl: Ditto.
67 * html/HTMLTableElement.idl: Ditto.
68 * html/HTMLTableRowElement.idl: Ditto.
69 * html/HTMLTableSectionElement.idl: Ditto.
71 2006-08-30 Brady Eidson <beidson@apple.com>
75 <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their
76 ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
77 run as if it was disabled via a preference.
78 Also took the opportunity to change some ASSERTS() to reasonable behavior
80 * bridge/mac/WebCoreIconDatabaseBridge.mm:
81 (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure
82 out there's a problem.
83 (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
84 (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
85 (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
86 (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
87 (-[WebCoreIconDatabaseBridge retainIconForURL:]):
88 (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
89 (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
90 (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
91 (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
92 (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
93 * loader/icon/IconDatabase.cpp:
94 (WebCore::IconDatabase::open): If we fail to open, return false
95 (WebCore::IconDatabase::~IconDatabase): cleanup better
96 * loader/icon/IconDatabase.h:
98 2006-08-30 David Harrison <harrison@apple.com>
100 Reviewed by John Sullivan.
102 <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
103 <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute
105 * bridge/mac/WebCoreAXObject.mm:
106 (-[WebCoreAXObject canSetFocusAttribute]):
107 (-[WebCoreAXObject canSetValueAttribute]):
108 New utility methods. Text fields and buttons are focusable.
109 Text fields can have their value set. We need not make
110 popupbutton value settable because AppKit does not.
112 (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
113 Call new utility methods.
115 (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
116 Set focus for text field or button.
117 Set value for text field.
119 2006-08-30 David Hyatt <hyatt@apple.com>
121 Fix for bugs 9000 and 10606. Add code to suppress painting when
122 a FOUC situation would otherwise occur. There will still typically be
123 a flash to white, but at least the wrong content won't show.
128 (WebCore::Document::Document):
129 (WebCore::Document::updateLayoutIgnorePendingStylesheets):
130 (WebCore::Document::preferredStylesheetSet):
131 (WebCore::Document::selectedStylesheetSet):
132 (WebCore::Document::setSelectedStylesheetSet):
133 (WebCore::Document::stylesheetLoaded):
134 (WebCore::Document::updateStyleSelector):
136 (WebCore::Document::haveStylesheetsLoaded):
137 * rendering/RenderBlock.cpp:
138 (WebCore::RenderBlock::paintChildren):
139 * rendering/RenderLayer.cpp:
140 (WebCore::RenderLayer::paintLayer):
141 (WebCore::isSubframe):
142 (WebCore::RenderLayer::hitTest):
143 * rendering/RenderView.cpp:
144 (WebCore::RenderView::repaintViewRectangle):
146 2006-08-31 Nikolas Zimmermann <zimmermann@kde.org>
148 Reviewed by Eric. Landed by rwlbuis.
150 Apply Rob's fixes in RenderPathQt too -> unbreak build.
152 * kcanvas/RenderPath.h: Some style cleanups.
153 * kcanvas/device/qt/RenderPathQt.cpp:
154 (WebCore::RenderPathQt::strokeContains):
155 * kcanvas/device/qt/RenderPathQt.h:
157 2006-08-30 Sam Weinig <sam.weinig@gmail.com>
160 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10640
161 Auto-generate 10 more Objective-C DOM HTML bindings
163 Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
164 DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
165 DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
167 Splits DOMHTMLDocument into it's own files.
169 * DerivedSources.make:
170 * WebCore.xcodeproj/project.pbxproj:
171 * bindings/objc/DOM.mm:
172 * bindings/objc/DOMExtensions.h:
173 * bindings/objc/DOMHTML.h:
174 * bindings/objc/DOMHTML.mm:
175 * bindings/objc/DOMHTMLDocument.h: Added.
176 * bindings/objc/DOMHTMLDocument.mm: Added.
177 (-[DOMHTMLDocument WebCore::]):
178 (-[DOMHTMLDocument title]):
179 (-[DOMHTMLDocument setTitle:]):
180 (-[DOMHTMLDocument referrer]):
181 (-[DOMHTMLDocument domain]):
182 (-[DOMHTMLDocument URL]):
183 (-[DOMHTMLDocument body]):
184 (-[DOMHTMLDocument setBody:]):
185 (-[DOMHTMLDocument images]):
186 (-[DOMHTMLDocument applets]):
187 (-[DOMHTMLDocument links]):
188 (-[DOMHTMLDocument forms]):
189 (-[DOMHTMLDocument anchors]):
190 (-[DOMHTMLDocument cookie]):
191 (-[DOMHTMLDocument setCookie:]):
192 (-[DOMHTMLDocument open]):
193 (-[DOMHTMLDocument close]):
194 (-[DOMHTMLDocument write:]):
195 (-[DOMHTMLDocument writeln:]):
196 (-[DOMHTMLDocument getElementById:]):
197 (-[DOMHTMLDocument getElementsByName:]):
198 (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
199 (-[DOMHTMLDocument createDocumentFragmentWithText:]):
200 * bindings/objc/DOMHTMLInternal.h:
201 * bindings/scripts/CodeGeneratorObjC.pm:
202 * html/HTMLDocument.idl:
204 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
208 Use QColor <-> Color conversion operator, instead of faking it.
210 * platform/qt/FontQt.cpp:
211 (WebCore::Font::drawGlyphs):
212 * platform/qt/GraphicsContextQt.cpp:
213 (WebCore::GraphicsContext::fillRect):
215 2006-08-30 Rob Buis <buis@kde.org>
219 http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
220 pointer-events has issues when things are not stroked/filled
222 Add a param to fillContains/strokeContains to indicate
223 whether we still want hit testing when there is no fill/stroke.
225 * kcanvas/RenderPath.cpp:
226 (WebCore::RenderPath::fillContains):
227 (WebCore::RenderPath::nodeAtPoint):
228 * kcanvas/RenderPath.h:
229 * kcanvas/device/quartz/KCanvasItemQuartz.h:
230 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
231 (WebCore::KCanvasItemQuartz::strokeContains):
233 2006-08-29 Justin Garcia <justin.garcia@apple.com>
237 <rdar://problem/4700297>
238 REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line
240 * editing/ReplaceSelectionCommand.cpp:
241 (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
242 around insertionPos before insertion because the content might
243 cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
244 * editing/htmlediting.cpp:
245 (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
246 for simplicity, we can produce sequences of regular spaces and
247 nbsps on serialization (10636).
249 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
253 The old solution was slow & does not work correctly.
254 Move the QString -> DeprecatedString conversion into
255 DeprectedString.cpp, to be able to access allocateHandle().
257 * platform/DeprecatedString.cpp:
258 (WebCore::DeprecatedString::DeprecatedString):
259 * platform/qt/StringQt.cpp:
261 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
263 Reviewed/landed by Adam.
265 Implement containsCharacters() / determinePitch() functions.
267 * platform/qt/FontDataQt.cpp:
268 (WebCore::FontData::containsCharacters):
269 (WebCore::FontData::determinePitch):
271 2006-08-30 Brady Eidson <beidson@apple.com>
273 Reviewed by Darin's rubberstamp
275 We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
277 * WebCore.xcodeproj/project.pbxproj:
278 * loader/icon/IconDatabase.cpp:
279 (WebCore::IconDatabase::removeAllIcons):
281 2006-08-29 waylonis <waylonis@google.com>
283 Reviewed, tweaked by ggaren.
285 - Changed to use ExecState on current context rather than global.
286 Part of the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10114
287 * bindings/objc/WebScriptObject.mm:
288 (+[WebScriptObject throwException:]):
289 (-[WebScriptObject setException:]):
291 2006-08-30 Adele Peterson <adele@apple.com>
295 - WebCore part of fix for:
296 http://bugzilla.opendarwin.org/show_bug.cgi?id=10576
297 Disallow copy from new password fields
299 * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
300 * page/Frame.h: Added mayCopy.
302 * bridge/mac/FrameMac.h:
303 * bridge/mac/FrameMac.mm:
304 (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
305 (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method. This also checks mayCopy now.
306 (WebCore::FrameMac::mayDHTMLCopy): ditto.
307 (WebCore::FrameMac::tryDHTMLCut): ditto.
308 (WebCore::FrameMac::tryDHTMLCopy): ditto.
309 (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
310 (WebCore::FrameMac::tryDHTMLPaste): ditto.
311 * bridge/mac/WebCoreFrameBridge.h:
312 * bridge/mac/WebCoreFrameBridge.mm:
313 (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
314 (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
315 (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
316 (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
317 (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
318 (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
319 (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.
321 * css/html4.css: Added !important to the -webkit-text-security property for password fields.
323 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
327 Commit KDE related tweaks, to be able to
328 differentiate between a Qt-only or a KDE build.
330 * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
331 Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
333 2006-08-30 Timothy Hatcher <timothy@apple.com>
335 Rubber-stamped by Brady.
337 Fix for the generated headers to make the build work
338 during "installhdrs" builds. Also export DOM headers
339 using the #import <WebCore/DOM*.h> syntax.
341 * WebCore.xcodeproj/project.pbxproj:
342 * bindings/scripts/CodeGeneratorObjC.pm:
344 2006-08-29 Brady Eidson <beidson@apple.com>
346 Reviewed by Kevin Decker (Sarge)
348 <rdar://problem/4678414> - New IconDB needs to delete icons when asked
349 <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
351 * bridge/mac/WebCoreIconDatabaseBridge.h:
352 * bridge/mac/WebCoreIconDatabaseBridge.mm:
353 (-[WebCoreIconDatabaseBridge removeAllIcons]): Added
354 * loader/icon/IconDatabase.cpp:
355 (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
356 (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
357 (WebCore::IconDatabase::removeAllIcons): Actually implemented
358 (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
359 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
360 * loader/icon/IconDatabase.h:
361 * loader/icon/SQLDatabase.cpp:
362 (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
363 (WebCore::SQLDatabase::vacuum): Added
364 * loader/icon/SQLDatabase.h:
365 (WebCore::SQLDatabase::path): changed name from getPath()
367 2006-08-29 Brady Eidson <beidson@apple.com>
371 Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
372 This is a win on the iBench
374 * bridge/mac/WebCoreIconDatabaseBridge.h:
375 * bridge/mac/WebCoreIconDatabaseBridge.mm:
376 (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
377 * loader/icon/IconDatabase.cpp:
378 (WebCore::IconDatabase::setIconURLForPageURL):
379 * loader/icon/IconDatabase.h:
381 2006-08-29 Alice Liu <alice.liu@apple.com>
385 Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
387 * platform/mac/ScreenMac.mm:
388 (WebCore::flipScreenRect):
389 reverted the one line in this method back to what it was before r15765. This changed caused window.screenY to be incorrect.
391 2006-08-29 Darin Adler <darin@apple.com>
395 - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
397 The bug was that we would return "none" for computed style properties when they were
400 Test: fast/css/computed-style-negative-top.html
402 * css/CSSComputedStyleDeclaration.cpp:
403 (WebCore::valueForLength): Moved special case for "undefined length" out of here.
404 (WebCore::valueForMaxLength): Moved it into here.
405 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
406 only for max-height and max-width.
408 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
412 Add path-related SVG JavaScript bindings to generation.
416 2006-08-29 Eric Seidel <eric@eseidel.com>
420 Re-enable path-related SVG JavaScript bindings.
421 http://bugzilla.opendarwin.org/show_bug.cgi?id=10623
422 Split all SVGPathSeg*.idl files into Abs and Rel pieces.
423 Move all SVGPath*.idl files into ksvg2/svg
425 * DerivedSources.make:
426 * WebCore.xcodeproj/project.pbxproj:
427 * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
428 * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
429 * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
430 * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
431 * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
432 * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
433 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
434 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
435 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
436 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
437 * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
438 * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
439 * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
440 * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
441 * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
442 * ksvg2/ksvg.h: move SVGPathSegment enum
443 * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
444 (WebCore::SVGPathElement::toPathData):
445 * ksvg2/svg/SVGPathSeg.cpp:
446 (WebCore::SVGPathSeg::SVGPathSeg):
447 * ksvg2/svg/SVGPathSeg.h:
448 (WebCore::SVGPathSeg::):
449 * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
450 * ksvg2/svg/SVGPathSegArcRel.idl: Added.
451 * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
452 * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
453 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
454 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
455 * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
456 * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
457 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
458 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
459 * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
460 * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
461 * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
462 * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
463 * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
464 * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
465 * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
466 * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
468 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
470 Reviewed by Eric, landed by Anders.
472 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
474 Finish Unity merging. Remove libcurl usage, in favour of KIO.
475 This makes the regression testing fly! IO processing is way faster now.
478 * platform/ResourceLoaderInternal.h:
479 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
480 * platform/qt/FrameQt.cpp:
481 (WebCore::FrameQt::openURL):
482 (WebCore::FrameQt::submitForm):
483 (WebCore::FrameQt::urlSelected):
484 (WebCore::FrameQt::createEmptyDocument):
485 (WebCore::FrameQt::receivedData):
486 (WebCore::FrameQt::receivedAllData):
487 * platform/qt/FrameQt.h:
488 * platform/qt/ResourceLoaderCurl.cpp: Removed.
489 * platform/qt/ResourceLoaderManager.cpp:
490 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
491 (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
492 (WebCore::ResourceLoaderManager::self):
493 (WebCore::ResourceLoaderManager::slotData):
494 (WebCore::ResourceLoaderManager::slotMimetype):
495 (WebCore::ResourceLoaderManager::slotResult):
496 (WebCore::ResourceLoaderManager::remove):
497 (WebCore::ResourceLoaderManager::add):
498 * platform/qt/ResourceLoaderManager.h:
499 * platform/qt/ResourceLoaderQt.cpp: Added.
500 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
501 (WebCore::ResourceLoader::~ResourceLoader):
502 (WebCore::ResourceLoader::start):
503 (WebCore::ResourceLoader::cancel):
504 (WebCore::ResourceLoader::assembleResponseHeaders):
505 (WebCore::ResourceLoader::retrieveCharset):
506 (WebCore::ResourceLoader::receivedResponse):
508 2006-08-29 Timothy Hatcher <timothy@apple.com>
512 Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
513 http://bugzilla.opendarwin.org/show_bug.cgi?id=10632
515 Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
516 This is backwards compatible with the getter/setter methods.
517 Generate setter arguments with a "new" prefix to avoid the property
518 name conflict warning. Also removes some whitespace and the comments
519 that we added to the headers. This makes the headers look like what we ship now.
521 * bindings/objc/DOMCSS.mm:
522 (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
523 (-[DOMDocument getMatchedCSSRules::]): ditto.
524 * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
526 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
528 Reviewed and landed by Anders.
530 Fix time calculation, by using a correct calculation. Calling time()
531 returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
532 Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
534 * platform/qt/SystemTimeQt.cpp:
535 (WebCore::currentTime):
537 2006-08-29 Sam Weinig <sam.weinig@gmail.com>
541 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
542 Auto-generate the remaining Objective-C DOM bindings
544 Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
545 and DOMHTMLOptionsCollection, and lays groundwork for the rest of the
546 HTML DOM bindings by adding/fixing the appropriate IDL's and updating
547 the CodeGeneratorObjC.pm build script.
549 * DerivedSources.make:
550 * WebCore.xcodeproj/project.pbxproj:
551 * bindings/objc/DOM.mm:
552 * bindings/objc/DOMExtensions.h:
553 * bindings/objc/DOMHTML.h:
554 * bindings/objc/DOMHTML.mm:
555 * bindings/objc/DOMHTMLInternal.h:
556 * bindings/scripts/CodeGeneratorObjC.pm:
557 * html/HTMLAnchorElement.idl:
558 * html/HTMLAreaElement.idl:
559 * html/HTMLBaseFontElement.idl:
560 * html/HTMLBodyElement.idl:
561 * html/HTMLButtonElement.idl:
562 * html/HTMLCollection.idl: Added.
563 * html/HTMLDocument.idl:
564 * html/HTMLElement.idl:
565 * html/HTMLFormElement.idl:
566 * html/HTMLFrameElement.idl: Added.
567 * html/HTMLFrameSetElement.idl: Added.
568 * html/HTMLIFrameElement.idl: Added.
569 * html/HTMLImageElement.idl:
570 * html/HTMLInputElement.idl:
571 * html/HTMLLabelElement.idl:
572 * html/HTMLLegendElement.idl:
573 * html/HTMLLinkElement.idl:
574 * html/HTMLMapElement.idl:
575 * html/HTMLObjectElement.idl: Added.
576 * html/HTMLOptionsCollection.idl:
577 * html/HTMLPreElement.idl:
578 * html/HTMLSelectElement.idl: Added.
579 * html/HTMLStyleElement.idl:
580 * html/HTMLTableCaptionElement.idl: Added.
581 * html/HTMLTableCellElement.idl: Added.
582 * html/HTMLTableColElement.idl: Added.
583 * html/HTMLTableElement.idl: Added.
584 * html/HTMLTableRowElement.idl: Added.
585 * html/HTMLTableSectionElement.idl: Added.
586 * html/HTMLTextAreaElement.idl:
588 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
590 Reviewed and landed by ap.
592 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10629.
593 Drawing convex polygons is broken in the Qt platform.
595 * platform/qt/GraphicsContextQt.cpp:
596 (WebCore::GraphicsContext::drawConvexPolygon):
598 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
602 Implementing font hashing properly, fixes weird crashes in HashMap.
604 * platform/qt/FontPlatformData.h:
605 * platform/qt/FontPlatformDataQt.cpp:
606 (WebCore::FontPlatformData::FontPlatformData):
607 (WebCore::FontPlatformData::hash):
609 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
613 Fix scrollbars to reappear after the first layouting.
615 * platform/qt/ScrollViewQt.cpp:
616 (WebCore::ScrollView::suppressScrollBars):
618 2006-08-29 Anders Carlsson <acarlsson@apple.com>
620 Reviewed by Darin and Geoff.
622 Move the CF String functions to separate files in platform/cf.
623 Also, move the files in platform/cfnet to platform/cf.
625 * WebCore.xcodeproj/project.pbxproj:
626 * platform/PlatformString.h:
627 * platform/StringImpl.h:
628 * platform/cf/StringCF.cpp: Added.
629 (WebCore::String::String):
630 * platform/cf/StringImplCF.cpp: Added.
631 (WebCore::StringImpl::createCFString):
632 * platform/cfnet/KURLCFNet.cpp: Removed.
633 * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
634 * platform/mac/StringImplMac.mm:
635 * platform/mac/StringMac.mm:
637 2006-08-29 Geoffrey Garen <ggaren@apple.com>
639 Rolling out a change I included by accident in my last commit.
641 * bridge/mac/FrameMac.mm:
642 (WebCore::FrameMac::passMouseDownEventToWidget):
643 * platform/mac/SharedTimerMac.cpp:
644 (WebCore::setSharedTimerFireTime):
646 2006-08-28 Geoffrey Garen <ggaren@apple.com>
650 Added support for experimental CFNetwork-based loader (not turned on yet).
652 While I was there, I did the following platform cleanup:
653 - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
654 USE(CFNETWORK) idiom.
655 - Removed some #includes of windows.h in platform-independent headers.
656 - Changed #ifdef __APPLE__ to PLATFORM(MAC)
657 - Fixed some build bustage, including case-sensitive filesystem bustage.
660 (WebCore::Loader::receivedAllData):
663 * platform/ResourceLoader.h:
664 * platform/ResourceLoaderClient.h:
665 * platform/ResourceLoaderInternal.h:
666 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
667 * platform/cfnet/KURLCFNet.cpp: Added.
668 (WebCore::KURL::createCFURL):
669 * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
670 (WebCore::willSendRequest):
671 (WebCore::didReceiveChallenge):
672 (WebCore::didCancelChallenge):
673 (WebCore::didReceiveResponse):
674 (WebCore::didReceiveData):
675 (WebCore::didFinishLoading):
677 (WebCore::willCacheResponse):
678 (WebCore::addHeadersFromString):
679 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
680 (WebCore::ResourceLoader::~ResourceLoader):
681 (WebCore::arrayFromFormData):
682 (WebCore::emptyPerform):
683 (WebCore::runLoaderThread):
684 (WebCore::ResourceLoader::start):
685 (WebCore::ResourceLoader::cancel):
686 * platform/win/CursorWin.cpp:
688 2006-08-28 Justin Garcia <justin.garcia@apple.com>
692 <rdar://problem/4700341>
693 REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
695 * editing/ReplaceSelectionCommand.cpp:
696 (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
698 (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
700 2006-08-28 Tim Omernick <timo@apple.com>
702 Reviewed by John Sullivan.
704 Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
705 <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
708 No test cases added, since this is essentially a leak fix.
710 A brief history of NPP_GetValue(), NPObjects, and reference counting.
712 Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules. We failed to take
713 into account the fact that plug-ins are required to retain NPObjects before returning them. This creates several
714 classes of interesting plug-ins:
716 1) Plug-ins tested in WebKit and other browsers. These plug-ins may have WebKit-specific workarounds to not retain
717 the returned NPObject, thus avoiding the memory leak in WebKit.
719 2) Plug-ins tested only in other browsers. These plug-ins must already retain their NPObjects, since other browsers
720 implemented the NPRuntime retain/release rules correctly. These plug-ins likely work in WebKit, but probably leak
721 NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
723 3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
724 Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain. These plug-ins
725 work in older WebKits because WebKit did not expect the plug-in to retain the NPObject. Now that our retain
726 rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior. We could
727 potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
728 documented NPRuntime reference counting rules. Furthermore, it is extremely unlikely that someone would develop
729 a Netscape plug-in and test it *only* in WebKit. The entire purpose of creating a Netscape plugin is so that it
730 works in all browsers!
732 4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
733 These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
734 extra retain. A developer of this type of plug-in is probably unaware of the NPObject leak. A more savvy developer
735 would create a plug-in that fits into category #1.
737 I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
738 returned NPObject, and the browser is expected to release it when done. This means that plug-ins in category #3 need to be
739 changed so that they don't crash in Safari. However, such plug-ins already crash in every other browser, so I do not feel that
740 this needs to be handled specifically by WebKit.
742 * bridge/mac/FrameMac.mm:
743 Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
744 retained NPObject. Also changed it to return an actual NPObject* instead of a void*. There is only one caller of this method,
745 and only one implementor. Using void* here is a needless abstraction. It's an NPObject*! Admit it!
746 (WebCore::getInstanceForView):
747 Release the NPObject after creating the bindings instance. This is the actual bug fix.
749 2006-08-28 Alice Liu <alice.liu@apple.com>
753 Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
756 (WebCore::Document::open):
757 set the document's url to the parent's url and re-located the code that does this to occur before calling the frame's didExplicitOpen()
759 (WebCore::Frame::didExplicitOpen):
760 set the frame's url to the document's url
762 2006-08-28 Brady Eidson <beidson@apple.com>
764 Reviewed by Adele and Adam
766 Added an optimization to return early if there's no replacements to be made
768 * platform/StringImpl.cpp:
769 (WebCore::StringImpl::replace):
771 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
773 Reviewed and landed by ap.
775 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
776 Provide stub implementation of RenderPopupMenuQt.
779 * platform/qt/RenderPopupMenuQt.cpp: Added.
780 (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
781 (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
782 (WebCore::RenderPopupMenuQt::clear):
783 (WebCore::RenderPopupMenuQt::populate):
784 (WebCore::RenderPopupMenuQt::showPopup):
785 (WebCore::RenderPopupMenuQt::hidePopup):
786 (WebCore::RenderPopupMenuQt::addSeparator):
787 (WebCore::RenderPopupMenuQt::addGroupLabel):
788 (WebCore::RenderPopupMenuQt::addOption):
789 * platform/qt/RenderPopupMenuQt.h: Added.
790 * platform/qt/RenderThemeQt.cpp:
791 (WebCore::RenderThemeQt::systemFont):
792 (WebCore::RenderThemeQt::createPopupMenu):
794 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
796 Reviewed and landed by ap.
798 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
799 Offer QString -> DeprecatedString conversion.
801 * platform/DeprecatedString.h:
802 * platform/qt/StringQt.cpp:
803 (WebCore::DeprecatedString::DeprecatedString):
805 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
807 Reviewed by Tim Hatcher.
809 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
811 * platform/qt/RenderThemeQt.cpp:
812 (WebCore::RenderThemeQt::systemFont):
813 Remove annoying notImplemented() usage in systemFont()
815 2006-08-28 David Harrison <harrison@apple.com>
819 <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
821 * bridge/mac/WebCoreAXObject.mm:
822 (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
823 Add AXStyleTextMarkerRangeForTextMarker.
827 Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
829 (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
830 Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
832 (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
833 Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
835 2006-08-28 David Harrison <harrison@apple.com>
839 <rdar://problem/4517383> Hide all images used for spacing purpose in AX
841 * bridge/mac/WebCoreAXObject.mm:
842 (-[WebCoreAXObject accessibilityIsIgnored]):
843 Check for one-dimensional image
844 Check whether rendered image was stretched from one-dimensional file image
846 2006-08-27 Brady Eidson <beidson@apple.com>
850 Rewrote StringImpl::replace(UChar, StringImpl*)
852 * platform/StringImpl.cpp:
853 (WebCore::StringImpl::replace):
855 2006-08-27 Sam Weinig <sam.weinig@gmail.com>
859 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
860 WebCore needs autogenerated Obj-C DOM bindings
862 First round of auto-generated Objective C DOM bindings, starting
865 * DerivedSources.make:
866 * WebCore.xcodeproj/project.pbxproj:
867 * bindings/objc/DOM.mm:
868 (-[DOMNode description]):
869 (-[DOMNode KJS::Bindings::]):
870 (-[DOMNode dispatchEvent:]):
871 (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
872 (+[DOMNamedNodeMap _namedNodeMapWith:]):
873 (-[DOMNodeList _initWithNodeList:]):
874 (+[DOMNodeList _nodeListWith:]):
875 (-[DOMImplementation _initWithDOMImplementation:]):
876 (+[DOMImplementation _DOMImplementationWith:]):
877 (-[DOMImplementation _DOMImplementation]):
878 (+[DOMDocumentFragment _documentFragmentWith:]):
879 (-[DOMDocumentFragment _fragment]):
880 (-[DOMDocument createCSSStyleDeclaration]):
881 (+[DOMDocument _documentWith:]):
882 (-[DOMDocument _document]):
883 (-[DOMDocument _ownerElement]):
884 (+[DOMAttr _attrWith:]):
886 (+[DOMDocumentType _documentTypeWith:WebCore::]):
887 (-[DOMDocumentType WebCore::]):
888 (+[DOMText _textWith:WebCore::]):
889 (+[DOMComment _commentWith:WebCore::]):
890 (+[DOMCDATASection _CDATASectionWith:WebCore::]):
891 (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
892 (+[DOMEntityReference _entityReferenceWith:WebCore::]):
893 * bindings/objc/DOMCSS.h:
894 * bindings/objc/DOMCSS.mm:
895 * bindings/objc/DOMCore.h:
896 * bindings/objc/DOMEvents.h:
897 * bindings/objc/DOMEvents.mm:
898 * bindings/objc/DOMExtensions.h:
899 * bindings/objc/DOMHTML.mm:
900 (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
901 * bindings/objc/DOMHTMLInternal.h:
902 * bindings/objc/DOMImplementationFront.h:
903 * bindings/objc/DOMInternal.h:
904 * bindings/objc/DOMNode.h: Added.
905 * bindings/objc/DOMNode.mm: Added.
906 (-[DOMNode dealloc]):
907 (-[DOMNode finalize]):
908 (-[DOMNode nodeName]):
909 (-[DOMNode nodeValue]):
910 (-[DOMNode setNodeValue:]):
911 (-[DOMNode nodeType]):
912 (-[DOMNode parentNode]):
913 (-[DOMNode childNodes]):
914 (-[DOMNode firstChild]):
915 (-[DOMNode lastChild]):
916 (-[DOMNode previousSibling]):
917 (-[DOMNode nextSibling]):
918 (-[DOMNode attributes]):
919 (-[DOMNode ownerDocument]):
920 (-[DOMNode insertBefore::]):
921 (-[DOMNode replaceChild::]):
922 (-[DOMNode removeChild:]):
923 (-[DOMNode appendChild:]):
924 (-[DOMNode hasChildNodes]):
925 (-[DOMNode cloneNode:]):
926 (-[DOMNode normalize]):
927 (-[DOMNode isSupported::]):
928 (-[DOMNode namespaceURI]):
930 (-[DOMNode setPrefix:]):
931 (-[DOMNode localName]):
932 (-[DOMNode hasAttributes]):
933 (-[DOMNode isSameNode:]):
934 (-[DOMNode isEqualNode:]):
935 (-[DOMNode isDefaultNamespace:]):
936 (-[DOMNode lookupPrefix:]):
937 (-[DOMNode lookupNamespaceURI:]):
938 (-[DOMNode textContent]):
939 (-[DOMNode setTextContent:]):
940 (-[DOMNode boundingBox]):
941 (-[DOMNode lineBoxRects]):
942 * bindings/objc/DOMObject.h: Added.
943 * bindings/objc/DOMObject.mm: Added.
945 (-[DOMObject dealloc]):
946 (-[DOMObject finalize]):
947 (-[DOMObject copyWithZone:]):
948 (-[DOMObject sheet]):
949 * bindings/objc/DOMPrivate.h:
950 * bindings/objc/DOMRange.h:
951 * bindings/objc/DOMStylesheets.h:
952 * bindings/objc/DOMTraversal.h:
953 * bindings/objc/DOMViews.h:
954 * bindings/objc/DOMViews.mm:
955 * bindings/objc/DOMXPath.h:
956 * bindings/objc/DOMXPath.mm:
957 * bindings/scripts/CodeGenerator.pm:
958 * bindings/scripts/CodeGeneratorJS.pm:
959 * bindings/scripts/CodeGeneratorObjC.pm: Added.
961 * dom/CDATASection.idl: Added.
962 * dom/Comment.idl: Added.
963 * dom/DOMImplementation.idl:
966 * dom/EntityReference.idl: Added.
967 * dom/NamedNodeMap.idl: Added.
968 * dom/NodeList.idl: Added.
969 * dom/ProcessingInstruction.idl:
971 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
975 Fix crash in LayoutTests/css1/font_properties/font.html,
976 by implementing FontData::smallCapsFontData.
978 * platform/qt/FontDataQt.cpp:
979 (WebCore::FontData::platformDestroy):
980 (WebCore::FontData::smallCapsFontData):
982 2006-08-27 Brady Eidson <beidson@apple.com>
986 Plugged a leak in StringImpl::replace()
988 * platform/StringImpl.cpp:
989 (WebCore::StringImpl::replace):
991 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
993 Reviewed and landed by Anders.
995 Remove most annoying notImplemented() usages and
996 implement some missing ScrollViewQt functions.
997 Much nicer output when invoking run-webkit-tests.
999 * platform/qt/FrameQt.cpp:
1000 (WebCore::FrameQt::saveDocumentState):
1001 (WebCore::FrameQt::restoreDocumentState):
1002 (WebCore::FrameQt::clearUndoRedoOperations):
1003 (WebCore::FrameQt::partClearedInBegin):
1004 * platform/qt/ResourceLoaderManager.cpp:
1005 (WebCore::headerCallback):
1006 (WebCore::ResourceLoaderManager::downloadTimerCallback):
1007 * platform/qt/ScrollViewQt.cpp:
1008 (WebCore::ScrollView::updateContents):
1009 (WebCore::ScrollView::suppressScrollBars):
1010 (WebCore::ScrollView::setStaticBackground):
1011 (WebCore::ScrollView::addChild):
1012 (WebCore::ScrollView::removeChild):
1013 * platform/qt/TemporaryLinkStubs.cpp:
1014 (WebCore::historyContains):
1015 (WebCore::CheckCacheObjectStatus):
1016 (WebCore::CheckIfReloading):
1017 (loadResourceIntoArray):
1018 (WebCore::PlugInInfoStore::supportsMIMEType):
1020 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
1022 Reviewed and landed by Anders.
1024 Fix Qt build (add SVGMetaDataElement.cpp to build system)
1028 2006-08-27 Eric Seidel <eric@eseidel.com>
1030 Reviewed by andersca.
1032 No logic changes. Just cleanup.
1034 * ksvg2/svg/SVGAngle.cpp:
1035 (SVGAngle::SVGAngle):
1036 (SVGAngle::unitType):
1037 (SVGAngle::valueAsString):
1038 (SVGAngle::newValueSpecifiedUnits):
1039 (SVGAngle::convertToSpecifiedUnits):
1040 * ksvg2/svg/SVGAngle.h:
1041 * ksvg2/svg/SVGLength.cpp:
1042 (WebCore::SVGLength::unitType):
1043 (WebCore::SVGLength::newValueSpecifiedUnits):
1044 (WebCore::SVGLength::convertToSpecifiedUnits):
1045 (WebCore::SVGLength::updateValue):
1046 (WebCore::SVGLength::updateValueInSpecifiedUnits):
1047 * ksvg2/svg/SVGLength.h:
1048 * platform/BitmapImage.cpp: Removed.
1049 * platform/BitmapImage.h: Removed.
1051 2006-08-27 Brady Eidson <beidson@apple.com>
1055 -Changed all of the commonly used queries to keep around pre-prepared statements and bind
1056 their arguments instead of constructing a new, messy, string appended statement each time
1057 -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
1059 * loader/icon/IconDatabase.cpp:
1060 (WebCore::IconDatabase::IconDatabase): Initializers
1061 (WebCore::IconDatabase::close): Wipe all the preprepared statements
1062 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
1063 (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
1064 (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
1065 (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
1066 (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
1067 (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
1068 (WebCore::IconDatabase::forgetPageURLQuery): ditto
1069 (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
1070 (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
1071 (WebCore::IconDatabase::addIconForIconURLQuery): ditto
1072 (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
1073 * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
1074 * loader/icon/SQLStatement.h:
1075 (WebCore::SQLStatement::database): Added
1077 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
1083 * platform/qt/ScrollViewQt.cpp:
1084 (WebCore::ScrollView::setHScrollBarMode):
1085 (WebCore::ScrollView::setVScrollBarMode):
1087 2006-08-27 Rob Buis <buis@kde.org>
1091 http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
1092 KCanvasPath should be replace by platform/Path
1094 Refactoring out the KCanvasPath class.
1097 * WebCore.xcodeproj/project.pbxproj:
1098 * kcanvas/KCanvasCreator.cpp:
1099 (WebCore::KCanvasCreator::createRoundedRectangle):
1100 (WebCore::KCanvasCreator::createRectangle):
1101 (WebCore::KCanvasCreator::createEllipse):
1102 (WebCore::KCanvasCreator::createCircle):
1103 (WebCore::KCanvasCreator::createLine):
1104 * kcanvas/KCanvasCreator.h:
1105 * kcanvas/KCanvasPath.cpp: Removed.
1106 * kcanvas/KCanvasPath.h: Removed.
1107 * kcanvas/KCanvasResources.cpp:
1108 (WebCore::operator<<):
1109 (WebCore::KCanvasResource::clients):
1110 (WebCore::KCanvasResource::invalidate):
1111 (WebCore::KCanvasClipper::addClipData):
1112 * kcanvas/KCanvasResources.h:
1113 (WebCore::KCClipData::windRule):
1114 (WebCore::KCClipDataList::KCClipDataList):
1115 (WebCore::KCClipDataList::addPath):
1116 * kcanvas/KCanvasTreeDebug.cpp:
1117 (WebCore::operator<<):
1118 * kcanvas/RenderPath.cpp:
1119 (WebCore::RenderPath::fillContains):
1120 (WebCore::RenderPath::relativeBBox):
1121 (WebCore::RenderPath::setPath):
1122 (WebCore::RenderPath::path):
1123 (WebCore::RenderPath::paint):
1124 (WebCore::RenderPath::nodeAtPoint):
1125 * kcanvas/RenderPath.h:
1126 * kcanvas/device/KRenderingDevice.h:
1127 * kcanvas/device/KRenderingFillPainter.cpp:
1128 (WebCore::KRenderingFillPainter::fillRule):
1129 (WebCore::KRenderingFillPainter::setFillRule):
1130 * kcanvas/device/KRenderingFillPainter.h:
1131 * kcanvas/device/qt/KCanvasClipperQt.cpp:
1132 (WebCore::KCanvasClipperQt::applyClip):
1133 * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
1134 * kcanvas/device/qt/KCanvasPathQt.h: Removed.
1135 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1136 (WebCore::KRenderingDeviceContextQt::addPath):
1137 (WebCore::KRenderingDeviceContextQt::setFillRule):
1138 (WebCore::KRenderingDeviceQt::createItem):
1139 * kcanvas/device/qt/KRenderingDeviceQt.h:
1140 * kcanvas/device/qt/RenderPathQt.cpp:
1141 (WebCore::RenderPathQt::drawMarkersIfNeeded):
1142 (WebCore::RenderPathQt::strokeContains):
1143 (WebCore::getPathStroke):
1144 (WebCore::RenderPathQt::strokeBBox):
1145 * kcanvas/device/qt/RenderPathQt.h:
1146 * kcanvas/device/quartz/KCanvasItemQuartz.h:
1147 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1148 (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
1149 (WebCore::KCanvasItemQuartz::strokeBBox):
1150 (WebCore::KCanvasItemQuartz::strokeContains):
1151 * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
1152 * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
1153 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1154 (WebCore::KCanvasClipperQuartz::applyClip):
1155 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1156 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1157 (WebCore::KRenderingDeviceContextQuartz::addPath):
1158 (WebCore::KRenderingDeviceQuartz::createItem):
1159 * kcanvas/device/quartz/QuartzSupport.h:
1160 * kcanvas/device/quartz/QuartzSupport.mm:
1161 (WebCore::scratchContext):
1162 (WebCore::strokeBoundingBox):
1163 (WebCore::pathContainsPoint):
1164 * ksvg2/css/SVGCSSParser.cpp:
1165 (WebCore::CSSParser::parseSVGValue):
1166 * ksvg2/css/SVGCSSStyleSelector.cpp:
1167 (WebCore::CSSStyleSelector::applySVGProperty):
1168 * ksvg2/css/SVGRenderStyle.h:
1169 (WebCore::SVGRenderStyle::InheritedFlags::):
1170 * ksvg2/css/SVGRenderStyleDefs.h:
1171 * ksvg2/misc/KCanvasRenderingStyle.cpp:
1172 (WebCore::KSVGPainterFactory::fillPainter):
1173 * ksvg2/svg/SVGCircleElement.cpp:
1174 (SVGCircleElement::toPathData):
1175 * ksvg2/svg/SVGCircleElement.h:
1176 * ksvg2/svg/SVGClipPathElement.cpp:
1177 (SVGClipPathElement::canvasResource):
1178 * ksvg2/svg/SVGEllipseElement.cpp:
1179 (WebCore::SVGEllipseElement::toPathData):
1180 * ksvg2/svg/SVGEllipseElement.h:
1181 * ksvg2/svg/SVGGradientElement.cpp:
1182 (SVGGradientElement::notifyAttributeChange):
1183 * ksvg2/svg/SVGImageElement.cpp:
1184 * ksvg2/svg/SVGLineElement.cpp:
1185 (SVGLineElement::toPathData):
1186 * ksvg2/svg/SVGLineElement.h:
1187 * ksvg2/svg/SVGMaskElement.cpp:
1188 * ksvg2/svg/SVGPathElement.cpp:
1189 (WebCore::SVGPathElement::toPathData):
1190 * ksvg2/svg/SVGPathElement.h:
1191 * ksvg2/svg/SVGPatternElement.cpp:
1192 (WebCore::SVGPatternElement::notifyClientsToRepaint):
1193 * ksvg2/svg/SVGPolygonElement.cpp:
1194 (SVGPolygonElement::toPathData):
1195 * ksvg2/svg/SVGPolygonElement.h:
1196 * ksvg2/svg/SVGPolylineElement.cpp:
1197 (SVGPolylineElement::toPathData):
1198 * ksvg2/svg/SVGPolylineElement.h:
1199 * ksvg2/svg/SVGRectElement.cpp:
1200 (WebCore::SVGRectElement::toPathData):
1201 * ksvg2/svg/SVGRectElement.h:
1202 * ksvg2/svg/SVGStyledElement.cpp:
1203 (WebCore::SVGStyledElement::createRenderer):
1204 * ksvg2/svg/SVGStyledElement.h:
1205 (WebCore::SVGStyledElement::toPathData):
1206 * ksvg2/svg/SVGTextContentElement.cpp:
1207 * ksvg2/svg/SVGTextElement.cpp:
1210 (WebCore::Path::setWindingRule):
1211 (WebCore::Path::windingRule):
1212 * platform/cg/PathCG.cpp:
1213 (WebCore::Path::contains):
1214 (WebCore::Path::isEmpty):
1215 (WebCore::CGPathToCFStringApplierFunction):
1216 (WebCore::CFStringFromCGPath):
1217 (WebCore::Path::debugString):
1218 * platform/qt/FrameQt.cpp:
1219 (WebCore::FrameQt::openURL):
1220 * platform/qt/PathQt.cpp:
1221 (WebCore::Path::contains):
1222 (WebCore::Path::isEmpty):
1223 (WebCore::Path::debugString):
1225 2006-08-26 Eric Seidel <eric@eseidel.com>
1229 pointer-events attribute does not work.
1230 http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
1232 * kcanvas/RenderPath.cpp:
1233 (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
1234 (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
1235 * kcanvas/RenderPath.h:
1236 (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
1237 * ksvg2/css/SVGCSSParser.cpp:
1238 (WebCore::CSSParser::parseSVGValue):
1239 * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
1240 (WebCore::SVGPaint::SVGPaint):
1241 (WebCore::SVGPaint::paintType):
1242 (WebCore::SVGPaint::uri):
1243 (WebCore::SVGPaint::setUri):
1244 (WebCore::SVGPaint::setPaint):
1245 * ksvg2/svg/SVGPaint.h:
1247 2006-08-27 Rob Buis <buis@kde.org>
1251 http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
1252 SVG should have support for <metadata> element
1254 Add support for metadata tag.
1256 * DerivedSources.make:
1257 * WebCore.xcodeproj/project.pbxproj:
1258 * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1259 * ksvg2/svg/SVGMetadataElement.cpp: Added.
1260 (SVGMetadataElement::SVGMetadataElement):
1261 (SVGMetadataElement::~SVGMetadataElement):
1262 * ksvg2/svg/SVGMetadataElement.h: Added.
1263 * ksvg2/svg/SVGMetadataElement.idl: Added.
1264 * ksvg2/svg/svgtags.in:
1266 2006-08-26 Nikolas Zimmermann <zimmermann@kde.org>
1270 Daily Qt build fixes :-)
1272 * platform/qt/GraphicsContextQt.cpp:
1273 (WebCore::GraphicsContext::drawConvexPolygon):
1274 * platform/qt/ImageQt.cpp:
1275 (WebCore::Image::initPlatformData):
1276 (WebCore::Image::invalidatePlatformData):
1277 (WebCore::Image::loadPlatformResource):
1279 2006-08-26 David Hyatt <hyatt@apple.com>
1281 Fix the ifdef in Path.h to be CG.
1285 2006-08-26 David Hyatt <hyatt@apple.com>
1287 Fix Mac build bustage (lots of float/int confusion). I am not sure
1288 whether rounding was desired or not... this is just a band-aid to get
1289 the build working again.
1291 * rendering/RenderThemeMac.mm:
1292 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1293 (WebCore::RenderThemeMac::paintMenuListButton):
1294 (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
1296 2006-08-25 David Hyatt <hyatt@apple.com>
1298 More refactoring of image to disentangle graphics (e.g., Cairo) from
1299 platform (e.g., Windows).
1301 * WebCore.vcproj/WebCore/WebCore.vcproj:
1302 Add ImageWin to project.
1305 (WebCore::Cache::init):
1306 * loader/icon/IconDataCache.cpp:
1307 (WebCore::IconDataCache::loadImageFromResource):
1308 Renamed loadResource to loadPlatformResource to try to make it more clear
1309 that this call is implemented on each OS (and not by graphics libraries).
1311 * platform/Image.cpp:
1312 (WebCore::Image::Image):
1313 (WebCore::Image::~Image):
1314 (WebCore::Image::invalidateData):
1315 (WebCore::Image::size):
1316 (WebCore::Image::setData):
1317 (WebCore::Image::setNativeData):
1318 Fix up the PDF code to not be considered platform data any more, since
1319 PDF rendering is not for a specific OS.
1321 Renamed the methods that set OS-specific data (like NSImage) to PlatformData
1322 instead of NativeData.
1325 Shifted the PDF members into CG defines. Made CGImageRef a CG define.
1326 Renamed methods to reflect that they are OS-specific and not
1327 graphics-library-specific.
1329 * platform/cairo/ImageCairo.cpp:
1330 Removed the platform data methods. Other platforms besides Windows that
1331 use Cairo will need to account for this change by adding these methods
1332 to their OS Image***.cpp file.
1334 * platform/cg/ImageCG.cpp:
1335 (WebCore::Image::drawTiled):
1336 Add FIXMEs to the wkpattern stuff.
1338 * platform/cg/PDFDocumentImage.cpp:
1339 Shouldn't have #imports in .cpp.
1341 * platform/mac/ImageMac.mm:
1342 (WebCore::Image::initPlatformData):
1343 (WebCore::Image::invalidatePlatformData):
1344 (WebCore::Image::loadPlatformResource):
1345 (WebCore::Image::getTIFFRepresentation):
1346 Add the platform data initializers to the Mac Image file. Move the
1347 TIFF representation there as well, since this is only used by Mac code.
1349 * platform/win/ImageWin.cpp: Added.
1350 (WebCore::Image::initPlatformData):
1351 (WebCore::Image::invalidatePlatformData):
1352 (WebCore::Image::loadPlatformResource):
1353 (WebCore::Image::supportsType):
1354 Similar work for Windows. Add stubs for possible future HBITMAP returns
1355 in the platform data methods.
1357 * rendering/RenderLayer.cpp:
1358 (WebCore::RenderLayer::paintResizeControl):
1359 * rendering/RenderThemeMac.mm:
1360 (WebCore::RenderThemeMac::paintResizeControl):
1361 loadResource -> loadPlatformResource
1363 2006-08-26 Adam Roben <aroben@apple.com>
1365 Rubber-stamped by Adele.
1369 * platform/cairo/GraphicsContextCairo.cpp:
1370 (WebCore::GraphicsContext::drawConvexPolygon):
1372 2006-08-25 Adele Peterson <adele@apple.com>
1374 Patch by Francisco, Reviewed by me.
1376 Preparation for switch to new text field implementation of password field.
1378 Added -webkit-text-security property.
1380 Tests: updated fast/css/computed-style-expected.txt
1382 * css/CSSPropertyNames.in: Added -webkit-text-security.
1383 * css/CSSComputedStyleDeclaration.cpp:
1385 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
1386 * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
1387 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
1388 * css/html4.css: Added style for password field to use -webkit-text-security.
1390 * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
1391 (WebCore::HTMLInputElement::selectionStart):
1392 (WebCore::HTMLInputElement::selectionEnd):
1393 (WebCore::HTMLInputElement::setSelectionStart):
1394 (WebCore::HTMLInputElement::setSelectionEnd):
1395 (WebCore::HTMLInputElement::select):
1396 (WebCore::HTMLInputElement::setSelectionRange):
1397 (WebCore::HTMLInputElement::createRenderer):
1398 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
1400 * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace
1401 characters with one character, like a bullet.
1402 * platform/StringImpl.h:
1404 * rendering/RenderStyle.cpp:
1405 (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
1406 (WebCore::RenderStyle::diff): Added case for textSecurity.
1407 * rendering/RenderStyle.h:
1409 (WebCore::RenderStyle::textSecurity): Added.
1410 (WebCore::RenderStyle::setTextSecurity): Added.
1411 (WebCore::RenderStyle::initialTextSecurity): Added.
1412 * rendering/RenderText.cpp:
1413 (WebCore::RenderText::setStyle): Added case for textSecurity.
1414 (WebCore::RenderText::setText): ditto.
1416 2006-08-25 Adele Peterson <adele@apple.com>
1420 Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
1422 Tests: fast/forms/select-baseline.html
1423 fast/borders/borderRadiusInvalidColor.html
1424 updated: fast/forms/select-style-expected.txt and more...
1426 * css/html4.css: Added style rules for styled select elements.
1428 * platform/GraphicsContext.h: Added argument for antialiasing.
1429 * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1430 * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1432 * rendering/RenderObject.cpp:
1433 (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
1434 (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code
1435 (any callers that set this to true were already ensuring that their color was valid).
1436 Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
1437 (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
1438 (WebCore::RenderObject::paintOutline): ditto.
1439 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
1440 * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
1442 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
1443 Added case for when there's no children to check for hasLineIfEmpty.
1444 * rendering/RenderBlock.h:
1445 * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
1446 * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
1447 * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
1448 * rendering/RenderFlexibleBox.cpp:
1449 (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
1450 (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
1452 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
1453 * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
1454 immediately after painting the background.
1456 * rendering/RenderTheme.cpp:
1457 (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
1458 For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
1459 to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
1460 (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function,
1461 so the arrow control will draw at the right time (after the background).
1462 (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
1463 (WebCore::RenderTheme::paintBorderOnly): ditto.
1464 (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
1465 (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
1466 * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
1468 * rendering/RenderThemeMac.h:
1469 * rendering/RenderThemeMac.mm:
1470 (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
1471 (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
1472 (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
1473 (WebCore::TopGradientInterpolate): Added.
1474 (WebCore::BottomGradientInterpolate): Added.
1475 (WebCore::MainGradientInterpolate): Added.
1476 (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added. Draws gradients for styled popup menu button appearance.
1477 (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
1478 (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
1480 2006-08-25 Brady Eidson <beidson@apple.com>
1484 Changed some time()-related code to be more platform independent
1486 * loader/icon/IconDatabase.cpp:
1487 (WebCore::IconDatabase::isIconExpiredForIconURL):
1488 (WebCore::IconDatabase::getOrCreateIconDataCache):
1489 (WebCore::IconDatabase::setIconDataForIconURL):
1491 2006-08-25 David Harrison <harrison@apple.com>
1495 <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
1497 * bridge/mac/WebCoreAXObject.mm:
1499 New. Returns the HTMLLabelElement, if any, for the specified Element.
1501 (-[WebCoreAXObject title]):
1502 For input elements, return the innerHTML() of the labelForElement().
1504 2006-08-25 Brady Eidson <beidson@apple.com>
1506 Reviewed by Tim Hatcher
1508 Changed some debugging-only code to be more platform independent
1510 * WebCore.xcodeproj/project.pbxproj:
1511 * loader/icon/IconDatabase.cpp:
1512 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
1513 (WebCore::IconDatabase::syncDatabase):
1515 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1517 Reviewed/landed by Adam.
1519 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
1520 Qt platform build fixes.
1522 * platform/qt/FrameQt.h:
1523 * platform/qt/ScreenQt.cpp:
1524 (WebCore::qwidgetForPage):
1525 (WebCore::screenRect):
1526 (WebCore::screenDepth):
1527 (WebCore::usableScreenRect):
1528 * platform/qt/TemporaryLinkStubs.cpp:
1529 (WebCore::screenDepthPerComponent):
1530 (WebCore::screenIsMonochrome):
1531 * platform/qt/WidgetQt.cpp:
1533 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1535 Reviewed/landed by Adam.
1537 Finally fix font caching. WebKit+Qt now works
1538 out of the box without any further patches :-)
1540 * platform/qt/FontDataQt.cpp:
1541 (WebCore::FontData::platformDestroy):
1542 * platform/qt/FontPlatformData.h:
1543 * platform/qt/FontPlatformDataQt.cpp:
1544 (WebCore::FontPlatformData::FontPlatformData):
1545 (WebCore::FontPlatformData::isFixedPitch):
1546 (WebCore::FontPlatformData::font):
1547 (WebCore::FontPlatformData::fontPtr):
1548 (WebCore::FontPlatformData::hash):
1549 (WebCore::FontPlatformData::operator==):
1551 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1553 Reviewed/landed by Adam.
1555 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
1556 Confirm to WebKit style guide - last fixes :-)
1558 * platform/ResourceLoaderClient.h:
1559 * platform/qt/ComboBoxQt.cpp:
1560 * platform/qt/FrameQt.cpp:
1561 (WebCore::doScroll):
1562 (WebCore::FrameQt::FrameQt):
1563 (WebCore::FrameQt::openURL):
1564 (WebCore::FrameQt::submitForm):
1565 (WebCore::FrameQt::setTitle):
1566 (WebCore::FrameQt::passSubframeEventToSubframe):
1567 (WebCore::FrameQt::registerCommandForUndo):
1568 (WebCore::FrameQt::registerCommandForRedo):
1569 (WebCore::FrameQt::keyEvent):
1570 (WebCore::FrameQt::setFrameGeometry):
1571 * platform/qt/GlyphMapQt.cpp:
1572 (WebCore::GlyphMap::fillPage):
1573 * platform/qt/GraphicsContextQt.cpp:
1574 (WebCore::toQtCompositionMode):
1575 (WebCore::toQtLineCap):
1576 (WebCore::toQtLineJoin):
1577 (WebCore::TextShadow::TextShadow):
1578 (WebCore::GraphicsContextPlatformPrivate::p):
1579 * platform/qt/ImageQt.cpp:
1580 (WebCore::FrameData::clear):
1581 (WebCore::Image::supportsType):
1582 * platform/qt/IntSizeQt.cpp:
1583 * platform/qt/LineEditQt.cpp:
1584 * platform/qt/ListBoxQt.cpp:
1585 * platform/qt/PageQt.cpp:
1586 (WebCore::Page::windowRect):
1587 * platform/qt/PathQt.cpp:
1588 (WebCore::Path::~Path):
1589 * platform/qt/ResourceLoaderCurl.cpp:
1590 (WebCore::ResourceLoader::assembleResponseHeaders):
1591 (WebCore::ResourceLoader::retrieveCharset):
1592 (WebCore::ResourceLoader::receivedResponse):
1593 * platform/qt/ResourceLoaderManager.cpp:
1594 (WebCore::headerCallback):
1595 (WebCore::ResourceLoaderManager::downloadTimerCallback):
1596 (WebCore::ResourceLoaderManager::add):
1597 * platform/qt/ScreenQt.cpp:
1598 (WebCore::screenRect):
1599 (WebCore::usableScreenRect):
1600 * platform/qt/ScrollViewQt.cpp:
1601 (WebCore::ScrollView::ScrollView):
1602 (WebCore::ScrollView::~ScrollView):
1603 (WebCore::ScrollView::setParentWidget):
1604 (WebCore::ScrollView::addChild):
1605 * platform/qt/SharedTimerQt.cpp:
1606 (WebCore::setSharedTimerFiredFunction):
1607 * platform/qt/SharedTimerQt.h:
1608 (WebCore::SharedTimerQt::SharedTimerQt):
1609 (WebCore::SharedTimerQt::fire):
1610 * platform/qt/SystemTimeQt.cpp:
1611 (WebCore::currentTime):
1612 * platform/qt/TextEditQt.cpp:
1613 (WebCore::PlatformTextEdit::setParentWidget):
1614 (WebCore::PlatformTextEdit::text):
1615 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
1617 2006-08-24 David Harrison <harrison@apple.com>
1622 <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
1624 Fix bug I introduced in r15959.
1626 * bridge/mac/WebCoreAXObject.mm:
1627 (-[WebCoreAXObject accessibilityAttributeValue:]):
1628 Use topDocument in case we are in a subframe (we want the start/end of the overall page).
1630 2006-08-24 Brady Eidson <beidson@apple.com>
1634 Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
1636 * loader/icon/IconDatabase.cpp:
1637 (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
1638 are indexed to 1, not 0
1640 2006-08-24 Geoffrey Garen <ggaren@apple.com>
1644 Frame refactoring: changed FrameView clients so they no longer assume that
1645 FrameViews are Widgets that can tell you things about the platform, in
1646 preparation for divorcing FrameViews from heavy-weight Widgets altogether.
1648 This patch makes Page, rather than Widget, responsible for answering
1649 questions about the screen (scale factor, color depth, etc.). Refactoring
1650 aside, I think this makes more sense, since (a) the screen has nothing to do
1651 with any particular widget and (b) Page was already half-responsible for
1652 answering those questions, anyway.
1654 Plus some random Windows build fix goodness.
1656 Layout tests still pass.
1658 2006-08-24 Timothy Hatcher <timothy@apple.com>
1662 Allow changing the background color WebCore draws under transparent page backgrounds.
1663 No automated way to test. All tests pass, no performance regression.
1665 * bridge/mac/WebCoreFrameBridge.h:
1666 * bridge/mac/WebCoreFrameBridge.mm:
1667 (-[WebCoreFrameBridge setBaseBackgroundColor:]):
1668 * page/FrameView.cpp:
1669 (WebCore::FrameViewPrivate::FrameViewPrivate):
1670 (WebCore::FrameView::baseBackgroundColor):
1671 (WebCore::FrameView::setBaseBackgroundColor):
1673 * rendering/RenderBox.cpp:
1674 (WebCore::RenderBox::paintBackgroundExtended):
1675 * rendering/RenderView.cpp:
1676 (WebCore::RenderView::paintBoxDecorations):
1678 2006-08-24 Darin Adler <darin@apple.com>
1682 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10169
1683 REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
1684 - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
1685 - other editing-related cleanup
1687 Test: fast/forms/drag-into-textarea.html
1689 * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
1690 * bridge/win/FrameWin.h: Ditto.
1691 * bridge/mac/FrameMac.mm:
1692 (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
1693 (WebCore::FrameMac::registerCommandForUndo): Ditto.
1694 (WebCore::FrameMac::registerCommandForRedo): Ditto.
1696 * bridge/mac/WebCoreFrameBridge.mm:
1697 (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
1698 Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
1699 (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
1700 (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
1702 * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
1703 parameter to be a PassRefPtr. Reversed order of child and parent parameters.
1704 * editing/AppendNodeCommand.cpp:
1705 (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
1706 (WebCore::AppendNodeCommand::doApply): Ditto.
1707 (WebCore::AppendNodeCommand::doUnapply): Ditto.
1709 * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
1710 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
1712 * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
1713 * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
1714 (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
1715 since setEndingSelection is no longer overloaded for Position.
1717 * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
1718 a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
1719 m_commands and made both doUnapply and doReapply private.
1720 * editing/CompositeEditCommand.cpp:
1721 (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
1722 (WebCore::CompositeEditCommand::doReapply): Ditto.
1723 (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
1724 starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
1725 (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
1726 (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
1727 (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
1728 (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
1729 (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
1730 (WebCore::CompositeEditCommand::appendNode): Ditto.
1731 (WebCore::CompositeEditCommand::removeNode): Ditto.
1732 (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
1733 (WebCore::CompositeEditCommand::splitTextNode): Ditto.
1734 (WebCore::CompositeEditCommand::splitElement): Ditto.
1735 (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
1736 (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
1737 (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
1738 (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
1739 (WebCore::CompositeEditCommand::inputText): Ditto.
1740 (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
1741 (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
1742 (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
1743 (WebCore::CompositeEditCommand::deleteSelection): Ditto.
1744 (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
1745 (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
1746 would not remove an empty attribute -- will not come up in practice, but wrong in theory.
1747 (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
1748 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
1749 (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
1750 (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
1751 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
1752 Selection explicitly since setEndingSelection is no longer overloaded for Position.
1753 (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
1754 block placeholder class string is no longer spread across multiple functions.
1755 Perhaps we can get rid of this altogether at some point.
1757 * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
1758 Also removed unneeded destructor.
1759 * editing/DeleteFromTextNodeCommand.cpp:
1760 (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
1762 * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
1763 * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
1765 * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
1766 and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
1767 and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
1768 Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
1769 endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
1770 are needed so we can determine which editable elements an editing operation affects. Changed setParent()
1771 and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
1772 applyCommand() function that's convenient to use on a newly-created command.
1773 * editing/EditCommand.cpp:
1774 (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
1775 and ending root editable elements.
1776 (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
1777 code to assert and set m_start. Eliminated use of EditCommandPtr.
1778 (WebCore::EditCommand::unapply): Ditto.
1779 (WebCore::EditCommand::reapply): Ditto.
1780 (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
1781 not change the starting selection of the parent unless this is the first command in the parent -- didn't
1782 make sense the way it was.
1783 (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
1784 (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
1785 based on the ending selection of the parent, formerly done by callers.
1786 (WebCore::applyCommand): Added.
1788 * editing/FormatBlockCommand.h: Tweaked formatting.
1789 * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
1790 * editing/InsertLineBreakCommand.h: Ditto.
1791 * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
1793 * editing/IndentOutdentCommand.cpp:
1794 (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
1795 (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
1796 (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
1798 * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
1799 * editing/InsertIntoTextNodeCommand.cpp:
1800 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
1802 * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
1804 * editing/InsertListCommand.cpp:
1805 (WebCore::InsertListCommand::InsertListCommand): Ditto.
1806 (WebCore::InsertListCommand::doApply): Ditto.
1808 * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
1809 and changed the parameter of the node to insert to a PassRefPtr.
1810 * editing/InsertNodeBeforeCommand.cpp:
1811 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
1813 * editing/InsertParagraphSeparatorCommand.cpp:
1814 (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
1816 * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
1817 * editing/InsertTextCommand.cpp:
1818 (WebCore::InsertTextCommand::input): Ditto.
1819 (WebCore::InsertTextCommand::insertTab): Ditto.
1821 * editing/JSEditor.h: Tweaked formatting and names.
1822 * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
1824 * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
1825 * editing/JoinTextNodesCommand.cpp:
1826 (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
1827 * editing/MergeIdenticalElementsCommand.h: Ditto.
1828 * editing/MergeIdenticalElementsCommand.cpp:
1829 (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
1831 * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
1832 IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
1833 * editing/ModifySelectionListLevel.cpp:
1834 (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
1835 (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
1836 Changed to use Type instead of EListType.
1837 (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
1838 (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
1839 (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
1840 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
1841 Changed to not use EditCommandPtr.
1842 (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
1843 (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
1844 (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
1845 (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
1848 * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
1849 parameter to be a PassRefPtr.
1850 * editing/MoveSelectionCommand.cpp:
1851 (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
1852 (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
1854 * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
1855 * editing/RebalanceWhitespaceCommand.cpp:
1856 (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
1857 (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
1859 * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
1861 * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
1862 * editing/RemoveNodeAttributeCommand.cpp:
1863 (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
1865 * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
1866 * editing/RemoveNodeCommand.cpp:
1867 (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
1869 * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
1870 * editing/RemoveNodePreservingChildrenCommand.cpp:
1871 (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
1873 * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
1874 * editing/ReplaceSelectionCommand.cpp:
1875 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
1876 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
1877 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1878 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
1880 * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
1881 a macro. Added constructors that take visible positions. Changed setBase and
1882 setExtent to take const Position& for better efficiency.
1883 * editing/Selection.cpp:
1884 (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
1885 and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
1887 * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
1888 * editing/SetNodeAttributeCommand.cpp:
1889 (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
1891 * editing/SplitElementCommand.h: Removed unnneeded document parameter.
1892 * editing/SplitElementCommand.cpp:
1893 (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
1895 * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
1896 * editing/SplitTextNodeCommand.cpp:
1897 (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
1899 * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
1900 * editing/SplitTextNodeContainingElementCommand.cpp:
1901 (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
1903 * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
1904 Renamed openForMoveTyping() with isOpenForMoreTyping().
1905 * editing/TypingCommand.cpp:
1906 (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
1907 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1908 (WebCore::TypingCommand::insertText): Ditto.
1909 (WebCore::TypingCommand::insertLineBreak): Ditto.
1910 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
1911 (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
1912 (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
1913 (WebCore::TypingCommand::closeTyping): Ditto.
1914 (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
1915 (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
1917 * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
1918 * editing/WrapContentsInDummySpanCommand.cpp:
1919 (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
1921 * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
1924 * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
1925 appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
1926 and registerCommandForRedo() to take PassRefPtr<EditCommand>.
1927 * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
1929 (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
1930 (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
1931 from Selection to simplify the code.
1932 (WebCore::Frame::selectAll): Ditto.
1933 (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
1934 (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
1935 both of the root editable elements involved in a change -- the start selection
1936 might be in a different element than the end selection.
1937 (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
1938 and to do it before setting the ending selection. Also update to use PassRefPtr instead
1939 of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
1940 to registerCommandForUndo will take ownership and set it to 0.
1941 (WebCore::Frame::unappliedEditing): Ditto.
1942 (WebCore::Frame::reappliedEditing): Ditto.
1943 (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
1944 (WebCore::Frame::applyStyle): Ditto.
1945 (WebCore::Frame::applyParagraphStyle): Ditto.
1947 * platform/gdk/FrameGdk.h: Updated for above changes.
1948 * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
1949 * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
1951 2006-08-24 Brady Eidson <beidson@apple.com>
1955 <rdar://problem/4697973> - Unacceptable delay on startup
1956 <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
1958 This patch was started by me and finished by Mark Rowe - we now special case all retains during
1959 startup into one huge sql transaction. Also we track PageURL retains instead of IconURLs so pruning works right.
1960 Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile. Testing with a huge set of
1961 bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also
1962 has a noticeable delay.
1964 * loader/icon/IconDatabase.cpp:
1965 (WebCore::IconDatabase::IconDatabase):
1966 (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
1967 (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
1968 (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
1969 (WebCore::IconDatabase::releaseIconForPageURL): Ditto
1970 (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
1971 (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
1972 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
1973 (WebCore::IconDatabase::syncDatabase): Change the timing log message
1974 * loader/icon/IconDatabase.h:
1975 * loader/icon/SQLStatement.cpp:
1976 (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
1977 * loader/icon/SQLStatement.h:
1979 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
1981 Reviewed/landed by Adam.
1983 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1984 WebKit should have Qt platform support
1987 Remove KCanvasMatrix.cpp because it no longer exists
1988 Remove platform/qt/test
1989 * platform/FloatSize.h:
1990 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1991 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1992 * platform/image-decoders/gif/GIFImageReader.cpp:
1993 * platform/image-decoders/ico/ICOImageDecoder.cpp:
1994 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1995 * platform/image-decoders/png/PNGImageDecoder.cpp:
1996 * platform/image-decoders/xbm/XBMImageDecoder.cpp:
1997 Added PLATFORM(QT) hooks in the image-decoders/, as they also need
1998 to work for Qt, not only for Cairo.
1999 * platform/qt/qt-encodings.txt: Added (required for build).
2001 2006-08-24 Adam Roben <aroben@apple.com>
2003 Fixing a typo from last patch.
2005 * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2006 (WebCore::KRenderingPaintServerQt::setPenProperties):
2008 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2010 Reviewed/landed by Adam.
2012 Final cleanup to conform to WebKit coding style!
2014 * kcanvas/device/qt/KCanvasClipperQt.cpp:
2015 (WebCore::KCanvasClipperQt::applyClip):
2016 * kcanvas/device/qt/KCanvasClipperQt.h:
2017 * kcanvas/device/qt/KCanvasPathQt.cpp:
2018 * kcanvas/device/qt/KCanvasPathQt.h:
2019 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2020 * kcanvas/device/qt/KRenderingDeviceQt.h:
2021 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2022 (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
2023 (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
2024 * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
2025 * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
2026 (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
2027 * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
2028 * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2029 (WebCore::KRenderingPaintServerQt::setPenProperties):
2030 * kcanvas/device/qt/KRenderingPaintServerQt.h:
2031 * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
2032 (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
2033 (WebCore::KRenderingPaintServerSolidQt::renderPath):
2034 * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
2035 * kcanvas/device/qt/RenderPathQt.cpp:
2036 * kcanvas/device/qt/RenderPathQt.h:
2037 * platform/qt/AffineTransformQt.cpp:
2038 * platform/qt/BrowserExtensionQt.cpp:
2039 * platform/qt/BrowserExtensionQt.h:
2040 * platform/qt/ColorQt.cpp:
2041 (WebCore::Color::Color):
2042 * platform/qt/ComboBoxQt.cpp:
2043 (WebCore::PlatformComboBox::PlatformComboBox):
2044 (WebCore::PlatformComboBox::~PlatformComboBox):
2045 (WebCore::PlatformComboBox::setParentWidget):
2046 (WebCore::PlatformComboBox::appendGroupLabel):
2047 * platform/qt/CookieJarQt.cpp:
2048 * platform/qt/CursorQt.cpp:
2049 (WebCore::Cursors::Cursors::self):
2050 * platform/qt/FloatPointQt.cpp:
2051 * platform/qt/FloatRectQt.cpp:
2052 * platform/qt/FontCacheQt.cpp:
2053 (WebCore::FontCache::getSimilarFontPlatformData):
2054 (WebCore::FontCache::createFontPlatformData):
2055 * platform/qt/FontDataQt.cpp:
2056 * platform/qt/FontPlatformData.h:
2057 * platform/qt/FontPlatformDataQt.cpp:
2058 * platform/qt/FontQt.cpp:
2059 (WebCore::Font::operator QFont):
2060 (WebCore::Font::drawComplexText):
2061 (WebCore::Font::floatWidthForComplexText):
2062 * platform/qt/FrameQt.cpp:
2063 (WebCore::FrameQt::openURL):
2064 (WebCore::FrameQt::submitForm):
2065 (WebCore::FrameQt::urlSelected):
2066 (WebCore::FrameQt::keyEvent):
2067 * platform/qt/FrameQt.h:
2068 * platform/qt/GlyphMapQt.cpp:
2069 * platform/qt/GraphicsContextQt.cpp:
2070 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2071 (WebCore::GraphicsContext::GraphicsContext):
2072 (WebCore::GraphicsContext::drawConvexPolygon):
2073 (WebCore::GraphicsContext::setFocusRingClip):
2074 (WebCore::GraphicsContext::clip):
2075 * platform/qt/ImageQt.cpp:
2076 (WebCore::Image::draw):
2077 (WebCore::Image::drawTiled):
2078 * platform/qt/ImageSourceQt.cpp:
2079 * platform/qt/IntPointQt.cpp:
2080 * platform/qt/IntRectQt.cpp:
2081 * platform/qt/IntSizeQt.cpp:
2082 * platform/qt/LineEditQt.cpp:
2083 (WebCore::PlatformLineEdit::PlatformLineEdit):
2084 (WebCore::PlatformLineEdit::~PlatformLineEdit):
2085 (WebCore::PlatformLineEdit::setParentWidget):
2086 (WebCore::PlatformLineEdit::addSearchResult):
2087 * platform/qt/ListBoxQt.cpp:
2088 (WebCore::ListBox::ListBox):
2089 (WebCore::ListBox::~ListBox):
2090 (WebCore::ListBox::setParentWidget):
2091 * platform/qt/PageQt.cpp:
2092 (WebCore::Page::windowRect):
2093 (WebCore::Page::setWindowRect):
2094 * platform/qt/PathQt.cpp:
2095 (WebCore::Path::addArc):
2096 * platform/qt/PlatformKeyboardEventQt.cpp:
2097 (WebCore::windowsKeyCodeForKeyEvent):
2098 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2099 * platform/qt/PlatformMouseEventQt.cpp:
2100 * platform/qt/RenderThemeQt.cpp:
2101 (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2102 (WebCore::RenderThemeQt::applyTheme):
2103 (WebCore::RenderThemeQt::paintButton):
2104 (WebCore::RenderThemeQt::paintTextField):
2105 * platform/qt/ResourceLoaderCurl.cpp:
2106 (WebCore::ResourceLoader::assembleResponseHeaders):
2107 (WebCore::ResourceLoader::retrieveCharset):
2108 (WebCore::ResourceLoader::receivedResponse):
2109 * platform/qt/ResourceLoaderManager.cpp:
2110 (WebCore::ResourceLoaderManager::add):
2111 * platform/qt/ResourceLoaderManager.h:
2112 * platform/qt/ScreenQt.cpp:
2113 * platform/qt/ScrollViewCanvasQt.cpp:
2114 (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2115 * platform/qt/ScrollViewCanvasQt.h:
2116 * platform/qt/ScrollViewQt.cpp:
2117 * platform/qt/SharedTimerQt.cpp:
2118 * platform/qt/SharedTimerQt.h:
2119 (WebCore::SharedTimerQt::inst):
2120 * platform/qt/StringQt.cpp:
2121 * platform/qt/SystemTimeQt.cpp:
2122 * platform/qt/TemporaryLinkStubs.cpp:
2123 * platform/qt/TextEditQt.cpp:
2124 (WebCore::PlatformTextEdit::PlatformTextEdit):
2125 (WebCore::PlatformTextEdit::~PlatformTextEdit):
2126 (WebCore::PlatformTextEdit::setParentWidget):
2127 * platform/qt/WidgetQt.cpp:
2128 (WebCore::Widget::setQWidget):
2130 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2132 Reviewed and landed by Anders.
2134 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2135 WebKit should have Qt platform support
2138 * platform/qt/FrameQt.cpp: Added.
2139 (WebCore::doScroll):
2140 (WebCore::FrameView::isFrameView):
2141 (WebCore::FrameQt::FrameQt):
2142 (WebCore::FrameQt::init):
2143 (WebCore::FrameQt::~FrameQt):
2144 (WebCore::FrameQt::openURL):
2145 (WebCore::FrameQt::submitForm):
2146 (WebCore::FrameQt::urlSelected):
2147 (WebCore::FrameQt::userAgent):
2148 (WebCore::FrameQt::runJavaScriptAlert):
2149 (WebCore::FrameQt::runJavaScriptConfirm):
2150 (WebCore::FrameQt::locationbarVisible):
2151 (WebCore::FrameQt::setTitle):
2152 (WebCore::FrameQt::createFrame):
2153 (WebCore::FrameQt::passWheelEventToChildWidget):
2154 (WebCore::FrameQt::passSubframeEventToSubframe):
2155 (WebCore::FrameQt::objectContentType):
2156 (WebCore::FrameQt::createPlugin):
2157 (WebCore::FrameQt::passMouseDownEventToWidget):
2158 (WebCore::FrameQt::menubarVisible):
2159 (WebCore::FrameQt::personalbarVisible):
2160 (WebCore::FrameQt::statusbarVisible):
2161 (WebCore::FrameQt::toolbarVisible):
2162 (WebCore::FrameQt::createEmptyDocument):
2163 (WebCore::FrameQt::markedTextRange):
2164 (WebCore::FrameQt::incomingReferrer):
2165 (WebCore::FrameQt::mimeTypeForFileName):
2166 (WebCore::FrameQt::markMisspellingsInAdjacentWords):
2167 (WebCore::FrameQt::markMisspellings):
2168 (WebCore::FrameQt::lastEventIsMouseUp):
2169 (WebCore::FrameQt::saveDocumentState):
2170 (WebCore::FrameQt::restoreDocumentState):
2171 (WebCore::FrameQt::openURLRequest):
2172 (WebCore::FrameQt::scheduleClose):
2173 (WebCore::FrameQt::unfocusWindow):
2174 (WebCore::FrameQt::focusWindow):
2175 (WebCore::FrameQt::overrideMediaType):
2176 (WebCore::FrameQt::addMessageToConsole):
2177 (WebCore::FrameQt::runJavaScriptPrompt):
2178 (WebCore::FrameQt::getEmbedInstanceForWidget):
2179 (WebCore::FrameQt::getObjectInstanceForWidget):
2180 (WebCore::FrameQt::getAppletInstanceForWidget):
2181 (WebCore::FrameQt::registerCommandForUndo):
2182 (WebCore::FrameQt::registerCommandForRedo):
2183 (WebCore::FrameQt::clearUndoRedoOperations):
2184 (WebCore::FrameQt::issueUndoCommand):
2185 (WebCore::FrameQt::issueRedoCommand):
2186 (WebCore::FrameQt::issueCutCommand):
2187 (WebCore::FrameQt::issueCopyCommand):
2188 (WebCore::FrameQt::issuePasteCommand):
2189 (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
2190 (WebCore::FrameQt::issueTransposeCommand):
2191 (WebCore::FrameQt::respondToChangedSelection):
2192 (WebCore::FrameQt::respondToChangedContents):
2193 (WebCore::FrameQt::shouldChangeSelection):
2194 (WebCore::FrameQt::partClearedInBegin):
2195 (WebCore::FrameQt::canGoBackOrForward):
2196 (WebCore::FrameQt::handledOnloadEvents):
2197 (WebCore::FrameQt::canPaste):
2198 (WebCore::FrameQt::canRedo):
2199 (WebCore::FrameQt::canUndo):
2200 (WebCore::FrameQt::print):
2201 (WebCore::FrameQt::shouldInterruptJavaScript):
2202 (WebCore::FrameQt::keyEvent):
2203 (WebCore::FrameQt::receivedResponse):
2204 (WebCore::FrameQt::receivedData):
2205 (WebCore::FrameQt::receivedAllData):
2206 (WebCore::FrameQt::setFrameGeometry):
2207 * platform/qt/FrameQt.h: Added.
2208 * platform/qt/ScrollViewCanvasQt.cpp: Added.
2209 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2210 (WebCore::ScrollViewCanvasQt::paintEvent):
2211 (WebCore::ScrollViewCanvasQt::sizeHint):
2212 (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
2213 (WebCore::ScrollViewCanvasQt::mousePressEvent):
2214 (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
2215 (WebCore::ScrollViewCanvasQt::keyPressEvent):
2216 (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
2217 (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2218 * platform/qt/ScrollViewCanvasQt.h: Added.
2219 * platform/qt/ScrollViewQt.cpp:
2220 (WebCore::ScrollView::setParentWidget):
2222 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2226 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2227 WebKit should have Qt platform support
2229 * platform/qt/FontCacheQt.cpp: Added.
2230 (WebCore::FontCache::platformInit):
2231 (WebCore::FontCache::getFontDataForCharacters):
2232 (WebCore::FontCache::getSimilarFontPlatformData):
2233 (WebCore::FontCache::getLastResortFallbackFont):
2234 (WebCore::FontCache::createFontPlatformData):
2235 * platform/qt/FontDataQt.cpp: Added.
2236 (WebCore::FontData::platformInit):
2237 (WebCore::FontData::platformDestroy):
2238 (WebCore::FontData::smallCapsFontData):
2239 (WebCore::FontData::containsCharacters):
2240 (WebCore::FontData::determinePitch):
2241 (WebCore::FontData::platformWidthForGlyph):
2242 * platform/qt/FontPlatformData.h: Added.
2243 * platform/qt/FontPlatformDataQt.cpp: Added.
2244 (WebCore::FontPlatformData::FontPlatformData):
2245 (WebCore::FontPlatformData::operator=):
2246 (WebCore::FontPlatformData::~FontPlatformData):
2247 (WebCore::FontPlatformData::isFixedPitch):
2248 (WebCore::FontPlatformData::setFont):
2249 (WebCore::FontPlatformData::font):
2250 (WebCore::FontPlatformData::hash):
2251 (WebCore::FontPlatformData::operator==):
2252 * platform/qt/FontQt.cpp: Added.
2253 (WebCore::Font::operator QFont):
2254 (WebCore::Font::drawGlyphs):
2255 (WebCore::Font::drawComplexText):
2256 (WebCore::Font::floatWidthForComplexText):
2257 * platform/qt/GlyphMapQt.cpp: Added.
2258 (WebCore::GlyphMap::fillPage):
2260 2006-08-24 David Harrison <harrison@apple.com>
2262 Reinstate r15966 because layout test changes are correct.
2264 <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2266 * editing/TextIterator.cpp:
2267 (WebCore::TextIterator::advance):
2269 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2273 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2274 WebKit should have Qt platform support (Part II)
2276 Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
2277 Use AffineTransform everywhere instead.
2279 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2280 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
2281 (WebCore::KRenderingDeviceContextQt::concatCTM):
2282 (WebCore::KRenderingDeviceContextQt::ctm):
2283 * kcanvas/device/qt/KRenderingDeviceQt.h:
2284 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2285 (WebCore::KRenderingPaintServerLinearGradientQt::setup):
2286 (WebCore::KRenderingPaintServerRadialGradientQt::setup):
2288 2006-08-24 Rob Buis <buis@kde.org>
2292 http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
2293 svg transform: comma delimiting breaks display
2295 Properly parse transforms which use ',' as seperators.
2297 * ksvg2/svg/SVGTransformable.cpp:
2298 (SVGTransformable::parseTransformAttribute):
2300 2006-08-23 Darin Adler <darin@apple.com>
2304 - added an assert to make it slightly easier to debug the common case of
2305 calling document() on a node of 0
2307 * dom/Node.h: (WebCore::Node::document): ASSERT(this).
2309 2006-08-23 David Hyatt <hyatt@apple.com>
2311 Refactor Cairo and CoreGraphics to use platform ifdefs. This patch
2312 separates the graphics engines from their respective platforms and replaces
2313 #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
2317 * WebCore.xcodeproj/project.pbxproj:
2318 * platform/AffineTransform.h:
2320 * platform/Cursor.h:
2321 * platform/FloatPoint.h:
2322 * platform/FloatRect.h:
2323 * platform/FloatSize.h:
2325 * platform/FontData.h:
2326 * platform/GlyphBuffer.h:
2327 (WebCore::GlyphBuffer::glyphAt):
2328 (WebCore::GlyphBuffer::advanceAt):
2329 (WebCore::GlyphBuffer::add):
2330 * platform/GraphicsContext.h:
2332 * platform/ImageSource.h:
2333 * platform/IntPoint.h:
2334 * platform/IntRect.h:
2335 * platform/IntSize.h:
2336 * platform/ResourceLoader.h:
2337 * platform/ResourceLoaderClient.h:
2338 * platform/Widget.h:
2339 * platform/cairo/GraphicsContextCairo.cpp:
2340 * platform/cairo/ImageCairo.cpp:
2341 * platform/cairo/ImageSourceCairo.cpp:
2342 * platform/cg/AffineTransformCG.cpp:
2343 * platform/cg/FloatPointCG.cpp: Added.
2344 * platform/cg/FloatRectCG.cpp: Added.
2345 * platform/cg/FloatSizeCG.cpp: Added.
2346 * platform/cg/GraphicsContextCG.cpp:
2347 (WebCore::GraphicsContext::GraphicsContext):
2348 (WebCore::GraphicsContext::~GraphicsContext):
2349 (WebCore::GraphicsContext::setFocusRingClip):
2350 (WebCore::GraphicsContext::clearFocusRingClip):
2351 (WebCore::GraphicsContext::platformContext):
2352 (WebCore::GraphicsContext::drawRect):
2353 (WebCore::GraphicsContext::drawLine):
2354 * platform/cg/GraphicsContextPlatformPrivate.h: Added.
2355 (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
2356 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2357 * platform/cg/ImageCG.cpp: Added.
2358 (WebCore::Image::drawTiled):
2359 * platform/cg/ImageSourceCG.cpp: Added.
2360 * platform/cg/IntPointCG.cpp: Added.
2361 * platform/cg/IntRectCG.cpp: Added.
2362 * platform/cg/IntSizeCG.cpp: Added.
2363 * platform/cg/PDFDocumentImage.cpp: Added.
2364 (WebCore::PDFDocumentImage::adjustCTM):
2365 * platform/cg/PDFDocumentImage.h: Added.
2366 * platform/cg/PathCG.cpp:
2367 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2368 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2369 * platform/image-decoders/gif/GIFImageReader.cpp:
2370 * platform/image-decoders/ico/ICOImageDecoder.cpp:
2371 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2372 * platform/image-decoders/png/PNGImageDecoder.cpp:
2373 * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2374 * platform/mac/FloatPointMac.mm:
2375 * platform/mac/FloatRectMac.mm:
2376 * platform/mac/FloatSizeMac.mm:
2377 * platform/mac/GraphicsContextMac.mm:
2378 * platform/mac/ImageMac.mm:
2379 * platform/mac/ImageSourceMac.cpp: Removed.
2380 * platform/mac/IntPointMac.mm:
2381 * platform/mac/IntRectMac.mm:
2382 * platform/mac/IntSizeMac.mm:
2383 * platform/mac/PDFDocumentImage.h: Removed.
2384 * platform/mac/PDFDocumentImage.mm: Removed.
2386 2006-08-23 David Hyatt <hyatt@apple.com>
2388 Remove the ifdef for platform scrollbars vs. engine scrollbars until
2389 engine scrollbars actually exist.
2391 * platform/ScrollBar.h:
2392 (WebCore::ScrollBar::hasPlatformScrollBars):
2394 2006-08-23 Justin Garcia <justin.garcia@apple.com>
2396 Reviewed by harrison
2398 Removed the poorly named next/previousVisiblePosition
2399 and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
2400 Removed the unused VisiblePosition::maxOffset()
2402 * editing/VisiblePosition.cpp:
2403 (WebCore::VisiblePosition::next):
2404 (WebCore::VisiblePosition::previous):
2405 (WebCore::VisiblePosition::canonicalPosition):
2406 * editing/VisiblePosition.h:
2408 2006-08-23 Nikolas Zimmermann <zimmermann@kde.org>
2410 Reviewed by Alexey. Landed by rwlbuis.
2412 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2413 WebKit should have Qt platform support (Part II)
2415 * platform/qt/GraphicsContextQt.cpp: Added.
2416 (WebCore::toQtCompositionMode):
2417 (WebCore::toQtLineCap):
2418 (WebCore::toQtLineJoin):
2419 (WebCore::TransparencyLayer::TransparencyLayer):
2420 (WebCore::TransparencyLayer::cleanup):
2421 (WebCore::TextShadow::TextShadow):
2422 (WebCore::TextShadow::isNull):
2423 (WebCore::GraphicsContextPlatformPrivate::p):
2424 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2425 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2426 (WebCore::GraphicsContext::GraphicsContext):
2427 (WebCore::GraphicsContext::~GraphicsContext):
2428 (WebCore::GraphicsContext::platformContext):
2429 (WebCore::GraphicsContext::savePlatformState):
2430 (WebCore::GraphicsContext::restorePlatformState):
2431 (WebCore::GraphicsContext::drawRect):
2432 (WebCore::adjustLineToPixelBounderies):
2433 (WebCore::GraphicsContext::drawLine):
2434 (WebCore::GraphicsContext::drawEllipse):
2435 (WebCore::GraphicsContext::drawArc):
2436 (WebCore::GraphicsContext::drawConvexPolygon):
2437 (WebCore::GraphicsContext::fillRect):
2438 (WebCore::GraphicsContext::addClip):
2439 (WebCore::GraphicsContext::drawFocusRing):
2440 (WebCore::GraphicsContext::setFocusRingClip):
2441 (WebCore::GraphicsContext::clearFocusRingClip):
2442 (WebCore::GraphicsContext::drawLineForText):
2443 (WebCore::GraphicsContext::drawLineForMisspelling):
2444 (WebCore::GraphicsContext::roundToDevicePixels):
2445 (WebCore::GraphicsContext::setShadow):
2446 (WebCore::GraphicsContext::clearShadow):
2447 (WebCore::GraphicsContext::beginTransparencyLayer):
2448 (WebCore::GraphicsContext::endTransparencyLayer):
2449 (WebCore::GraphicsContext::clearRect):
2450 (WebCore::GraphicsContext::strokeRect):
2451 (WebCore::GraphicsContext::setLineWidth):
2452 (WebCore::GraphicsContext::setLineCap):
2453 (WebCore::GraphicsContext::setLineJoin):
2454 (WebCore::GraphicsContext::setMiterLimit):
2455 (WebCore::GraphicsContext::setAlpha):
2456 (WebCore::GraphicsContext::setCompositeOperation):
2457 (WebCore::GraphicsContext::clip):
2458 (WebCore::GraphicsContext::translate):
2459 (WebCore::GraphicsContext::rotate):
2460 (WebCore::GraphicsContext::scale):
2461 (WebCore::GraphicsContext::addInnerRoundedRectClip):
2462 (WebCore::GraphicsContext::addRoundedRectClip):
2463 (WebCore::GraphicsContext::createRenderingDeviceContext):
2464 * platform/qt/ImageQt.cpp: Added.
2465 (WebCore::FrameData::clear):
2466 (WebCore::Image::initNativeData):
2467 (WebCore::Image::destroyNativeData):
2468 (WebCore::Image::invalidateNativeData):
2469 (WebCore::Image::loadResource):
2470 (WebCore::Image::supportsType):
2471 (WebCore::Image::draw):
2472 (WebCore::Image::drawTiled):
2473 (WebCore::Image::checkForSolidColor):
2474 * platform/qt/ImageSourceQt.cpp: Added.
2475 (WebCore::createDecoder):
2476 (WebCore::ImageSource::ImageSource):
2477 (WebCore::ImageSource::~ImageSource):
2478 (WebCore::ImageSource::initialized):
2479 (WebCore::ImageSource::setData):
2480 (WebCore::ImageSource::isSizeAvailable):
2481 (WebCore::ImageSource::size):
2482 (WebCore::ImageSource::repetitionCount):
2483 (WebCore::ImageSource::frameCount):
2484 (WebCore::ImageSource::createFrameAtIndex):
2485 (WebCore::ImageSource::frameDurationAtIndex):
2486 (WebCore::ImageSource::frameHasAlphaAtIndex):
2488 2006-08-23 Brady Eidson <beidson@apple.com>
2492 Moved default URL icon from WebKit to WebCore
2494 * Resources/urlIcon.tiff: Added.
2495 * WebCore.xcodeproj/project.pbxproj:
2496 * loader/icon/IconDataCache.cpp:
2497 (WebCore::IconDataCache::loadImageFromResource):
2498 * loader/icon/IconDataCache.h:
2499 * loader/icon/IconDatabase.cpp:
2500 (WebCore::IconDatabase::IconDatabase):
2501 (WebCore::IconDatabase::defaultIcon):
2502 * loader/icon/IconDatabase.h:
2504 2006-08-23 Adam Roben <aroben@apple.com>
2506 Reviewed by Darin, Adele.
2508 Some popup refactoring/cleanup.
2510 * html/HTMLSelectElement.cpp:
2511 (WebCore::HTMLSelectElement::defaultEventHandler):
2512 * rendering/RenderMenuList.cpp:
2513 (WebCore::RenderMenuList::RenderMenuList):
2514 (WebCore::RenderMenuList::~RenderMenuList):
2515 (WebCore::RenderMenuList::showPopup):
2516 (WebCore::RenderMenuList::hidePopup):
2517 * rendering/RenderMenuList.h:
2518 (WebCore::RenderMenuList::popup):
2519 (WebCore::RenderMenuList::popupIsVisible):
2520 * rendering/RenderPopupMenu.h:
2521 * rendering/RenderPopupMenuMac.h:
2522 (WebCore::RenderPopupMenuMac::hidePopup):
2524 2006-08-23 Nikolas Zimmermann <zimmermann@kde.org>
2526 Reviewed by Anders. Landed by rwlbuis.
2528 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2529 WebKit should have Qt platform support
2531 * platform/qt/ResourceLoaderCurl.cpp: Added.
2532 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2533 (WebCore::ResourceLoader::~ResourceLoader):
2534 (WebCore::ResourceLoader::start):
2535 (WebCore::ResourceLoader::cancel):
2536 (WebCore::ResourceLoader::assembleResponseHeaders):
2537 (WebCore::ResourceLoader::retrieveCharset):
2538 (WebCore::ResourceLoader::receivedResponse):
2539 * platform/qt/ResourceLoaderManager.cpp: Added.
2540 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2541 (WebCore::ResourceLoaderManager::get):
2542 (WebCore::ResourceLoaderManager::useSimpleTransfer):
2543 (WebCore::writeCallback):
2544 (WebCore::headerCallback):
2545 (WebCore::ResourceLoaderManager::downloadTimerCallback):
2546 (WebCore::ResourceLoaderManager::remove):
2547 (WebCore::ResourceLoaderManager::add):
2548 (WebCore::ResourceLoaderManager::cancel):
2549 * platform/qt/ResourceLoaderManager.h: Added.
2550 * platform/qt/StringQt.cpp: Added.
2551 (WebCore::String::String):
2552 (WebCore::String::operator QString):
2553 (WebCore::DeprecatedString::operator QString):
2555 2006-08-23 Brady Eidson <beidson@apple.com>
2559 Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
2561 * WebCore.xcodeproj/project.pbxproj: Reordered some files
2562 * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
2563 (WebCore::IconDataCache::writeToDatabase):
2564 * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
2565 (WebCore::IconDatabase::retainIconURL):
2566 (WebCore::IconDatabase::releaseIconURL):
2567 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
2568 (WebCore::IconDatabase::establishIconIDForIconURL):
2569 (WebCore::imageDataForIconURLQuery):
2570 (WebCore::timeStampForIconURLQuery):
2571 (WebCore::iconURLForPageURLQuery):
2572 (WebCore::forgetPageURLQuery):
2573 (WebCore::setIconIDForPageURLQuery):
2574 (WebCore::getIconIDForIconURLQuery):
2575 (WebCore::addIconForIconURLQuery):
2576 (WebCore::hasIconForIconURLQuery):
2577 * loader/icon/SQLDatabase.h:
2578 (WebCore::escapeSQLString): Added
2580 2006-08-22 Maciej Stachowiak <mjs@apple.com>
2584 - assorted style cleanup of icon loader code:
2586 - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
2587 - split headers to be one per class, to match impl files
2588 - made files that are purely local in IconDatabase.cpp static
2589 - make each impl file include config.h as first header (and no config.h includes in other headers)
2590 - avoid multiple copies of Vector<unsigned char> for image data
2592 * WebCore.xcodeproj/project.pbxproj:
2593 * loader/icon/IconDataCache.cpp:
2594 * loader/icon/IconDataCache.h: Added.
2596 (WebCore::IconDataCache::getTimestamp):
2597 (WebCore::IconDataCache::setTimestamp):
2598 (WebCore::IconDataCache::getIconURL):
2599 * loader/icon/IconDatabase.cpp:
2600 (WebCore::IconDatabase::imageDataForIconURL):
2601 (WebCore::IconDatabase::iconForPageURL):
2602 (WebCore::pageURLTableIsEmptyQuery):
2603 (WebCore::imageDataForIconURLQuery):
2604 (WebCore::timeStampForIconURLQuery):
2605 (WebCore::iconURLForPageURLQuery):
2606 (WebCore::forgetPageURLQuery):
2607 (WebCore::setIconIDForPageURLQuery):
2608 (WebCore::getIconIDForIconURLQuery):
2609 (WebCore::addIconForIconURLQuery):
2610 (WebCore::hasIconForIconURLQuery):
2611 * loader/icon/IconDatabase.h:
2612 * loader/icon/SQLDatabase.cpp:
2613 * loader/icon/SQLDatabase.h:
2614 * loader/icon/SQLStatement.cpp:
2615 (WebCore::SQLStatement::getColumnBlobAsVector):
2616 * loader/icon/SQLStatement.h: Added.
2617 (WebCore::SQLStatement::isPrepared):
2618 (WebCore::SQLStatement::prepareAndStep):
2619 (WebCore::SQLStatement::lastError):
2620 (WebCore::SQLStatement::lastErrorMsg):
2621 * loader/icon/SQLTransaction.cpp:
2622 * loader/icon/SQLTransaction.h: Added.
2624 2006-08-22 Brady Eidson <beidson@apple.com>
2628 The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
2629 As such, I'm renaming it to IconDataCache.
2630 Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the
2631 TimeStamp when an icon is created or the data is changed.
2632 IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
2633 IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
2634 The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
2636 * WebCore.xcodeproj/project.pbxproj: Renamed a file
2637 * loader/icon/IconDataCache.cpp: Added.
2638 (IconDataCache::IconDataCache):
2639 (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
2640 (IconDataCache::manuallySetImageData): Delete the old image and create the new one
2641 (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
2642 (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
2643 * loader/icon/IconDatabase.cpp:
2644 (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
2645 (WebCore::IconDatabase::iconForPageURL):
2646 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
2647 (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
2648 (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
2649 (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
2650 * loader/icon/IconDatabase.h:
2651 (WebCore::IconDataCache::getTimestamp):
2652 (WebCore::IconDataCache::setTimestamp):
2653 * loader/icon/SiteIcon.cpp: Removed.
2656 2006-08-22 Justin Garcia <justin.garcia@apple.com>
2658 Reviewed by harrison
2660 <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
2661 REGRESSION(r15918): drag-into-marker.html failing
2663 * editing/ReplaceSelectionCommand.cpp:
2664 (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
2667 2006-08-22 Brady Eidson <beidson@apple.com>
2671 Added a check in getTIFFRepresentation to not proceed if the frame count is zero
2672 This is an error condition that was handled gracefully before - in certain circumstances
2673 the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
2674 or invalid data. This small change bails out before that call if that call will definitely fail
2676 * platform/mac/ImageMac.mm:
2677 (WebCore::Image::getTIFFRepresentation):
2679 2006-08-22 David Harrison <harrison@apple.com>
2681 Backed out my last change (r15966) because it broke lots of layout tests.
2683 * editing/TextIterator.cpp:
2684 (WebCore::TextIterator::advance):
2686 2006-08-22 Maciej Stachowiak <mjs@apple.com>
2690 - added some SPI indirections to support the following in WebKit/Loader:
2691 - pull more WebDataSource code into WebFrameLoader
2692 - make WebMainResourceLoader not depend on WebKit or on SPI
2695 * WebCore.xcodeproj/project.pbxproj:
2696 * platform/mac/WebCoreSystemInterface.h:
2697 * platform/mac/WebCoreSystemInterface.mm:
2699 2006-08-22 Justin Garcia <justin.garcia@apple.com>
2701 Reviewed by harrison
2703 <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
2705 * editing/ReplaceSelectionCommand.cpp:
2706 (WebCore::isInterchangeNewlineNode):
2707 (WebCore::isInterchangeConvertedSpaceSpan):
2708 (WebCore::ReplacementFragment::ReplacementFragment):
2709 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
2710 remove them and remove style nodes and style spans which were only contributing redundant styles.
2711 (WebCore::ReplaceSelectionCommand::doApply):
2712 * editing/ReplaceSelectionCommand.h:
2714 2006-08-22 David Harrison <harrison@apple.com>
2718 <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
2720 This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
2723 * manual-tests/inline-input-marking.html: Added.
2724 Check that underlining of the inline input hole does not obscure the glyphs.
2726 * rendering/InlineTextBox.cpp:
2727 (WebCore::InlineTextBox::paintMarkedTextUnderline):
2728 Position underline at bottom of text box.
2729 Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
2731 2006-08-22 Rob Buis <buis@kde.org>
2735 http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
2736 REPRO: SVG crashes inside gradient code
2738 Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
2740 * ksvg2/svg/SVGGradientElement.cpp:
2741 (SVGGradientElement::notifyAttributeChange):
2742 (SVGGradientElement::resourceNotification):
2744 2006-08-22 David Harrison <harrison@apple.com>
2748 <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
2750 * bridge/mac/WebCoreAXObject.mm:
2752 (-[WebCoreAXObject headingLevel]):
2753 (-[WebCoreAXObject isHeading]):
2754 New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
2756 (-[WebCoreAXObject role]):
2757 (-[WebCoreAXObject roleDescription]):
2758 Add role and roleDescription for headings.
2760 (-[WebCoreAXObject value]):
2761 Value is the headingLevel.
2763 (AXAttributeStringSetHeadingLevel):
2764 (AXAttributedStringAppendText):
2765 Put text's heading level (if applicable) in the attributes.
2767 2006-08-22 David Harrison <harrison@apple.com>
2771 <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2773 Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
2775 * editing/TextIterator.cpp:
2776 (WebCore::TextIterator::advance):
2779 2006-08-22 David Harrison <harrison@apple.com>
2783 <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
2785 * bridge/mac/WebCoreAXObject.mm:
2786 (-[WebCoreAXObject textMarkerRange]):
2787 Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
2788 Check for VisiblePositions being equal. If so, adjust end one to its next().
2789 That happens with, e.g., buttons.
2791 2006-08-22 Rob Buis <buis@kde.org>
2795 http://bugzilla.opendarwin.org/show_bug.cgi?id=10491
2796 KCanvasMatrix removal
2798 Remove KCanvasMatrix from project, using AffineTransform instead.
2800 * WebCore.xcodeproj/project.pbxproj:
2801 * kcanvas/KCanvasMatrix.cpp: Removed.
2802 * kcanvas/KCanvasMatrix.h: Removed.
2803 * kcanvas/KCanvasResources.cpp:
2804 (WebCore::KCanvasMarker::draw):
2805 * kcanvas/KCanvasResources.h:
2806 * kcanvas/RenderForeignObject.cpp:
2807 * kcanvas/RenderPath.h:
2808 * kcanvas/RenderSVGContainer.cpp:
2809 (WebCore::RenderSVGContainer::viewportTransform):
2810 (WebCore::RenderSVGContainer::getAspectRatio):
2811 * kcanvas/RenderSVGContainer.h:
2812 * kcanvas/RenderSVGText.cpp:
2813 * kcanvas/device/KRenderingDevice.h:
2814 * kcanvas/device/KRenderingPaintServerGradient.cpp:
2815 (WebCore::KRenderingPaintServerGradient::gradientTransform):
2816 (WebCore::KRenderingPaintServerGradient::setGradientTransform):
2817 (WebCore::KRenderingPaintServerGradient::externalRepresentation):
2818 * kcanvas/device/KRenderingPaintServerGradient.h:
2819 * kcanvas/device/KRenderingPaintServerPattern.cpp:
2820 (WebCore::KRenderingPaintServerPattern::patternTransform):
2821 (WebCore::KRenderingPaintServerPattern::setPatternTransform):
2822 (WebCore::KRenderingPaintServerPattern::externalRepresentation):
2823 * kcanvas/device/KRenderingPaintServerPattern.h:
2824 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2825 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2826 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2827 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2828 (WebCore::KRenderingDeviceContextQuartz::concatCTM):
2829 (WebCore::KRenderingDeviceContextQuartz::ctm):
2830 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2831 (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
2832 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2833 (WebCore::KRenderingPaintServerPatternQuartz::setup):
2834 * kcanvas/device/quartz/QuartzSupport.mm:
2835 * ksvg2/misc/KCanvasRenderingStyle.h:
2836 * ksvg2/svg/SVGAnimateTransformElement.cpp:
2837 * ksvg2/svg/SVGAnimateTransformElement.h:
2838 * ksvg2/svg/SVGLinearGradientElement.cpp:
2839 (SVGLinearGradientElement::buildGradient):
2840 * ksvg2/svg/SVGPatternElement.cpp:
2841 (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2842 (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2843 (WebCore::SVGPatternElement::notifyAttributeChange):
2844 * ksvg2/svg/SVGPatternElement.h:
2845 * ksvg2/svg/SVGRadialGradientElement.cpp:
2846 (WebCore::SVGRadialGradientElement::buildGradient):
2848 2006-08-22 Rob Buis <buis@kde.org>
2852 http://bugzilla.opendarwin.org/show_bug.cgi?id=10405
2853 REPRO: SVG Maze crashes in RenderPath code
2855 Do not render a path when it is empty so maze15.svg does not crash anymore.
2856 Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
2858 * kcanvas/RenderPath.cpp:
2859 (WebCore::RenderPath::paint):
2860 * kcanvas/device/quartz/KCanvasPathQuartz.mm:
2861 (WebCore::KCanvasPathQuartz::strokeBoundingBox):
2863 2006-08-21 Brady Eidson <beidson@apple.com>
2867 <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
2869 Added a flag to track whether or not the initial pruning has taken place on startup
2870 If that flag is not set, IconURL retain counts will be tracked in a temporary db table
2871 in addition to the in-memory hash. Then when the timer fires after initial retains
2872 are complete, we prune those icons not in the retain table, prune dangling PageURL
2873 references, delete the temporary table, and set the flag - and carry on as normal
2875 * loader/icon/IconDatabase.cpp:
2876 (WebCore::IconDatabase::IconDatabase): initialize the flag
2877 (WebCore::IconDatabase::open): changed the schema of the temporary table
2878 (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
2879 (WebCore::IconDatabase::releaseIconURL): ditto
2880 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
2881 wipe all the PageURLs who no longer point to a valid IconURL
2882 * loader/icon/IconDatabase.h:
2884 2006-08-21 Alexey Proskuryakov <ap@nypop.com>
2888 http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
2889 XSLTProcessor transformToFragment fails because of an XML declaration
2891 Test: fast/xsl/transformToFragment-XML-declaration.html
2893 * xml/XSLTProcessor.cpp:
2894 (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
2896 2006-08-21 David Harrison <harrison@apple.com>
2900 <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
2902 Added support for the NSAccessibilityMisspelledTextAttribute.
2904 Test cases added: None. Manual AX testing is way too awkward, and automated testing
2905 is not possible. See following bug...
2906 <rdar://problem/4256882> Need automated testing support for accessibility APIs
2908 * bridge/mac/WebCoreAXObject.mm:
2909 Lots of trivial formatting in many methods.
2911 (-[WebCoreAXObject accessibilityAttributeValue:]):
2912 Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
2913 of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
2916 (WebCore::AXAttributeStringSetSpelling):
2917 New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
2919 (-[WebCoreAXObject AXAttributedStringAppendText:]):
2920 Added call to AXAttributeStringSetSpelling.
2922 * editing/visible_units.cpp:
2923 (WebCore::startOfDocument):
2924 (WebCore::endOfDocument):
2925 Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
2926 so a previously existing VisiblePosition is not required.
2928 * editing/visible_units.h:
2929 Declare new forms of startOfDocument and endOfDocument.
2931 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
2935 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2936 WebKit should have Qt platform support
2938 * platform/qt/TemporaryLinkStubs.cpp: Added.
2939 (JavaAppletWidget::JavaAppletWidget):
2940 (Font::selectionRectForComplexText):
2941 (Font::offsetForPositionForComplexText):
2942 (WebCore::refreshPlugins):
2943 (WebCore::focusRingColor):
2945 (WebCore::TextField::selectAll):
2946 (WebCore::TextField::addSearchResult):
2947 (WebCore::TextField::selectionStart):
2948 (WebCore::TextField::hasSelectedText):
2949 (WebCore::TextField::selectedText):
2950 (WebCore::TextField::setAutoSaveName):
2951 (WebCore::TextField::checksDescendantsForFocus):
2952 (WebCore::TextField::setSelection):
2953 (WebCore::TextField::setMaxResults):
2954 (WebCore::TextField::edited):
2955 (WebCore::TextField::focusPolicy):
2956 (WebCore::TextField::TextField):
2957 (WebCore::TextField::~TextField):
2958 (WebCore::TextField::setFont):
2959 (WebCore::TextField::setAlignment):
2960 (WebCore::TextField::setWritingDirection):
2961 (WebCore::TextField::maxLength):
2962 (WebCore::TextField::setMaxLength):
2963 (WebCore::TextField::text):
2964 (WebCore::TextField::setText):
2965 (WebCore::TextField::cursorPosition):
2966 (WebCore::TextField::setCursorPosition):
2967 (WebCore::TextField::setEdited):
2968 (WebCore::TextField::setReadOnly):
2969 (WebCore::TextField::setPlaceholderString):
2970 (WebCore::TextField::setColors):
2971 (WebCore::TextField::sizeForCharacterWidth):
2972 (WebCore::TextField::baselinePosition):
2973 (WebCore::TextField::setLiveSearch):
2974 (WebCore::Slider::Slider):
2975 (WebCore::Slider::sizeHint):
2976 (WebCore::Slider::~Slider):
2977 (WebCore::Slider::setValue):
2978 (WebCore::Slider::setMaxValue):
2979 (WebCore::Slider::setMinValue):
2980 (WebCore::Slider::setFont):
2981 (WebCore::Slider::value):
2982 (WebCore::Slider::focusPolicy):
2983 (WebCore::ScrollBar::ScrollBar):
2984 (WebCore::ScrollBar::setSteps):
2985 (WebCore::ScrollBar::scroll):
2986 (WebCore::ScrollBar::setValue):
2987 (WebCore::ScrollBar::setKnobProportion):
2988 (WebCore::PlatformScrollBar::PlatformScrollBar):
2989 (WebCore::PlatformScrollBar::~PlatformScrollBar):
2990 (WebCore::PlatformScrollBar::width):
2991 (WebCore::PlatformScrollBar::height):
2992 (WebCore::PlatformScrollBar::setEnabled):
2993 (WebCore::PlatformScrollBar::paint):
2994 (WebCore::PlatformScrollBar::setScrollBarValue):
2995 (WebCore::PlatformScrollBar::setKnobProportion):
2996 (WebCore::PlatformScrollBar::setRect):
2997 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2998 (WebCore::CheckCacheObjectStatus):
2999 (WebCore::CheckIfReloading):
3000 (WebCore::ServeSynchronousRequest):
3001 (WebCore::historyContains):
3002 (WebCore::submitButtonDefaultLabel):
3003 (WebCore::inputElementAltText):
3004 (WebCore::resetButtonDefaultLabel):
3005 (WebCore::defaultLanguage):
3006 (WebCore::findNextSentenceFromIndex):
3007 (WebCore::findSentenceBoundary):
3008 (WebCore::findNextWordFromIndex):
3009 (WebCore::findWordBoundary):
3010 (Frame::setNeedsReapplyStyles):
3011 (WebCore::screenDepthPerComponent):
3012 (WebCore::screenIsMonochrome):
3013 (WebCore::searchableIndexIntroduction):
3014 (WebCore::setFocusRingColorChangeFunction):
3015 (FrameView::updateBorder):
3016 (loadResourceIntoArray):
3017 (PlugInInfoStore::createPluginInfoForPluginAtIndex):
3018 (PlugInInfoStore::pluginCount):
3019 (WebCore::PlugInInfoStore::supportsMIMEType):
3020 (FileButton::FileButton):
3021 (FileButton::click):
3022 (FileButton::sizeForCharacterWidth):
3023 (FileButton::focusPolicy):
3024 (FileButton::frameGeometry):
3025 (FileButton::setFilename):
3026 (FileButton::baselinePosition):
3027 (FileButton::setFrameGeometry):
3028 (FileButton::setDisabled):
3029 (WebCore::supportedKeySizes):
3030 (WebCore::signedPublicKeyAndChallengeString):
3032 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
3036 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3037 WebKit should have Qt platform support
3039 * platform/qt/CursorQt.cpp: Added.
3040 (WebCore::Cursor::Cursor):
3041 (WebCore::Cursor::~Cursor):
3042 (WebCore::Cursor::operator=):
3043 (WebCore::Cursors::Cursors::self):
3044 (WebCore::moveCursor):
3045 (WebCore::crossCursor):
3046 (WebCore::handCursor):
3047 (WebCore::iBeamCursor):
3048 (WebCore::waitCursor):
3049 (WebCore::helpCursor):
3050 (WebCore::eastResizeCursor):
3051 (WebCore::northResizeCursor):
3052 (WebCore::northEastResizeCursor):
3053 (WebCore::northWestResizeCursor):
3054 (WebCore::southResizeCursor):
3055 (WebCore::southEastResizeCursor):
3056 (WebCore::southWestResizeCursor):
3057 (WebCore::westResizeCursor):
3058 (WebCore::northSouthResizeCursor):
3059 (WebCore::eastWestResizeCursor):
3060 (WebCore::northEastSouthWestResizeCursor):
3061 (WebCore::northWestSouthEastResizeCursor):
3062 (WebCore::columnResizeCursor):
3063 (WebCore::rowResizeCursor):
3064 * platform/qt/RenderThemeQt.cpp: Added.
3065 (WebCore::RenderThemeQt::RenderThemeQt):
3066 (WebCore::RenderThemeQt::supportsHover):
3067 (WebCore::RenderThemeQt::paintCheckbox):
3068 (WebCore::RenderThemeQt::paintRadio):
3070 (WebCore::RenderThemeQt::isControlStyled):
3071 (WebCore::RenderThemeQt::controlSupportsTints):
3072 (WebCore::RenderThemeQt::systemFont):
3073 (WebCore::RenderThemeQt::createPopupMenu):
3074 (WebCore::RenderThemeQt::addIntrinsicMargins):
3075 (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
3076 (WebCore::RenderThemeQt::setCheckboxSize):
3077 (WebCore::RenderThemeQt::setRadioSize):
3078 (WebCore::RenderThemeQt::supportsFocus):
3079 (WebCore::RenderThemeQt::applyTheme):
3080 (WebCore::RenderThemeQt::adjustButtonStyle):
3081 (WebCore::RenderThemeQt::paintButton):
3082 (WebCore::RenderThemeQt::adjustTextFieldStyle):
3083 (WebCore::RenderThemeQt::paintTextField):
3085 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
3089 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3090 WebKit should have Qt platform support
3092 * platform/qt/SharedTimerQt.cpp: Added.
3093 (WebCore:setSharedTimerFiredFunction):
3094 (WebCore::setSharedTimerFireTime):
3095 (WebCore::stopSharedTimer):
3096 * platform/qt/SharedTimerQt.h: Added.
3097 (WebCore::SharedTimerQt::SharedTimerQt):
3098 (WebCore::SharedTimerQt::~SharedTimerQt):
3099 (WebCore::SharedTimerQt::inst):
3100 (WebCore::SharedTimerQt::fire):
3101 * platform/qt/SystemTimeQt.cpp: Added.
3102 (WebCore::currentTime):
3104 2006-08-21 Brady Eidson <beidson@apple.com>
3108 -Defers writing to the database via a timer and handles starting the timer
3111 * loader/icon/IconDatabase.cpp:
3112 (WebCore::IconDatabase::IconDatabase):
3113 (WebCore::IconDatabase::open): Don't start the update timer by default
3114 (WebCore::IconDatabase::close): Call syncDatabase()
3115 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
3116 (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
3117 (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
3118 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
3119 (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
3120 (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
3121 * loader/icon/IconDatabase.h:
3123 2006-08-21 Alexey Proskuryakov <ap@nypop.com>
3127 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10429
3128 XSLTProcessor.transformToFragment crashes if the owner document is empty
3130 Test: fast/js/xslt-fragment-in-empty-doc.html
3132 * dom/XMLTokenizer.cpp:
3133 (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
3135 2006-08-21 Brady Eidson <beidson@apple.com>
3139 -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
3140 In the near future, we'll also have timer-based deferred *addition* of database records
3141 -Keep retain/release counts in a hash instead of a DB table
3142 -Keep only one hash record for the SiteIcons
3143 -Renamed some methods for clarity
3145 * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
3146 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
3147 (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
3148 * loader/icon/IconDatabase.cpp:
3149 (WebCore::IconDatabase::IconDatabase):
3150 (WebCore::IconDatabase::open): Added new timer setup
3151 (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
3152 (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
3153 (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
3154 (WebCore::IconDatabase::retainIconURL): Added
3155 (WebCore::IconDatabase::releaseIconURL): Added
3156 (WebCore::IconDatabase::forgetPageURL): Added
3157 (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
3158 (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
3159 (WebCore::IconDatabase::setIconURLForPageURL):
3160 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
3161 (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
3162 (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
3163 * loader/icon/IconDatabase.h: Added multiple stuffs
3165 2006-08-21 Brady Eidson <beidson@apple.com>
3167 Reviewed by Maciej's rubberstamp
3169 Removed stale file references from the Xcode.proj
3171 * WebCore.xcodeproj/project.pbxproj:
3173 2006-08-20 Nikolas Zimmermann <zimmermann@kde.org>
3175 Reviewed by Maciej. Landed by rwlbuis.
3177 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
3178 WebKit should have Qt platform support
3180 Removing HelperQt.h usage by creating appropriate operators
3181 constructor in some of the platform classes, as suggested by Darin.
3184 * platform/DeprecatedString.h:
3186 * platform/PlatformString.h:
3187 * platform/qt/ComboBoxQt.cpp:
3188 (WebCore::PlatformComboBox::appendItem):
3189 (WebCore::PlatformComboBox::appendGroupLabel):
3190 (WebCore::PlatformComboBox::setFont):
3191 * platform/qt/LineEditQt.cpp:
3192 (WebCore::PlatformLineEdit::setFont):
3193 (WebCore::PlatformLineEdit::setText):
3194 (WebCore::PlatformLineEdit::text):
3195 (WebCore::PlatformLineEdit::selectedText):
3196 * platform/qt/ListBoxQt.cpp:
3197 (WebCore::ListBox::setFont):
3198 (WebCore::ListBox::appendItem):
3199 * platform/qt/PlatformKeyboardEventQt.cpp:
3200 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3201 * platform/qt/ScrollViewQt.cpp:
3202 * platform/qt/StringQt.cpp: Added.
3203 (WebCore::String::String):
3204 (WebCore::String::operator QString):
3205 (WebCore::DeprecatedString::operator QString):
3206 * platform/qt/TextEditQt.cpp:
3207 * platform/qt/WidgetQt.cpp:
3208 (WebCore::Widget::setFont):
3210 2006-08-18 Steve Falkenburg <sfalken@apple.com>
3212 Rubber stamped by adele.
3214 Fix call to WebFormDelegate's textFieldDidBeginEditing.
3216 * rendering/RenderTextControl.cpp:
3217 (WebCore::RenderTextControl::subtreeHasChanged):
3219 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3221 Reviewed by Eric. Landed by rwlbuis.
3223 Next chunk of the implementation for:
3224 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3226 WebKit should have Qt platform support
3228 * platform/qt/KeyboardCodes.h: Added.
3229 * platform/qt/PlatformKeyboardEventQt.cpp: Added.
3230 (WebCore::keyIdentifierForQtKeyCode):
3231 (WebCore::windowsKeyCodeForKeyEvent):
3232 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3233 * platform/qt/PlatformMouseEventQt.cpp: Added.
3235 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3237 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3239 Reviewed by Eric. Landed by rwlbuis.
3241 Next chunk of the implementation for:
3242 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3244 WebKit should have Qt platform support
3246 * platform/qt/AffineTransformQt.cpp: Added.
3247 (WebCore::AffineTransform::AffineTransform):
3248 (WebCore::AffineTransform::setMatrix):
3249 (WebCore::AffineTransform::map):
3250 (WebCore::AffineTransform::mapRect):
3251 (WebCore::AffineTransform::isIdentity):
3252 (WebCore::AffineTransform::m11):
3253 (WebCore::AffineTransform::m12):
3254 (WebCore::AffineTransform::m21):
3255 (WebCore::AffineTransform::m22):
3256 (WebCore::AffineTransform::dx):
3257 (WebCore::AffineTransform::dy):
3258 (WebCore::AffineTransform::reset):
3259 (WebCore::AffineTransform::scale):
3260 (WebCore::AffineTransform::rotate):
3261 (WebCore::AffineTransform::translate):
3262 (WebCore::AffineTransform::shear):
3263 (WebCore::AffineTransform::det):
3264 (WebCore::AffineTransform::invert):
3265 (WebCore::AffineTransform::operator QMatrix):
3266 (WebCore::AffineTransform::operator==):
3267 (WebCore::AffineTransform::operator*=):
3268 (WebCore::AffineTransform::operator*):
3269 * platform/qt/BrowserExtensionQt.cpp: Added.
3270 (WebCore::BrowserExtensionQt::BrowserExtensionQt):
3271 (WebCore::BrowserExtensionQt::canRunModal):
3272 (WebCore::BrowserExtensionQt::createNewWindow):
3273 (WebCore::BrowserExtensionQt::canRunModalNow):
3274 (WebCore::BrowserExtensionQt::runModal):
3275 (WebCore::BrowserExtensionQt::goBackOrForward):
3276 (WebCore::BrowserExtensionQt::historyURL):
3277 (WebCore::BrowserExtensionQt::setTypedIconURL):
3278 (WebCore::BrowserExtensionQt::setIconURL):
3279 (WebCore::BrowserExtensionQt::getHistoryLength):
3280 * platform/qt/BrowserExtensionQt.h: Added.
3281 * platform/qt/CookieJarQt.cpp: Added.
3282 (WebCore::setCookies):
3284 (WebCore::cookiesEnabled):
3285 * platform/qt/PageQt.cpp: Added.
3286 (WebCore::rootWindowForFrame):
3287 (WebCore::Page::windowRect):
3288 (WebCore::Page::setWindowRect):
3289 * platform/qt/PathQt.cpp: Added.
3290 (WebCore::Path::Path):
3291 (WebCore::Path::~Path):
3292 (WebCore::Path::operator=):
3293 (WebCore::Path::contains):
3294 (WebCore::Path::translate):
3295 (WebCore::Path::boundingRect):
3296 (WebCore::Path::moveTo):
3297 (WebCore::Path::addLineTo):
3298 (WebCore::Path::addQuadCurveTo):
3299 (WebCore::Path::addBezierCurveTo):
3300 (WebCore::Path::addArcTo):
3301 (WebCore::Path::closeSubpath):
3302 (WebCore::Path::addArc):
3303 (WebCore::Path::addRect):
3304 (WebCore::Path::addEllipse):
3305 (WebCore::Path::clear):
3306 * platform/qt/ScreenQt.cpp: Added.
3307 (WebCore::screenRect):
3308 (WebCore::screenDepth):
3309 (WebCore::usableScreenRect):
3312 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3314 Reviewed by Eric. Landed by rwlbuis.
3316 First chunk of the implementation for:
3317 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3319 WebKit should have Qt platform support
3321 * platform/qt/ComboBoxQt.cpp: Added.
3322 (WebCore::PlatformComboBox::PlatformComboBox):
3323 (WebCore::PlatformComboBox::~PlatformComboBox):
3324 (WebCore::PlatformComboBox::setParentWidget):
3325 (WebCore::PlatformComboBox::clear):
3326 (WebCore::PlatformComboBox::appendItem):
3327 (WebCore::PlatformComboBox::appendGroupLabel):
3328 (WebCore::PlatformComboBox::appendSeparator):
3329 (WebCore::PlatformComboBox::setCurrentItem):
3330 (WebCore::PlatformComboBox::sizeHint):
3331 (WebCore::PlatformComboBox::frameGeometry):
3332 (WebCore::PlatformComboBox::setFrameGeometry):
3333 (WebCore::PlatformComboBox::baselinePosition):
3334 (WebCore::PlatformComboBox::setFont):
3335 (WebCore::PlatformComboBox::focusPolicy):
3336 (WebCore::PlatformComboBox::itemSelected):
3337 (WebCore::PlatformComboBox::setWritingDirection):
3338 (WebCore::PlatformComboBox::populate):
3339 (WebCore::PlatformComboBox::populateMenu):
3340 * platform/qt/LineEditQt.cpp: Added.
3341 (WebCore::PlatformLineEdit::PlatformLineEdit):
3342 (WebCore::PlatformLineEdit::~PlatformLineEdit):
3343 (WebCore::PlatformLineEdit::setParentWidget):
3344 (WebCore::PlatformLineEdit::setColors):
3345 (WebCore::PlatformLineEdit::setAlignment):
3346 (WebCore::PlatformLineEdit::setCursorPosition):
3347 (WebCore::PlatformLineEdit::cursorPosition):
3348 (WebCore::PlatformLineEdit::setEdited):
3349 (WebCore::PlatformLineEdit::edited):
3350 (WebCore::PlatformLineEdit::setFont):
3351 (WebCore::PlatformLineEdit::setMaxLength):
3352 (WebCore::PlatformLineEdit::maxLength):
3353 (WebCore::PlatformLineEdit::setReadOnly):
3354 (WebCore::PlatformLineEdit::isReadOnly):
3355 (WebCore::PlatformLineEdit::setText):
3356 (WebCore::PlatformLineEdit::text):
3357 (WebCore::PlatformLineEdit::setWritingDirection):
3358 (WebCore::PlatformLineEdit::selectAll):
3359 (WebCore::PlatformLineEdit::hasSelectedText):
3360 (WebCore::PlatformLineEdit::selectionStart):
3361 (WebCore::PlatformLineEdit::selectedText):
3362 (WebCore::PlatformLineEdit::setSelection):
3363 (WebCore::PlatformLineEdit::sizeForCharacterWidth):
3364 (WebCore::PlatformLineEdit::baselinePosition):
3365 (WebCore::PlatformLineEdit::focusPolicy):
3366 (WebCore::PlatformLineEdit::checksDescendantsForFocus):
3367 (WebCore::PlatformLineEdit::setLiveSearch):
3368 (WebCore::PlatformLineEdit::setAutoSaveName):
3369 (WebCore::PlatformLineEdit::setMaxResults):
3370 (WebCore::PlatformLineEdit::setPlaceholderString):
3371 (WebCore::PlatformLineEdit::addSearchResult):
3372 * platform/qt/ListBoxQt.cpp: Added.
3373 (WebCore::ListBox::ListBox):
3374 (WebCore::ListBox::~ListBox):
3375 (WebCore::ListBox::setParentWidget):
3376 (WebCore::ListBox::sizeForNumberOfLines):
3377 (WebCore::ListBox::setSelectionMode):
3378 (WebCore::ListBox::clear):
3379 (WebCore::ListBox::doneAppendingItems):
3380 (WebCore::ListBox::setSelected):
3381 (WebCore::ListBox::isSelected):
3382 (WebCore::ListBox::setEnabled):
3383 (WebCore::ListBox::isEnabled):
3384 (WebCore::ListBox::setWritingDirection):
3385 (WebCore::ListBox::focusPolicy):
3386 (WebCore::ListBox::checksDescendantsForFocus):
3387 (WebCore::ListBox::clearCachedTextRenderers):
3388 (WebCore::ListBox::setFont):
3389 (WebCore::ListBox::appendItem):
3390 * platform/qt/ScrollViewQt.cpp: Added.
3391 (WebCore::ScrollView::ScrollView):
3392 (WebCore::ScrollView::~ScrollView):
3393 (WebCore::ScrollView::setParentWidget):
3394 (WebCore::ScrollView::updateContents):
3395 (WebCore::ScrollView::visibleWidth):
3396 (WebCore::ScrollView::visibleHeight):
3397 (WebCore::ScrollView::visibleContentRect):
3398 (WebCore::ScrollView::setContentsPos):
3399 (WebCore::ScrollView::resizeContents):
3400 (WebCore::ScrollView::contentsX):
3401 (WebCore::ScrollView::contentsY):
3402 (WebCore::ScrollView::contentsWidth):
3403 (WebCore::ScrollView::contentsHeight):
3404 (WebCore::ScrollView::viewportToContents):
3405 (WebCore::ScrollView::contentsToViewport):
3406 (WebCore::ScrollView::scrollOffset):
3407 (WebCore::ScrollView::scrollBy):
3408 (WebCore::ScrollView::hScrollBarMode):
3409 (WebCore::ScrollView::vScrollBarMode):
3410 (WebCore::ScrollView::suppressScrollBars):
3411 (WebCore::ScrollView::setHScrollBarMode):
3412 (WebCore::ScrollView::setVScrollBarMode):
3413 (WebCore::ScrollView::setScrollBarsMode):
3414 (WebCore::ScrollView::setStaticBackground):
3415 (WebCore::ScrollView::addChild):
3416 (WebCore::ScrollView::removeChild):
3417 (WebCore::ScrollView::scrollPointRecursively):
3418 (WebCore::ScrollView::inWindow):
3419 * platform/qt/TextEditQt.cpp: Added.
3420 (WebCore::PlatformTextEdit::PlatformTextEdit):
3421 (WebCore::PlatformTextEdit::~PlatformTextEdit):
3422 (WebCore::PlatformTextEdit::setParentWidget):
3423 (WebCore::PlatformTextEdit::setColors):
3424 (WebCore::PlatformTextEdit::setAlignment):
3425 (WebCore::PlatformTextEdit::setLineHeight):
3426 (WebCore::PlatformTextEdit::setCursorPosition):
3427 (WebCore::PlatformTextEdit::getCursorPosition):
3428 (WebCore::PlatformTextEdit::setFont):
3429 (WebCore::PlatformTextEdit::setReadOnly):
3430 (WebCore::PlatformTextEdit::isReadOnly):
3431 (WebCore::PlatformTextEdit::setDisabled):
3432 (WebCore::PlatformTextEdit::isDisabled):
3433 (WebCore::PlatformTextEdit::hasSelectedText):
3434 (WebCore::PlatformTextEdit::setText):
3435 (WebCore::PlatformTextEdit::text):
3436 (WebCore::PlatformTextEdit::textWithHardLineBreaks):
3437 (WebCore::PlatformTextEdit::focusPolicy):
3438 (WebCore::PlatformTextEdit::setWordWrap):
3439 (WebCore::PlatformTextEdit::wordWrap):
3440 (WebCore::PlatformTextEdit::setScrollBarModes):
3441 (WebCore::PlatformTextEdit::setWritingDirection):
3442 (WebCore::PlatformTextEdit::selectionStart):
3443 (WebCore::PlatformTextEdit::selectionEnd):
3444 (WebCore::PlatformTextEdit::setSelectionStart):
3445 (WebCore::PlatformTextEdit::setSelectionEnd):
3446 (WebCore::PlatformTextEdit::selectAll):
3447 (WebCore::PlatformTextEdit::setSelectionRange):
3448 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
3449 (WebCore::PlatformTextEdit::checksDescendantsForFocus):
3450 * platform/qt/WidgetQt.cpp: Added.
3451 (WebCore::WidgetPrivate::WidgetPrivate):
3452 (WebCore::WidgetPrivate::~WidgetPrivate):
3453 (WebCore::Widget::Widget):
3454 (WebCore::Widget::~Widget):
3455 (WebCore::Widget::setClient):
3456 (WebCore::Widget::client):
3457 (WebCore::Widget::frameGeometry):
3458 (WebCore::Widget::hasFocus):
3459 (WebCore::Widget::setFocus):
3460 (WebCore::Widget::clearFocus):
3461 (WebCore::Widget::font):
3462 (WebCore::Widget::setFont):
3463 (WebCore::Widget::setCursor):
3464 (WebCore::Widget::show):
3465 (WebCore::Widget::hide):
3466 (WebCore::Widget::setQWidget):
3467 (WebCore::Widget::qwidget):
3468 (WebCore::Widget::setParentWidget):
3469 (WebCore::Widget::parentWidget):
3470 (WebCore::Widget::setFrameGeometry):
3471 (WebCore::Widget::mapFromGlobal):
3472 (WebCore::Widget::scaleFactor):
3473 (WebCore::Widget::lockDrawingFocus):
3474 (WebCore::Widget::unlockDrawingFocus):
3475 (WebCore::Widget::paint):
3476 (WebCore::Widget::enableFlushDrawing):
3477 (WebCore::Widget::isEnabled):
3478 (WebCore::Widget::setIsSelected):
3479 (WebCore::Widget::disableFlushDrawing):
3480 (WebCore::Widget::setEnabled):
3481 (WebCore::Widget::focusPolicy):
3483 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3485 Reviewed by Eric. Landed by rwlbuis.
3487 First chunk of the implementation for:
3488 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3490 WebKit should have Qt platform support
3492 * platform/qt/ColorQt.cpp: Added.
3493 (WebCore::Color::Color):
3494 (WebCore::Color::operator QColor):
3495 * platform/qt/FloatPointQt.cpp: Added.
3496 (WebCore::FloatPoint::FloatPoint):
3497 (WebCore::FloatPoint::operator QPointF):
3498 * platform/qt/FloatRectQt.cpp: Added.
3499 (WebCore::FloatRect::FloatRect):
3500 (WebCore::FloatRect::operator QRectF):
3501 * platform/qt/IntPointQt.cpp: Added.
3502 (WebCore::IntPoint::IntPoint):
3503 (WebCore::IntPoint::operator QPoint):
3504 * platform/qt/IntRectQt.cpp: Added.
3505 (WebCore::IntRect::IntRect):
3506 (WebCore::IntRect::operator QRect):
3507 * platform/qt/IntSizeQt.cpp: Added.
3508 (WebCore::IntSize::IntSize):
3509 (WebCore::IntSize::operator QSize):
3511 2006-08-18 Nikolas Zimmermann <zimmermann@kde.org>
3513 Reviewed by Eric. Landed by rwlbuis.
3515 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
3516 The Qt platform needs a KCanvas device.
3518 * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
3519 (WebCore::KCanvasClipperQt::applyClip):
3520 * kcanvas/device/qt/KCanvasClipperQt.h: Added.
3521 (WebCore::KCanvasClipperQt::KCanvasClipperQt):
3522 * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
3523 (WebCore::KCanvasPathQt::KCanvasPathQt):
3524 (WebCore::KCanvasPathQt::~KCanvasPathQt):
3525 (WebCore::KCanvasPathQt::isEmpty):
3526 (WebCore::KCanvasPathQt::moveTo):
3527 (WebCore::KCanvasPathQt::lineTo):
3528 (WebCore::KCanvasPathQt::curveTo):
3529 (WebCore::KCanvasPathQt::closeSubpath):
3530 (WebCore::KCanvasPathQt::boundingBox):
3531 (WebCore::KCanvasPathQt::strokeBoundingBox):
3532 (WebCore::KCanvasPathQt::strokeContainsPoint):
3533 (WebCore::KCanvasPathQt::containsPoint):
3534 * kcanvas/device/qt/KCanvasPathQt.h: Added.
3535 (WebCore::KCanvasPathQt::qtPath):
3536 * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
3537 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
3538 (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
3539 (WebCore::KRenderingDeviceContextQt::concatCTM):
3540 (WebCore::KRenderingDeviceContextQt::ctm):
3541 (WebCore::KRenderingDeviceContextQt::mapFromVisual):
3542 (WebCore::KRenderingDeviceContextQt::mapToVisual):
3543 (WebCore::KRenderingDeviceContextQt::clearPath):
3544 (WebCore::KRenderingDeviceContextQt::addPath):
3545 (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
3546 (WebCore::KRenderingDeviceContextQt::painter):
3547 (WebCore::KRenderingDeviceContextQt::pathBBox):
3548 (WebCore::KRenderingDeviceContextQt::setFillRule):
3549 (WebCore::KRenderingDeviceContextQt::fillPath):
3550 (WebCore::KRenderingDeviceContextQt::strokePath):
3551 (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
3552 (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
3553 (WebCore::KRenderingDeviceQt::popContext):
3554 (WebCore::KRenderingDeviceQt::pushContext):
3555 (WebCore::KRenderingDeviceQt::qtContext):
3556 (WebCore::KRenderingDeviceQt::contextForImage):
3557 (WebCore::KRenderingDeviceQt::stringForPath):
3558 (WebCore::KRenderingDeviceQt::createResource):
3559 (WebCore::KRenderingDeviceQt::createPaintServer):
3560 (WebCore::KRenderingDeviceQt::createFilterEffect):
3562 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3564 Reviewed by Eric. Landed by rwlbuis.
3566 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
3567 WebKit should have Qt platform support.
3570 * platform/Cursor.h:
3571 (WebCore::Cursor::Cursor):
3572 * platform/FloatPoint.h:
3573 * platform/FloatRect.h:
3574 * platform/GlyphBuffer.h:
3575 (WebCore::GlyphBuffer::glyphAt):
3576 (WebCore::GlyphBuffer::advanceAt):
3577 (WebCore::GlyphBuffer::add):
3578 * platform/GraphicsContext.h:
3579 * platform/ImageSource.h:
3580 * platform/IntPoint.h:
3581 * platform/IntRect.h:
3582 * platform/IntSize.h:
3583 * platform/ListBox.h:
3585 * platform/PlatformKeyboardEvent.h:
3586 * platform/PlatformMouseEvent.h:
3587 * platform/ResourceLoader.h:
3588 * platform/ResourceLoaderClient.h:
3589 * platform/ResourceLoaderInternal.h:
3590 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3591 * platform/ScrollView.h:
3592 * platform/Widget.h:
3594 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3596 Reviewed by Eric. Landed by rwlbuis.
3598 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
3599 General WebKit Linux build fixes.
3601 * kcanvas/KCanvasFilters.cpp:
3602 (WebCore::operator<<):
3603 * kcanvas/RenderSVGImage.cpp:
3604 * ksvg2/css/SVGCSSStyleSelector.cpp:
3605 * ksvg2/svg/SVGAnimateColorElement.cpp:
3606 * ksvg2/svg/SVGMaskElement.cpp:
3607 * ksvg2/svg/SVGPatternElement.cpp:
3609 * rendering/RenderStyle.h:
3610 (WebCore::RenderStyle::deleteBindingURIs):
3611 * xml/DOMParser.cpp:
3613 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3615 Reviewed by Eric. Landed by rwlbuis.
3617 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
3618 Offer a cmake build system for Qt platform.
3620 * CMakeLists.txt: Added.
3622 2006-08-17 David Harrison <harrison@apple.com>
3624 Reviewed by John Sullivan.
3626 <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
3628 Accessorized RenderMenuList objects.
3630 * bridge/mac/WebCoreAXObject.mm:
3631 (-[WebCoreAXObject mouseButtonListener]):
3634 (-[WebCoreAXObject actionElement]):
3635 Return the HTMLSelectElement.
3637 (-[WebCoreAXObject firstChild]):
3638 (-[WebCoreAXObject lastChild]):
3639 (-[WebCoreAXObject previousSibling]):
3640 (-[WebCoreAXObject nextSibling]):
3641 (-[WebCoreAXObject parentObject]):
3642 (-[WebCoreAXObject parentObjectUnignored]):
3643 (-[WebCoreAXObject isAttachment]):
3644 (-[WebCoreAXObject attachmentView]):
3647 (-[WebCoreAXObject role]):
3648 Return NSAccessibilityPopUpButtonRole.
3650 (-[WebCoreAXObject subrole]):
3653 (-[WebCoreAXObject roleDescription]):
3654 Return NSAccessibilityPopUpButtonRole.
3656 (-[WebCoreAXObject textUnderElement]):
3659 (-[WebCoreAXObject value]):
3660 Return the RenderMenuList::text().
3662 (-[WebCoreAXObject position]):
3665 (-[WebCoreAXObject accessibilityIsIgnored]):
3666 - Ignore popup menu items because AppKit does.
3667 - Remove redundant check for buttonTag (earlier isControl() check suffices).
3669 (-[WebCoreAXObject accessibilityAttributeNames]):
3670 (-[WebCoreAXObject accessibilityActionNames]):
3671 (-[WebCoreAXObject accessibilityAttributeValue:]):
3674 (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
3675 Removed old debugging code that is no longer needed.
3678 (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
3679 (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
3680 (-[WebCoreAXObject removeAXObjectID]):
3683 * html/HTMLSelectElement.cpp:
3684 (WebCore::HTMLSelectElement::accessKeyAction):
3685 Call click() instead of focus().
3687 * rendering/RenderMenuList.cpp:
3688 (WebCore::RenderMenuList::text):
3689 Added for easy access to popup's current text.
3691 * rendering/RenderMenuList.h:
3692 (WebCore::RenderMenuList::isMenuList):
3693 * rendering/RenderObject.h:
3694 (WebCore::RenderObject::isMenuList):
3695 Added so popups can be identified.
3697 2006-08-17 David Harrison <harrison@apple.com>
3701 <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
3703 Test cases added: None. Manual AX testing is way too awkward, and automated testing
3704 is not possible. See following bug...
3705 <rdar://problem/4256882> Need automated testing support for accessibility APIs
3707 * bridge/mac/AXObjectCacheMac.mm:
3708 (WebCore::AXObjectCache::visiblePositionForTextMarker):
3709 Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
3711 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3715 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
3716 AffineTransform should be multi-platform compatible
3718 * platform/AffineTransform.h:
3719 * platform/cg/AffineTransformCG.cpp:
3720 (WebCore::AffineTransform::m11):
3721 (WebCore::AffineTransform::m12):
3722 (WebCore::AffineTransform::m21):
3723 (WebCore::AffineTransform::m22):
3724 (WebCore::AffineTransform::dx):
3725 (WebCore::AffineTransform::dy):
3727 2006-08-16 David Hyatt <hyatt@apple.com>
3729 Fix an issue with CSS2 system fonts where they did not respect text
3730 zoom. This was most visible with the new control fonts used for form
3731 controls (they stopped swapping between small/mini/regular as you zoomed).
3735 * css/cssstyleselector.cpp:
3736 (WebCore::CSSStyleSelector::applyProperty):
3738 2006-08-15 Justin Garcia <justin.garcia@apple.com>
3740 Reviewed by thatcher
3742 First part of fix for:
3743 <rdar://problem/4384589>
3744 Mail hung on paste text
3747 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
3748 Extra line left after deleting whitespace:pre text
3749 <rdar://problem/4128080> Paste as HTML does not yield equivalent style
3750 <rdar://problem/4046469> Box styles on first element aren't copied/pasted
3751 Copy/paste of arstechnica.com
3753 Here's how we avoid adding redundant style information on paste: insert
3754 the fragment and do a test rendering, save away style information for
3755 every node in the fragment, remove all style information from the fragment,
3756 remove the fragment, insert it into the appropriate place in the document,
3757 then restore only those styles gathered during the test insertion that aren't
3758 redundant. Restoring the styles in this way results in an ApplyStyleCommand
3759 and a layout for nearly every inserted node.
3760 Instead we want to insert the fragment into the document without removing the
3761 style information, then mark style nodes and inline style declarations for
3762 removal if they are redundant, and sweep to remove them. This means that we
3763 can't rely on ReplacementFragment::wasBlock anymore, because blocks will now
3764 have style spans around them. This patch removes the use of wasBlock in
3765 ReplaceSelectionCommand.
3767 * editing/CompositeEditCommand.cpp:
3768 (WebCore::CompositeEditCommand::moveParagraphs): Added code
3769 to remove the line placeholder left after a move from preserveNewline text.
3770 * editing/DeleteSelectionCommand.cpp:
3771 (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if
3772 we're deleting a paragraph in preserveNewline text.
3773 * editing/JSEditor.cpp: Pass true to prevent nesting.
3774 * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
3775 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
3776 (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
3777 (WebCore::RenderingInfo::RenderingInfo): Ditto.
3778 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3779 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
3780 merging rules into one method.
3781 (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
3782 (WebCore::ReplaceSelectionCommand::shouldMerge):
3783 (WebCore::ReplaceSelectionCommand::doApply):
3784 Don't do nesting prevention when pasting into an empty paragraph, this
3785 fixes 4046469, the common cause of paste fidelity bugs, but needs
3786 to be tweaked a little because this can lead to margin/border build-up
3787 on repeated copy/pastes.
3788 Don't track startPos in addition to insertionPos. It was never used.
3789 Fixed a bug where a fragment starting with an interchange newline would
3790 cause content to be put outside of an editable region when pasting at the
3792 Adjust insertionPos before insertion (not during) and do not consult wasBlock
3793 to decide whether or not to do so.
3794 Changed the way we do the start merge: insert the fragment, then stich
3795 paragraphs together, in the same way that we do the end merge. This
3796 doesn't require wasBlock and fixes bugs.
3797 Replaced some uses of insertionPos with endOfInsertedContent.
3798 Fixed a bug in the expansion of the last incoming br (a "collapsed" br
3799 is one where !isStartOfParagraph([br,0])).
3800 Removed the special case code that did the end merge for the preserveNewline
3801 case, since this patch fixes the moveParagraph bug in the preserveNewline case.
3802 Removed some unused variables.
3803 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was
3804 holding a line open should always be displaced by inserted content, unless
3805 the inserted content ends with a br.
3806 (WebCore::ReplaceSelectionCommand::updateNodesInserted):
3807 * editing/ReplaceSelectionCommand.h:
3808 (WebCore::RenderingInfo::style):
3809 * editing/markup.cpp:
3810 (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
3811 annotate is true (when we're creating markup for the pasteboard).
3813 2006-08-16 John Sullivan <sullivan@apple.com>
3815 Reviewed by Brady Eidson
3817 - fixed <rdar://problem/4637156> underlines appearing in white selection text
3819 * rendering/InlineFlowBox.cpp:
3820 (WebCore::InlineFlowBox::paintDecorations):
3821 bail out if phase is PaintPhaseSelection and forceWhiteText is true
3823 2006-08-16 Brady Eidson <beidson@apple.com>
3827 Updated the DB version number and added a helpful comment explaining its meaning
3829 * loader/icon/IconDatabase.cpp:
3831 2006-08-16 Brady Eidson <beidson@apple.com>
3835 Major refactoring of new iconDB:
3836 -Instead of private browsing being handled by in-memory tables, it's now handled
3837 by a separate in-memory database with the same table names. This allows us to
3838 re-use the same SQL on either the main or private-browsing database
3839 -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
3840 "Query" that take a database as the method's argument so the same language can run on
3841 both private and main tables
3842 -Now that we have two DBs, moved the retain/release count to the m_mainDB
3843 -While I was at it, updated the schema to combine the Icon and IconResource table - cuts
3844 down on some high-usage, low value queries which were too expensive
3845 -Ditched the _url -> url convention for escaping urls for SQL. Now its url and escapedURL
3846 -Pruned tons of unused methods from previous revisions
3848 * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used
3849 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
3850 * loader/icon/IconDatabase.cpp:
3851 (WebCore::IconDatabase::IconDatabase): Updated initializer list
3852 (WebCore::IconDatabase::open): Sets up both databases
3853 (WebCore::IconDatabase::close): Closes both databases
3854 (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
3855 (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
3856 (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
3857 (WebCore::IconDatabase::createDatabaseTables): Ditto
3858 (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
3859 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
3860 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
3861 (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
3862 (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes
3863 (WebCore::IconDatabase::releaseIconForPageURL): Ditto
3864 (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
3865 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
3866 (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
3867 (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
3868 (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
3869 (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
3870 (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
3871 (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
3872 (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
3873 (WebCore::IconDatabase::~IconDatabase):
3874 (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
3875 (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
3876 (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
3877 (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
3878 (WebCore::forgetPageURLQuery): Self-explanatory SQL query
3879 (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
3880 (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
3881 (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
3882 (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
3883 * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
3884 (WebCore::IconDatabase::isOpen): Changed our meaning of "isOpen" to reflect the 2 databases
3886 2006-08-15 Jonas Witt <jonas.witt@gmail.com>
3890 - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
3891 http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
3893 * bindings/objc/DOMEvents.mm:
3894 (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
3895 * bindings/objc/DOMEventsNonstandard.mm:
3896 (-[DOMWheelEvent initWheelEvent:::::::::::]):
3897 * bindings/objc/DOMPrivate.h:
3899 - added an initializer for the WheelEvent
3901 * dom/WheelEvent.cpp:
3902 (WebCore::WheelEvent::initWheelEvent):
3905 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3909 Build fix: DWARF and -gfull are incompatible with symbol separation.
3911 * WebCore.xcodeproj/project.pbxproj:
3913 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3917 http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
3918 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
3920 * WebCore.xcodeproj/project.pbxproj:
3922 2006-08-15 Geoffrey Garen <ggaren@apple.com>
3926 - This patch reworks a previous fix for <rdar://problem/3524912> repro
3927 crash in KHTMLParser::parseToken, due to parser's current element being
3928 destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
3931 The previous solutions caused a ~2% performance regression on iBench HTML,
3932 due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
3933 for a total win of ~3% vs current TOT.
3935 We can merge this fix to the branch to fix <rdar://problem/4661982>
3936 (crash in KHTMLParser::popBlock).
3938 The solution here is:
3939 (1) Don't let the parser ref document nodes -- that causes leaks.
3940 (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when
3941 moving a node between stacks or to/from 'current', rather than deref'ing
3942 and then ref'ing again, simply move the node, along with its refcount, to
3943 its new location, and overwrite its old location.
3945 * WebCore.xcodeproj/project.pbxproj:
3946 * html/HTMLParser.cpp:
3947 (WebCore::HTMLStackElem::HTMLStackElem):
3948 (WebCore::HTMLStackElem::derefNode):
3949 (WebCore::HTMLParser::HTMLParser):
3950 (WebCore::HTMLParser::setCurrent):
3951 (WebCore::HTMLParser::insertNode):
3952 (WebCore::HTMLParser::popNestedHeaderTag):
3953 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3954 (WebCore::HTMLParser::reopenResidualStyleTags):
3955 (WebCore::HTMLParser::pushBlock):
3956 (WebCore::HTMLParser::popBlock):
3957 (WebCore::HTMLParser::popOneBlockCommon):
3958 (WebCore::HTMLParser::popOneBlock):
3959 (WebCore::HTMLParser::moveOneBlockToStack):
3960 * html/HTMLParser.h:
3962 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3966 http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
3967 Bug 10384: Switch to DWARF for Release configuration
3969 * WebCore.xcodeproj/project.pbxproj:
3971 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3974 Tweaked and landed by Darin.
3976 http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
3977 Bug 10399: RenderTextArea is unused
3979 * WebCore.vcproj/WebCore/WebCore.vcproj:
3980 * WebCore.xcodeproj/project.pbxproj:
3981 * WebCoreSources.bkl:
3982 Removed RenderTextArea source files.
3984 * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
3985 * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
3987 * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
3989 * platform/TextBox.h: Removed.
3990 * platform/mac/TextBoxMac.mm: Removed.
3991 * platform/mac/WebCoreTextArea.h: Removed.
3992 * platform/mac/WebCoreTextArea.mm: Removed.
3993 * rendering/RenderTextArea.cpp: Removed.
3994 * rendering/RenderTextArea.h: Removed.
3996 2006-08-15 Brady Eidson <beidson@apple.com>
3998 Reviewed by THE OTHER Maciej...
4001 1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
4002 2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
4003 null dereference later
4005 * bridge/mac/WebCoreIconDatabaseBridge.mm:
4006 (-[WebCoreIconDatabaseBridge retainIconForURL:]): Changed IconDatabase method name
4007 (-[WebCoreIconDatabaseBridge releaseIconForURL:]): ditto
4008 * loader/icon/IconDatabase.cpp:
4009 (WebCore::IconDatabase::retainIconForPageURL): Name change
4010 (WebCore::IconDatabase::releaseIconForPageURL): ditto
4011 (WebCore::IconDatabase::setIconURLForPageURL): Added the null site-icon check when changing a PageURL's iconURL
4012 * loader/icon/IconDatabase.h: Some renames
4014 2006-08-14 Eric Seidel <eric@eseidel.com>
4018 <mask>, <marker>, <pattern> inside <defs> do not work
4019 http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
4021 * ksvg2/svg/SVGDefsElement.cpp:
4022 (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
4023 (WebCore::SVGDefsElement::isValid): moved to .cpp file
4024 (WebCore::SVGDefsElement::rendererIsNeeded): Added.
4025 (WebCore::SVGDefsElement::createRenderer): Added.
4026 * ksvg2/svg/SVGDefsElement.h:
4027 * ksvg2/svg/SVGGElement.cpp:
4028 (WebCore::SVGGElement::SVGGElement): adjusted spacing
4029 (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
4030 (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
4032 2006-08-14 Eric Seidel <eric@eseidel.com>
4034 Reviewed by darin and mjs.
4036 Add better SVGLoad event support.
4037 http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
4038 There will still need to be additional support added for <link> and <script> elements.
4039 Not all of the error -> loaded -> error transition cases work yet.
4041 * dom/EventTargetNode.cpp:
4042 (WebCore::EventTargetNode::dispatchGenericEvent):
4043 * html/HTMLImageLoader.cpp:
4044 (WebCore::HTMLImageLoader::dispatchLoadEvent):
4045 * html/HTMLImageLoader.h:
4046 (WebCore::HTMLImageLoader::haveFiredLoadEvent):
4047 (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
4048 * ksvg2/misc/SVGImageLoader.cpp:
4049 (WebCore::SVGImageLoader::SVGImageLoader):
4050 (WebCore::SVGImageLoader::dispatchLoadEvent):
4051 * ksvg2/misc/SVGImageLoader.h:
4052 * ksvg2/svg/SVGAElement.cpp:
4053 (WebCore::SVGAElement::parseMappedAttribute):
4054 * ksvg2/svg/SVGAnimatedBoolean.h:
4055 * ksvg2/svg/SVGElement.cpp:
4056 (WebCore::SVGElement::SVGElement):
4057 (WebCore::SVGElement::parseMappedAttribute):
4058 (WebCore::SVGElement::haveLoadedRequiredResources):
4059 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
4060 (WebCore::SVGElement::closeRenderer):
4061 * ksvg2/svg/SVGElement.h:
4062 (WebCore::SVGElement::rendererIsNeeded):
4063 (WebCore::svg_dynamic_cast):
4064 * ksvg2/svg/SVGExternalResourcesRequired.h:
4065 * ksvg2/svg/SVGImageElement.cpp:
4066 (SVGImageElement::SVGImageElement):
4067 (SVGImageElement::haveLoadedRequiredResources):
4068 * ksvg2/svg/SVGImageElement.h:
4069 * ksvg2/svg/SVGSVGElement.cpp:
4070 (WebCore::SVGSVGElement::parseMappedAttribute):
4071 * ksvg2/svg/SVGScriptElement.cpp:
4072 (WebCore::SVGScriptElement::SVGScriptElement):
4073 (WebCore::SVGScriptElement::parseMappedAttribute):
4074 (WebCore::SVGScriptElement::executeScript):
4075 * xml/xmlhttprequest.cpp:
4076 (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
4078 2006-08-14 Anders Carlsson <acarlsson@apple.com>
4082 http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
4083 Autogenerate NodeIterator and TreeWalker.
4085 * DerivedSources.make:
4086 * WebCore.xcodeproj/project.pbxproj:
4089 * bindings/js/JSNodeIteratorCustom.cpp: Added.
4090 (WebCore::JSNodeIterator::mark):
4091 * bindings/js/JSTreeWalkerCustom.cpp: Added.
4092 (WebCore::JSTreeWalker::mark):
4094 * bindings/js/kjs_traversal.cpp:
4095 * bindings/js/kjs_traversal.h:
4096 Remove implementations of DOMNodeIterator and DOMTreeWalker.
4098 * bindings/scripts/CodeGeneratorJS.pm:
4099 Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
4101 * bindings/objc/DOM.mm:
4102 (-[DOMNodeIterator detach]):
4103 * dom/NodeIterator.cpp:
4104 (WebCore::NodeIterator::detach):
4105 * dom/NodeIterator.h:
4106 Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
4107 * dom/NodeIterator.idl: Added.
4108 * dom/TreeWalker.idl: Added.
4110 2006-08-14 Brady Eidson <beidson@apple.com>
4114 The changes are plentiful, but small, mostly to improve performance
4115 1) Add a bool flag to SiteIcon to stop it from querying the database over and over
4116 2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
4117 3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
4118 4) Added isIconURLRetained() to optimize the retain count check
4119 5) Prune old, unused code
4121 * loader/icon/IconDatabase.cpp:
4122 (WebCore::IconDatabase::imageDataForIconID): Removed unused code
4123 (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
4124 (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
4125 (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
4126 (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
4127 (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
4128 (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
4129 (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
4130 for an icon so much as whether or not it is retained
4131 (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
4133 * loader/icon/IconDatabase.h: Added new methods/variables
4134 * loader/icon/SiteIcon.cpp:
4135 (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
4136 (SiteIcon::getImage): Ditto
4138 2006-08-14 David Hyatt <hyatt@apple.com>
4140 Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.