1 2006-08-31 Brady Eidson <beidson@apple.com>
5 Cleaned up my last patch after further considerations
7 * loader/icon/IconDatabase.cpp:
8 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check
9 for and fix danglers. Does so in all builds (changed from debug only in my last patch)
10 (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers
11 (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs
12 * loader/icon/IconDatabase.h:
14 2006-08-31 Anders Carlsson <acarlsson@apple.com>
18 Add CString. CString is a simple, null-terminated byte buffer that supports data
19 sharing. Its main use is to be a better const char*.
21 Also add latin1 and utf8 methods to String which returns CStrings.
23 * platform/CString.cpp: Added.
24 (WebCore::CString::CString):
25 (WebCore::CString::init):
26 (WebCore::CString::data):
27 (WebCore::CString::length):
28 (WebCore::CString::deprecatedCString):
29 * platform/CString.h: Added.
30 (WebCore::CStringBuffer::CStringBuffer):
31 (WebCore::CStringBuffer::data):
32 (WebCore::CStringBuffer::length):
33 (WebCore::CString::CString):
34 (WebCore::CString::operator const char*):
35 (WebCore::CString::isNull):
36 * platform/PlatformString.h:
37 * platform/String.cpp:
38 (WebCore::String::latin1):
39 (WebCore::String::utf8):
41 2006-08-31 Brady Eidson <beidson@apple.com>
45 Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency
46 Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together.
48 * loader/icon/IconDatabase.cpp:
49 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out
50 (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error
51 (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers
52 * loader/icon/IconDatabase.h:
54 2006-08-31 Brady Eidson <beidson@apple.com>
58 Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table,
59 causing icons to be pruned before their time and pages to lose their icons. This is because I misunderstood
60 how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of
61 perform an update. Also added an assertion to make sure this doesn't happen again.
63 * loader/icon/IconDataCache.cpp:
64 (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke
65 this into an UPDATE attempt followed by the initial INSERT
66 * loader/icon/IconDatabase.cpp:
67 (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening
68 in the future. Note this change will not cause incompatibility with the current schema, therefore I didn't update
69 the official database version number
70 (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future
71 * loader/icon/SQLDatabase.cpp:
72 (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row
73 * loader/icon/SQLDatabase.h: Ditto
75 2006-08-31 Sam Weinig <sam.weinig@gmail.com>
79 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10653
80 Auto-generate another 20 Objective-C DOM HTML bindings
82 Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement,
83 DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement,
84 DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement,
85 DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement,
86 DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement,
87 DOMHTMLTextAreaElement, and DOMHTMLUListElement.
89 * DerivedSources.make:
90 * WebCore.xcodeproj/project.pbxproj:
91 * bindings/objc/DOM.mm:
92 * bindings/objc/DOMExtensions.h:
93 * bindings/objc/DOMHTML.h:
94 * bindings/objc/DOMHTML.mm:
95 (-[DOMHTMLInputElement altDisplayString]):
96 (-[DOMHTMLInputElement absoluteImageURL]):
97 (-[DOMHTMLInputElement WebCore::]):
98 (-[DOMHTMLInputElement _rectOnScreen]):
99 (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
100 (-[DOMHTMLInputElement _selectedRange]):
101 (-[DOMHTMLInputElement _setAutofilled:]):
102 * bindings/objc/DOMHTMLInternal.h:
103 * bindings/objc/DOMPrivate.h:
104 * bindings/scripts/CodeGeneratorObjC.pm:
106 2006-08-31 Adele Peterson <adele@apple.com>
108 Reviewed by John Sullivan.
110 Removing use of SPI in favor of Carbon API to enable and disable secure event input.
112 * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
113 * platform/mac/WebCoreSystemInterface.h: ditto.
114 * platform/mac/WebCoreSystemInterface.mm: ditto.
116 * bridge/mac/FrameMac.mm:
117 (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
118 (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.
120 2006-08-30 Brady Eidson <beidson@apple.com>
122 Reviewed by "common sense" (and Maciej)
124 Fixed two logging typos
126 * loader/icon/IconDatabase.cpp:
127 (WebCore::IconDatabase::syncDatabase):
129 2006-08-30 Adele Peterson <adele@apple.com>
131 Adding missing nil check for focus node.
133 * page/Frame.cpp: (WebCore::Frame::setIsActive):
135 2006-08-30 Adele Peterson <adele@apple.com>
139 WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10575
140 Enable secure input mode for new password fields
142 * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
143 * platform/mac/WebCoreSystemInterface.h: ditto.
144 * platform/mac/WebCoreSystemInterface.mm: ditto.
146 * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
147 * bridge/mac/FrameMac.h:
148 * bridge/mac/FrameMac.mm:
149 (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
150 (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
151 * html/HTMLInputElement.cpp:
152 (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
153 (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
155 (WebCore::Frame::setSecureKeyboardEntry):
156 (WebCore::Frame::secureKeyboardEntry):
158 2006-08-30 Darin Adler <darin@apple.com>
160 Reviewed by Tim Hatcher.
162 - eliminated the need for UsesPassRefPtr in IDL files
163 - got rid of the category mechanism for ObjC generated DOM headers
164 (after discussions with Tim H where we decided it's not needed)
165 - simplified use of macro inside ObjC generated code
167 * ForwardingHeaders/wtf/GetPtr.h: Added.
169 * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
170 categories. Eliminated use of DOM_cast since that's for the protection
171 of human programmers -- the script won't make mistakes that it needs
172 to catch. Changed macro to always be named IMPL instead of incorporating
173 the class name. Use WTF::getPtr to extract the pointer, and removed the
174 code that uses .get() to extract the pointer in the PassRefPtr case.
176 * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
177 * dom/DOMImplementation.idl: Ditto.
178 * dom/Document.idl: Ditto.
179 * dom/Element.idl: Ditto.
180 * dom/NamedNodeMap.idl: Ditto.
181 * html/HTMLDocument.idl: Ditto.
182 * html/HTMLElement.idl: Ditto.
183 * html/HTMLFormElement.idl: Ditto.
184 * html/HTMLMapElement.idl: Ditto.
185 * html/HTMLSelectElement.idl: Ditto.
186 * html/HTMLTableElement.idl: Ditto.
187 * html/HTMLTableRowElement.idl: Ditto.
188 * html/HTMLTableSectionElement.idl: Ditto.
190 2006-08-30 Brady Eidson <beidson@apple.com>
194 <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their
195 ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
196 run as if it was disabled via a preference.
197 Also took the opportunity to change some ASSERTS() to reasonable behavior
199 * bridge/mac/WebCoreIconDatabaseBridge.mm:
200 (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure
201 out there's a problem.
202 (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
203 (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
204 (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
205 (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
206 (-[WebCoreIconDatabaseBridge retainIconForURL:]):
207 (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
208 (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
209 (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
210 (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
211 (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
212 * loader/icon/IconDatabase.cpp:
213 (WebCore::IconDatabase::open): If we fail to open, return false
214 (WebCore::IconDatabase::~IconDatabase): cleanup better
215 * loader/icon/IconDatabase.h:
217 2006-08-30 David Harrison <harrison@apple.com>
219 Reviewed by John Sullivan.
221 <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
222 <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute
224 * bridge/mac/WebCoreAXObject.mm:
225 (-[WebCoreAXObject canSetFocusAttribute]):
226 (-[WebCoreAXObject canSetValueAttribute]):
227 New utility methods. Text fields and buttons are focusable.
228 Text fields can have their value set. We need not make
229 popupbutton value settable because AppKit does not.
231 (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
232 Call new utility methods.
234 (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
235 Set focus for text field or button.
236 Set value for text field.
238 2006-08-30 David Hyatt <hyatt@apple.com>
240 Fix for bugs 9000 and 10606. Add code to suppress painting when
241 a FOUC situation would otherwise occur. There will still typically be
242 a flash to white, but at least the wrong content won't show.
247 (WebCore::Document::Document):
248 (WebCore::Document::updateLayoutIgnorePendingStylesheets):
249 (WebCore::Document::preferredStylesheetSet):
250 (WebCore::Document::selectedStylesheetSet):
251 (WebCore::Document::setSelectedStylesheetSet):
252 (WebCore::Document::stylesheetLoaded):
253 (WebCore::Document::updateStyleSelector):
255 (WebCore::Document::haveStylesheetsLoaded):
256 * rendering/RenderBlock.cpp:
257 (WebCore::RenderBlock::paintChildren):
258 * rendering/RenderLayer.cpp:
259 (WebCore::RenderLayer::paintLayer):
260 (WebCore::isSubframe):
261 (WebCore::RenderLayer::hitTest):
262 * rendering/RenderView.cpp:
263 (WebCore::RenderView::repaintViewRectangle):
265 2006-08-31 Nikolas Zimmermann <zimmermann@kde.org>
267 Reviewed by Eric. Landed by rwlbuis.
269 Apply Rob's fixes in RenderPathQt too -> unbreak build.
271 * kcanvas/RenderPath.h: Some style cleanups.
272 * kcanvas/device/qt/RenderPathQt.cpp:
273 (WebCore::RenderPathQt::strokeContains):
274 * kcanvas/device/qt/RenderPathQt.h:
276 2006-08-30 Sam Weinig <sam.weinig@gmail.com>
279 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10640
280 Auto-generate 10 more Objective-C DOM HTML bindings
282 Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
283 DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
284 DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
286 Splits DOMHTMLDocument into it's own files.
288 * DerivedSources.make:
289 * WebCore.xcodeproj/project.pbxproj:
290 * bindings/objc/DOM.mm:
291 * bindings/objc/DOMExtensions.h:
292 * bindings/objc/DOMHTML.h:
293 * bindings/objc/DOMHTML.mm:
294 * bindings/objc/DOMHTMLDocument.h: Added.
295 * bindings/objc/DOMHTMLDocument.mm: Added.
296 (-[DOMHTMLDocument WebCore::]):
297 (-[DOMHTMLDocument title]):
298 (-[DOMHTMLDocument setTitle:]):
299 (-[DOMHTMLDocument referrer]):
300 (-[DOMHTMLDocument domain]):
301 (-[DOMHTMLDocument URL]):
302 (-[DOMHTMLDocument body]):
303 (-[DOMHTMLDocument setBody:]):
304 (-[DOMHTMLDocument images]):
305 (-[DOMHTMLDocument applets]):
306 (-[DOMHTMLDocument links]):
307 (-[DOMHTMLDocument forms]):
308 (-[DOMHTMLDocument anchors]):
309 (-[DOMHTMLDocument cookie]):
310 (-[DOMHTMLDocument setCookie:]):
311 (-[DOMHTMLDocument open]):
312 (-[DOMHTMLDocument close]):
313 (-[DOMHTMLDocument write:]):
314 (-[DOMHTMLDocument writeln:]):
315 (-[DOMHTMLDocument getElementById:]):
316 (-[DOMHTMLDocument getElementsByName:]):
317 (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
318 (-[DOMHTMLDocument createDocumentFragmentWithText:]):
319 * bindings/objc/DOMHTMLInternal.h:
320 * bindings/scripts/CodeGeneratorObjC.pm:
321 * html/HTMLDocument.idl:
323 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
327 Use QColor <-> Color conversion operator, instead of faking it.
329 * platform/qt/FontQt.cpp:
330 (WebCore::Font::drawGlyphs):
331 * platform/qt/GraphicsContextQt.cpp:
332 (WebCore::GraphicsContext::fillRect):
334 2006-08-30 Rob Buis <buis@kde.org>
338 http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
339 pointer-events has issues when things are not stroked/filled
341 Add a param to fillContains/strokeContains to indicate
342 whether we still want hit testing when there is no fill/stroke.
344 * kcanvas/RenderPath.cpp:
345 (WebCore::RenderPath::fillContains):
346 (WebCore::RenderPath::nodeAtPoint):
347 * kcanvas/RenderPath.h:
348 * kcanvas/device/quartz/KCanvasItemQuartz.h:
349 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
350 (WebCore::KCanvasItemQuartz::strokeContains):
352 2006-08-29 Justin Garcia <justin.garcia@apple.com>
356 <rdar://problem/4700297>
357 REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line
359 * editing/ReplaceSelectionCommand.cpp:
360 (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
361 around insertionPos before insertion because the content might
362 cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
363 * editing/htmlediting.cpp:
364 (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
365 for simplicity, we can produce sequences of regular spaces and
366 nbsps on serialization (10636).
368 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
372 The old solution was slow & does not work correctly.
373 Move the QString -> DeprecatedString conversion into
374 DeprectedString.cpp, to be able to access allocateHandle().
376 * platform/DeprecatedString.cpp:
377 (WebCore::DeprecatedString::DeprecatedString):
378 * platform/qt/StringQt.cpp:
380 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
382 Reviewed/landed by Adam.
384 Implement containsCharacters() / determinePitch() functions.
386 * platform/qt/FontDataQt.cpp:
387 (WebCore::FontData::containsCharacters):
388 (WebCore::FontData::determinePitch):
390 2006-08-30 Brady Eidson <beidson@apple.com>
392 Reviewed by Darin's rubberstamp
394 We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
396 * WebCore.xcodeproj/project.pbxproj:
397 * loader/icon/IconDatabase.cpp:
398 (WebCore::IconDatabase::removeAllIcons):
400 2006-08-29 waylonis <waylonis@google.com>
402 Reviewed, tweaked by ggaren.
404 - Changed to use ExecState on current context rather than global.
405 Part of the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10114
406 * bindings/objc/WebScriptObject.mm:
407 (+[WebScriptObject throwException:]):
408 (-[WebScriptObject setException:]):
410 2006-08-30 Adele Peterson <adele@apple.com>
414 - WebCore part of fix for:
415 http://bugzilla.opendarwin.org/show_bug.cgi?id=10576
416 Disallow copy from new password fields
418 * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
419 * page/Frame.h: Added mayCopy.
421 * bridge/mac/FrameMac.h:
422 * bridge/mac/FrameMac.mm:
423 (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
424 (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method. This also checks mayCopy now.
425 (WebCore::FrameMac::mayDHTMLCopy): ditto.
426 (WebCore::FrameMac::tryDHTMLCut): ditto.
427 (WebCore::FrameMac::tryDHTMLCopy): ditto.
428 (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
429 (WebCore::FrameMac::tryDHTMLPaste): ditto.
430 * bridge/mac/WebCoreFrameBridge.h:
431 * bridge/mac/WebCoreFrameBridge.mm:
432 (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
433 (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
434 (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
435 (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
436 (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
437 (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
438 (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.
440 * css/html4.css: Added !important to the -webkit-text-security property for password fields.
442 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
446 Commit KDE related tweaks, to be able to
447 differentiate between a Qt-only or a KDE build.
449 * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
450 Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
452 2006-08-30 Timothy Hatcher <timothy@apple.com>
454 Rubber-stamped by Brady.
456 Fix for the generated headers to make the build work
457 during "installhdrs" builds. Also export DOM headers
458 using the #import <WebCore/DOM*.h> syntax.
460 * WebCore.xcodeproj/project.pbxproj:
461 * bindings/scripts/CodeGeneratorObjC.pm:
463 2006-08-29 Brady Eidson <beidson@apple.com>
465 Reviewed by Kevin Decker (Sarge)
467 <rdar://problem/4678414> - New IconDB needs to delete icons when asked
468 <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
470 * bridge/mac/WebCoreIconDatabaseBridge.h:
471 * bridge/mac/WebCoreIconDatabaseBridge.mm:
472 (-[WebCoreIconDatabaseBridge removeAllIcons]): Added
473 * loader/icon/IconDatabase.cpp:
474 (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
475 (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
476 (WebCore::IconDatabase::removeAllIcons): Actually implemented
477 (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
478 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
479 * loader/icon/IconDatabase.h:
480 * loader/icon/SQLDatabase.cpp:
481 (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
482 (WebCore::SQLDatabase::vacuum): Added
483 * loader/icon/SQLDatabase.h:
484 (WebCore::SQLDatabase::path): changed name from getPath()
486 2006-08-29 Brady Eidson <beidson@apple.com>
490 Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
491 This is a win on the iBench
493 * bridge/mac/WebCoreIconDatabaseBridge.h:
494 * bridge/mac/WebCoreIconDatabaseBridge.mm:
495 (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
496 * loader/icon/IconDatabase.cpp:
497 (WebCore::IconDatabase::setIconURLForPageURL):
498 * loader/icon/IconDatabase.h:
500 2006-08-29 Alice Liu <alice.liu@apple.com>
504 Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
506 * platform/mac/ScreenMac.mm:
507 (WebCore::flipScreenRect):
508 reverted the one line in this method back to what it was before r15765. This changed caused window.screenY to be incorrect.
510 2006-08-29 Darin Adler <darin@apple.com>
514 - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
516 The bug was that we would return "none" for computed style properties when they were
519 Test: fast/css/computed-style-negative-top.html
521 * css/CSSComputedStyleDeclaration.cpp:
522 (WebCore::valueForLength): Moved special case for "undefined length" out of here.
523 (WebCore::valueForMaxLength): Moved it into here.
524 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
525 only for max-height and max-width.
527 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
531 Add path-related SVG JavaScript bindings to generation.
535 2006-08-29 Eric Seidel <eric@eseidel.com>
539 Re-enable path-related SVG JavaScript bindings.
540 http://bugzilla.opendarwin.org/show_bug.cgi?id=10623
541 Split all SVGPathSeg*.idl files into Abs and Rel pieces.
542 Move all SVGPath*.idl files into ksvg2/svg
544 * DerivedSources.make:
545 * WebCore.xcodeproj/project.pbxproj:
546 * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
547 * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
548 * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
549 * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
550 * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
551 * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
552 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
553 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
554 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
555 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
556 * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
557 * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
558 * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
559 * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
560 * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
561 * ksvg2/ksvg.h: move SVGPathSegment enum
562 * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
563 (WebCore::SVGPathElement::toPathData):
564 * ksvg2/svg/SVGPathSeg.cpp:
565 (WebCore::SVGPathSeg::SVGPathSeg):
566 * ksvg2/svg/SVGPathSeg.h:
567 (WebCore::SVGPathSeg::):
568 * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
569 * ksvg2/svg/SVGPathSegArcRel.idl: Added.
570 * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
571 * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
572 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
573 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
574 * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
575 * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
576 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
577 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
578 * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
579 * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
580 * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
581 * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
582 * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
583 * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
584 * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
585 * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
587 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
589 Reviewed by Eric, landed by Anders.
591 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
593 Finish Unity merging. Remove libcurl usage, in favour of KIO.
594 This makes the regression testing fly! IO processing is way faster now.
597 * platform/ResourceLoaderInternal.h:
598 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
599 * platform/qt/FrameQt.cpp:
600 (WebCore::FrameQt::openURL):
601 (WebCore::FrameQt::submitForm):
602 (WebCore::FrameQt::urlSelected):
603 (WebCore::FrameQt::createEmptyDocument):
604 (WebCore::FrameQt::receivedData):
605 (WebCore::FrameQt::receivedAllData):
606 * platform/qt/FrameQt.h:
607 * platform/qt/ResourceLoaderCurl.cpp: Removed.
608 * platform/qt/ResourceLoaderManager.cpp:
609 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
610 (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
611 (WebCore::ResourceLoaderManager::self):
612 (WebCore::ResourceLoaderManager::slotData):
613 (WebCore::ResourceLoaderManager::slotMimetype):
614 (WebCore::ResourceLoaderManager::slotResult):
615 (WebCore::ResourceLoaderManager::remove):
616 (WebCore::ResourceLoaderManager::add):
617 * platform/qt/ResourceLoaderManager.h:
618 * platform/qt/ResourceLoaderQt.cpp: Added.
619 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
620 (WebCore::ResourceLoader::~ResourceLoader):
621 (WebCore::ResourceLoader::start):
622 (WebCore::ResourceLoader::cancel):
623 (WebCore::ResourceLoader::assembleResponseHeaders):
624 (WebCore::ResourceLoader::retrieveCharset):
625 (WebCore::ResourceLoader::receivedResponse):
627 2006-08-29 Timothy Hatcher <timothy@apple.com>
631 Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
632 http://bugzilla.opendarwin.org/show_bug.cgi?id=10632
634 Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
635 This is backwards compatible with the getter/setter methods.
636 Generate setter arguments with a "new" prefix to avoid the property
637 name conflict warning. Also removes some whitespace and the comments
638 that we added to the headers. This makes the headers look like what we ship now.
640 * bindings/objc/DOMCSS.mm:
641 (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
642 (-[DOMDocument getMatchedCSSRules::]): ditto.
643 * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
645 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
647 Reviewed and landed by Anders.
649 Fix time calculation, by using a correct calculation. Calling time()
650 returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
651 Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
653 * platform/qt/SystemTimeQt.cpp:
654 (WebCore::currentTime):
656 2006-08-29 Sam Weinig <sam.weinig@gmail.com>
660 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
661 Auto-generate the remaining Objective-C DOM bindings
663 Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
664 and DOMHTMLOptionsCollection, and lays groundwork for the rest of the
665 HTML DOM bindings by adding/fixing the appropriate IDL's and updating
666 the CodeGeneratorObjC.pm build script.
668 * DerivedSources.make:
669 * WebCore.xcodeproj/project.pbxproj:
670 * bindings/objc/DOM.mm:
671 * bindings/objc/DOMExtensions.h:
672 * bindings/objc/DOMHTML.h:
673 * bindings/objc/DOMHTML.mm:
674 * bindings/objc/DOMHTMLInternal.h:
675 * bindings/scripts/CodeGeneratorObjC.pm:
676 * html/HTMLAnchorElement.idl:
677 * html/HTMLAreaElement.idl:
678 * html/HTMLBaseFontElement.idl:
679 * html/HTMLBodyElement.idl:
680 * html/HTMLButtonElement.idl:
681 * html/HTMLCollection.idl: Added.
682 * html/HTMLDocument.idl:
683 * html/HTMLElement.idl:
684 * html/HTMLFormElement.idl:
685 * html/HTMLFrameElement.idl: Added.
686 * html/HTMLFrameSetElement.idl: Added.
687 * html/HTMLIFrameElement.idl: Added.
688 * html/HTMLImageElement.idl:
689 * html/HTMLInputElement.idl:
690 * html/HTMLLabelElement.idl:
691 * html/HTMLLegendElement.idl:
692 * html/HTMLLinkElement.idl:
693 * html/HTMLMapElement.idl:
694 * html/HTMLObjectElement.idl: Added.
695 * html/HTMLOptionsCollection.idl:
696 * html/HTMLPreElement.idl:
697 * html/HTMLSelectElement.idl: Added.
698 * html/HTMLStyleElement.idl:
699 * html/HTMLTableCaptionElement.idl: Added.
700 * html/HTMLTableCellElement.idl: Added.
701 * html/HTMLTableColElement.idl: Added.
702 * html/HTMLTableElement.idl: Added.
703 * html/HTMLTableRowElement.idl: Added.
704 * html/HTMLTableSectionElement.idl: Added.
705 * html/HTMLTextAreaElement.idl:
707 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
709 Reviewed and landed by ap.
711 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10629.
712 Drawing convex polygons is broken in the Qt platform.
714 * platform/qt/GraphicsContextQt.cpp:
715 (WebCore::GraphicsContext::drawConvexPolygon):
717 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
721 Implementing font hashing properly, fixes weird crashes in HashMap.
723 * platform/qt/FontPlatformData.h:
724 * platform/qt/FontPlatformDataQt.cpp:
725 (WebCore::FontPlatformData::FontPlatformData):
726 (WebCore::FontPlatformData::hash):
728 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
732 Fix scrollbars to reappear after the first layouting.
734 * platform/qt/ScrollViewQt.cpp:
735 (WebCore::ScrollView::suppressScrollBars):
737 2006-08-29 Anders Carlsson <acarlsson@apple.com>
739 Reviewed by Darin and Geoff.
741 Move the CF String functions to separate files in platform/cf.
742 Also, move the files in platform/cfnet to platform/cf.
744 * WebCore.xcodeproj/project.pbxproj:
745 * platform/PlatformString.h:
746 * platform/StringImpl.h:
747 * platform/cf/StringCF.cpp: Added.
748 (WebCore::String::String):
749 * platform/cf/StringImplCF.cpp: Added.
750 (WebCore::StringImpl::createCFString):
751 * platform/cfnet/KURLCFNet.cpp: Removed.
752 * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
753 * platform/mac/StringImplMac.mm:
754 * platform/mac/StringMac.mm:
756 2006-08-29 Geoffrey Garen <ggaren@apple.com>
758 Rolling out a change I included by accident in my last commit.
760 * bridge/mac/FrameMac.mm:
761 (WebCore::FrameMac::passMouseDownEventToWidget):
762 * platform/mac/SharedTimerMac.cpp:
763 (WebCore::setSharedTimerFireTime):
765 2006-08-28 Geoffrey Garen <ggaren@apple.com>
769 Added support for experimental CFNetwork-based loader (not turned on yet).
771 While I was there, I did the following platform cleanup:
772 - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
773 USE(CFNETWORK) idiom.
774 - Removed some #includes of windows.h in platform-independent headers.
775 - Changed #ifdef __APPLE__ to PLATFORM(MAC)
776 - Fixed some build bustage, including case-sensitive filesystem bustage.
779 (WebCore::Loader::receivedAllData):
782 * platform/ResourceLoader.h:
783 * platform/ResourceLoaderClient.h:
784 * platform/ResourceLoaderInternal.h:
785 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
786 * platform/cfnet/KURLCFNet.cpp: Added.
787 (WebCore::KURL::createCFURL):
788 * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
789 (WebCore::willSendRequest):
790 (WebCore::didReceiveChallenge):
791 (WebCore::didCancelChallenge):
792 (WebCore::didReceiveResponse):
793 (WebCore::didReceiveData):
794 (WebCore::didFinishLoading):
796 (WebCore::willCacheResponse):
797 (WebCore::addHeadersFromString):
798 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
799 (WebCore::ResourceLoader::~ResourceLoader):
800 (WebCore::arrayFromFormData):
801 (WebCore::emptyPerform):
802 (WebCore::runLoaderThread):
803 (WebCore::ResourceLoader::start):
804 (WebCore::ResourceLoader::cancel):
805 * platform/win/CursorWin.cpp:
807 2006-08-28 Justin Garcia <justin.garcia@apple.com>
811 <rdar://problem/4700341>
812 REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
814 * editing/ReplaceSelectionCommand.cpp:
815 (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
817 (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
819 2006-08-28 Tim Omernick <timo@apple.com>
821 Reviewed by John Sullivan.
823 Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
824 <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
827 No test cases added, since this is essentially a leak fix.
829 A brief history of NPP_GetValue(), NPObjects, and reference counting.
831 Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules. We failed to take
832 into account the fact that plug-ins are required to retain NPObjects before returning them. This creates several
833 classes of interesting plug-ins:
835 1) Plug-ins tested in WebKit and other browsers. These plug-ins may have WebKit-specific workarounds to not retain
836 the returned NPObject, thus avoiding the memory leak in WebKit.
838 2) Plug-ins tested only in other browsers. These plug-ins must already retain their NPObjects, since other browsers
839 implemented the NPRuntime retain/release rules correctly. These plug-ins likely work in WebKit, but probably leak
840 NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
842 3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
843 Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain. These plug-ins
844 work in older WebKits because WebKit did not expect the plug-in to retain the NPObject. Now that our retain
845 rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior. We could
846 potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
847 documented NPRuntime reference counting rules. Furthermore, it is extremely unlikely that someone would develop
848 a Netscape plug-in and test it *only* in WebKit. The entire purpose of creating a Netscape plugin is so that it
849 works in all browsers!
851 4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
852 These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
853 extra retain. A developer of this type of plug-in is probably unaware of the NPObject leak. A more savvy developer
854 would create a plug-in that fits into category #1.
856 I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
857 returned NPObject, and the browser is expected to release it when done. This means that plug-ins in category #3 need to be
858 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
859 this needs to be handled specifically by WebKit.
861 * bridge/mac/FrameMac.mm:
862 Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
863 retained NPObject. Also changed it to return an actual NPObject* instead of a void*. There is only one caller of this method,
864 and only one implementor. Using void* here is a needless abstraction. It's an NPObject*! Admit it!
865 (WebCore::getInstanceForView):
866 Release the NPObject after creating the bindings instance. This is the actual bug fix.
868 2006-08-28 Alice Liu <alice.liu@apple.com>
872 Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
875 (WebCore::Document::open):
876 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()
878 (WebCore::Frame::didExplicitOpen):
879 set the frame's url to the document's url
881 2006-08-28 Brady Eidson <beidson@apple.com>
883 Reviewed by Adele and Adam
885 Added an optimization to return early if there's no replacements to be made
887 * platform/StringImpl.cpp:
888 (WebCore::StringImpl::replace):
890 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
892 Reviewed and landed by ap.
894 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
895 Provide stub implementation of RenderPopupMenuQt.
898 * platform/qt/RenderPopupMenuQt.cpp: Added.
899 (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
900 (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
901 (WebCore::RenderPopupMenuQt::clear):
902 (WebCore::RenderPopupMenuQt::populate):
903 (WebCore::RenderPopupMenuQt::showPopup):
904 (WebCore::RenderPopupMenuQt::hidePopup):
905 (WebCore::RenderPopupMenuQt::addSeparator):
906 (WebCore::RenderPopupMenuQt::addGroupLabel):
907 (WebCore::RenderPopupMenuQt::addOption):
908 * platform/qt/RenderPopupMenuQt.h: Added.
909 * platform/qt/RenderThemeQt.cpp:
910 (WebCore::RenderThemeQt::systemFont):
911 (WebCore::RenderThemeQt::createPopupMenu):
913 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
915 Reviewed and landed by ap.
917 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
918 Offer QString -> DeprecatedString conversion.
920 * platform/DeprecatedString.h:
921 * platform/qt/StringQt.cpp:
922 (WebCore::DeprecatedString::DeprecatedString):
924 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
926 Reviewed by Tim Hatcher.
928 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
930 * platform/qt/RenderThemeQt.cpp:
931 (WebCore::RenderThemeQt::systemFont):
932 Remove annoying notImplemented() usage in systemFont()
934 2006-08-28 David Harrison <harrison@apple.com>
938 <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
940 * bridge/mac/WebCoreAXObject.mm:
941 (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
942 Add AXStyleTextMarkerRangeForTextMarker.
946 Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
948 (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
949 Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
951 (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
952 Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
954 2006-08-28 David Harrison <harrison@apple.com>
958 <rdar://problem/4517383> Hide all images used for spacing purpose in AX
960 * bridge/mac/WebCoreAXObject.mm:
961 (-[WebCoreAXObject accessibilityIsIgnored]):
962 Check for one-dimensional image
963 Check whether rendered image was stretched from one-dimensional file image
965 2006-08-27 Brady Eidson <beidson@apple.com>
969 Rewrote StringImpl::replace(UChar, StringImpl*)
971 * platform/StringImpl.cpp:
972 (WebCore::StringImpl::replace):
974 2006-08-27 Sam Weinig <sam.weinig@gmail.com>
978 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
979 WebCore needs autogenerated Obj-C DOM bindings
981 First round of auto-generated Objective C DOM bindings, starting
984 * DerivedSources.make:
985 * WebCore.xcodeproj/project.pbxproj:
986 * bindings/objc/DOM.mm:
987 (-[DOMNode description]):
988 (-[DOMNode KJS::Bindings::]):
989 (-[DOMNode dispatchEvent:]):
990 (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
991 (+[DOMNamedNodeMap _namedNodeMapWith:]):
992 (-[DOMNodeList _initWithNodeList:]):
993 (+[DOMNodeList _nodeListWith:]):
994 (-[DOMImplementation _initWithDOMImplementation:]):
995 (+[DOMImplementation _DOMImplementationWith:]):
996 (-[DOMImplementation _DOMImplementation]):
997 (+[DOMDocumentFragment _documentFragmentWith:]):
998 (-[DOMDocumentFragment _fragment]):
999 (-[DOMDocument createCSSStyleDeclaration]):
1000 (+[DOMDocument _documentWith:]):
1001 (-[DOMDocument _document]):
1002 (-[DOMDocument _ownerElement]):
1003 (+[DOMAttr _attrWith:]):
1005 (+[DOMDocumentType _documentTypeWith:WebCore::]):
1006 (-[DOMDocumentType WebCore::]):
1007 (+[DOMText _textWith:WebCore::]):
1008 (+[DOMComment _commentWith:WebCore::]):
1009 (+[DOMCDATASection _CDATASectionWith:WebCore::]):
1010 (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
1011 (+[DOMEntityReference _entityReferenceWith:WebCore::]):
1012 * bindings/objc/DOMCSS.h:
1013 * bindings/objc/DOMCSS.mm:
1014 * bindings/objc/DOMCore.h:
1015 * bindings/objc/DOMEvents.h:
1016 * bindings/objc/DOMEvents.mm:
1017 * bindings/objc/DOMExtensions.h:
1018 * bindings/objc/DOMHTML.mm:
1019 (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
1020 * bindings/objc/DOMHTMLInternal.h:
1021 * bindings/objc/DOMImplementationFront.h:
1022 * bindings/objc/DOMInternal.h:
1023 * bindings/objc/DOMNode.h: Added.
1024 * bindings/objc/DOMNode.mm: Added.
1025 (-[DOMNode dealloc]):
1026 (-[DOMNode finalize]):
1027 (-[DOMNode nodeName]):
1028 (-[DOMNode nodeValue]):
1029 (-[DOMNode setNodeValue:]):
1030 (-[DOMNode nodeType]):
1031 (-[DOMNode parentNode]):
1032 (-[DOMNode childNodes]):
1033 (-[DOMNode firstChild]):
1034 (-[DOMNode lastChild]):
1035 (-[DOMNode previousSibling]):
1036 (-[DOMNode nextSibling]):
1037 (-[DOMNode attributes]):
1038 (-[DOMNode ownerDocument]):
1039 (-[DOMNode insertBefore::]):
1040 (-[DOMNode replaceChild::]):
1041 (-[DOMNode removeChild:]):
1042 (-[DOMNode appendChild:]):
1043 (-[DOMNode hasChildNodes]):
1044 (-[DOMNode cloneNode:]):
1045 (-[DOMNode normalize]):
1046 (-[DOMNode isSupported::]):
1047 (-[DOMNode namespaceURI]):
1048 (-[DOMNode prefix]):
1049 (-[DOMNode setPrefix:]):
1050 (-[DOMNode localName]):
1051 (-[DOMNode hasAttributes]):
1052 (-[DOMNode isSameNode:]):
1053 (-[DOMNode isEqualNode:]):
1054 (-[DOMNode isDefaultNamespace:]):
1055 (-[DOMNode lookupPrefix:]):
1056 (-[DOMNode lookupNamespaceURI:]):
1057 (-[DOMNode textContent]):
1058 (-[DOMNode setTextContent:]):
1059 (-[DOMNode boundingBox]):
1060 (-[DOMNode lineBoxRects]):
1061 * bindings/objc/DOMObject.h: Added.
1062 * bindings/objc/DOMObject.mm: Added.
1063 (-[DOMObject init]):
1064 (-[DOMObject dealloc]):
1065 (-[DOMObject finalize]):
1066 (-[DOMObject copyWithZone:]):
1067 (-[DOMObject sheet]):
1068 * bindings/objc/DOMPrivate.h:
1069 * bindings/objc/DOMRange.h:
1070 * bindings/objc/DOMStylesheets.h:
1071 * bindings/objc/DOMTraversal.h:
1072 * bindings/objc/DOMViews.h:
1073 * bindings/objc/DOMViews.mm:
1074 * bindings/objc/DOMXPath.h:
1075 * bindings/objc/DOMXPath.mm:
1076 * bindings/scripts/CodeGenerator.pm:
1077 * bindings/scripts/CodeGeneratorJS.pm:
1078 * bindings/scripts/CodeGeneratorObjC.pm: Added.
1080 * dom/CDATASection.idl: Added.
1081 * dom/Comment.idl: Added.
1082 * dom/DOMImplementation.idl:
1085 * dom/EntityReference.idl: Added.
1086 * dom/NamedNodeMap.idl: Added.
1087 * dom/NodeList.idl: Added.
1088 * dom/ProcessingInstruction.idl:
1090 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
1094 Fix crash in LayoutTests/css1/font_properties/font.html,
1095 by implementing FontData::smallCapsFontData.
1097 * platform/qt/FontDataQt.cpp:
1098 (WebCore::FontData::platformDestroy):
1099 (WebCore::FontData::smallCapsFontData):
1101 2006-08-27 Brady Eidson <beidson@apple.com>
1105 Plugged a leak in StringImpl::replace()
1107 * platform/StringImpl.cpp:
1108 (WebCore::StringImpl::replace):
1110 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
1112 Reviewed and landed by Anders.
1114 Remove most annoying notImplemented() usages and
1115 implement some missing ScrollViewQt functions.
1116 Much nicer output when invoking run-webkit-tests.
1118 * platform/qt/FrameQt.cpp:
1119 (WebCore::FrameQt::saveDocumentState):
1120 (WebCore::FrameQt::restoreDocumentState):
1121 (WebCore::FrameQt::clearUndoRedoOperations):
1122 (WebCore::FrameQt::partClearedInBegin):
1123 * platform/qt/ResourceLoaderManager.cpp:
1124 (WebCore::headerCallback):
1125 (WebCore::ResourceLoaderManager::downloadTimerCallback):
1126 * platform/qt/ScrollViewQt.cpp:
1127 (WebCore::ScrollView::updateContents):
1128 (WebCore::ScrollView::suppressScrollBars):
1129 (WebCore::ScrollView::setStaticBackground):
1130 (WebCore::ScrollView::addChild):
1131 (WebCore::ScrollView::removeChild):
1132 * platform/qt/TemporaryLinkStubs.cpp:
1133 (WebCore::historyContains):
1134 (WebCore::CheckCacheObjectStatus):
1135 (WebCore::CheckIfReloading):
1136 (loadResourceIntoArray):
1137 (WebCore::PlugInInfoStore::supportsMIMEType):
1139 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
1141 Reviewed and landed by Anders.
1143 Fix Qt build (add SVGMetaDataElement.cpp to build system)
1147 2006-08-27 Eric Seidel <eric@eseidel.com>
1149 Reviewed by andersca.
1151 No logic changes. Just cleanup.
1153 * ksvg2/svg/SVGAngle.cpp:
1154 (SVGAngle::SVGAngle):
1155 (SVGAngle::unitType):
1156 (SVGAngle::valueAsString):
1157 (SVGAngle::newValueSpecifiedUnits):
1158 (SVGAngle::convertToSpecifiedUnits):
1159 * ksvg2/svg/SVGAngle.h:
1160 * ksvg2/svg/SVGLength.cpp:
1161 (WebCore::SVGLength::unitType):
1162 (WebCore::SVGLength::newValueSpecifiedUnits):
1163 (WebCore::SVGLength::convertToSpecifiedUnits):
1164 (WebCore::SVGLength::updateValue):
1165 (WebCore::SVGLength::updateValueInSpecifiedUnits):
1166 * ksvg2/svg/SVGLength.h:
1167 * platform/BitmapImage.cpp: Removed.
1168 * platform/BitmapImage.h: Removed.
1170 2006-08-27 Brady Eidson <beidson@apple.com>
1174 -Changed all of the commonly used queries to keep around pre-prepared statements and bind
1175 their arguments instead of constructing a new, messy, string appended statement each time
1176 -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
1178 * loader/icon/IconDatabase.cpp:
1179 (WebCore::IconDatabase::IconDatabase): Initializers
1180 (WebCore::IconDatabase::close): Wipe all the preprepared statements
1181 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
1182 (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
1183 (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
1184 (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
1185 (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
1186 (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
1187 (WebCore::IconDatabase::forgetPageURLQuery): ditto
1188 (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
1189 (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
1190 (WebCore::IconDatabase::addIconForIconURLQuery): ditto
1191 (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
1192 * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
1193 * loader/icon/SQLStatement.h:
1194 (WebCore::SQLStatement::database): Added
1196 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
1202 * platform/qt/ScrollViewQt.cpp:
1203 (WebCore::ScrollView::setHScrollBarMode):
1204 (WebCore::ScrollView::setVScrollBarMode):
1206 2006-08-27 Rob Buis <buis@kde.org>
1210 http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
1211 KCanvasPath should be replace by platform/Path
1213 Refactoring out the KCanvasPath class.
1216 * WebCore.xcodeproj/project.pbxproj:
1217 * kcanvas/KCanvasCreator.cpp:
1218 (WebCore::KCanvasCreator::createRoundedRectangle):
1219 (WebCore::KCanvasCreator::createRectangle):
1220 (WebCore::KCanvasCreator::createEllipse):
1221 (WebCore::KCanvasCreator::createCircle):
1222 (WebCore::KCanvasCreator::createLine):
1223 * kcanvas/KCanvasCreator.h:
1224 * kcanvas/KCanvasPath.cpp: Removed.
1225 * kcanvas/KCanvasPath.h: Removed.
1226 * kcanvas/KCanvasResources.cpp:
1227 (WebCore::operator<<):
1228 (WebCore::KCanvasResource::clients):
1229 (WebCore::KCanvasResource::invalidate):
1230 (WebCore::KCanvasClipper::addClipData):
1231 * kcanvas/KCanvasResources.h:
1232 (WebCore::KCClipData::windRule):
1233 (WebCore::KCClipDataList::KCClipDataList):
1234 (WebCore::KCClipDataList::addPath):
1235 * kcanvas/KCanvasTreeDebug.cpp:
1236 (WebCore::operator<<):
1237 * kcanvas/RenderPath.cpp:
1238 (WebCore::RenderPath::fillContains):
1239 (WebCore::RenderPath::relativeBBox):
1240 (WebCore::RenderPath::setPath):
1241 (WebCore::RenderPath::path):
1242 (WebCore::RenderPath::paint):
1243 (WebCore::RenderPath::nodeAtPoint):
1244 * kcanvas/RenderPath.h:
1245 * kcanvas/device/KRenderingDevice.h:
1246 * kcanvas/device/KRenderingFillPainter.cpp:
1247 (WebCore::KRenderingFillPainter::fillRule):
1248 (WebCore::KRenderingFillPainter::setFillRule):
1249 * kcanvas/device/KRenderingFillPainter.h:
1250 * kcanvas/device/qt/KCanvasClipperQt.cpp:
1251 (WebCore::KCanvasClipperQt::applyClip):
1252 * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
1253 * kcanvas/device/qt/KCanvasPathQt.h: Removed.
1254 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1255 (WebCore::KRenderingDeviceContextQt::addPath):
1256 (WebCore::KRenderingDeviceContextQt::setFillRule):
1257 (WebCore::KRenderingDeviceQt::createItem):
1258 * kcanvas/device/qt/KRenderingDeviceQt.h:
1259 * kcanvas/device/qt/RenderPathQt.cpp:
1260 (WebCore::RenderPathQt::drawMarkersIfNeeded):
1261 (WebCore::RenderPathQt::strokeContains):
1262 (WebCore::getPathStroke):
1263 (WebCore::RenderPathQt::strokeBBox):
1264 * kcanvas/device/qt/RenderPathQt.h:
1265 * kcanvas/device/quartz/KCanvasItemQuartz.h:
1266 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1267 (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
1268 (WebCore::KCanvasItemQuartz::strokeBBox):
1269 (WebCore::KCanvasItemQuartz::strokeContains):
1270 * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
1271 * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
1272 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1273 (WebCore::KCanvasClipperQuartz::applyClip):
1274 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1275 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1276 (WebCore::KRenderingDeviceContextQuartz::addPath):
1277 (WebCore::KRenderingDeviceQuartz::createItem):
1278 * kcanvas/device/quartz/QuartzSupport.h:
1279 * kcanvas/device/quartz/QuartzSupport.mm:
1280 (WebCore::scratchContext):
1281 (WebCore::strokeBoundingBox):
1282 (WebCore::pathContainsPoint):
1283 * ksvg2/css/SVGCSSParser.cpp:
1284 (WebCore::CSSParser::parseSVGValue):
1285 * ksvg2/css/SVGCSSStyleSelector.cpp:
1286 (WebCore::CSSStyleSelector::applySVGProperty):
1287 * ksvg2/css/SVGRenderStyle.h:
1288 (WebCore::SVGRenderStyle::InheritedFlags::):
1289 * ksvg2/css/SVGRenderStyleDefs.h:
1290 * ksvg2/misc/KCanvasRenderingStyle.cpp:
1291 (WebCore::KSVGPainterFactory::fillPainter):
1292 * ksvg2/svg/SVGCircleElement.cpp:
1293 (SVGCircleElement::toPathData):
1294 * ksvg2/svg/SVGCircleElement.h:
1295 * ksvg2/svg/SVGClipPathElement.cpp:
1296 (SVGClipPathElement::canvasResource):
1297 * ksvg2/svg/SVGEllipseElement.cpp:
1298 (WebCore::SVGEllipseElement::toPathData):
1299 * ksvg2/svg/SVGEllipseElement.h:
1300 * ksvg2/svg/SVGGradientElement.cpp:
1301 (SVGGradientElement::notifyAttributeChange):
1302 * ksvg2/svg/SVGImageElement.cpp:
1303 * ksvg2/svg/SVGLineElement.cpp:
1304 (SVGLineElement::toPathData):
1305 * ksvg2/svg/SVGLineElement.h:
1306 * ksvg2/svg/SVGMaskElement.cpp:
1307 * ksvg2/svg/SVGPathElement.cpp:
1308 (WebCore::SVGPathElement::toPathData):
1309 * ksvg2/svg/SVGPathElement.h:
1310 * ksvg2/svg/SVGPatternElement.cpp:
1311 (WebCore::SVGPatternElement::notifyClientsToRepaint):
1312 * ksvg2/svg/SVGPolygonElement.cpp:
1313 (SVGPolygonElement::toPathData):
1314 * ksvg2/svg/SVGPolygonElement.h:
1315 * ksvg2/svg/SVGPolylineElement.cpp:
1316 (SVGPolylineElement::toPathData):
1317 * ksvg2/svg/SVGPolylineElement.h:
1318 * ksvg2/svg/SVGRectElement.cpp:
1319 (WebCore::SVGRectElement::toPathData):
1320 * ksvg2/svg/SVGRectElement.h:
1321 * ksvg2/svg/SVGStyledElement.cpp:
1322 (WebCore::SVGStyledElement::createRenderer):
1323 * ksvg2/svg/SVGStyledElement.h:
1324 (WebCore::SVGStyledElement::toPathData):
1325 * ksvg2/svg/SVGTextContentElement.cpp:
1326 * ksvg2/svg/SVGTextElement.cpp:
1329 (WebCore::Path::setWindingRule):
1330 (WebCore::Path::windingRule):
1331 * platform/cg/PathCG.cpp:
1332 (WebCore::Path::contains):
1333 (WebCore::Path::isEmpty):
1334 (WebCore::CGPathToCFStringApplierFunction):
1335 (WebCore::CFStringFromCGPath):
1336 (WebCore::Path::debugString):
1337 * platform/qt/FrameQt.cpp:
1338 (WebCore::FrameQt::openURL):
1339 * platform/qt/PathQt.cpp:
1340 (WebCore::Path::contains):
1341 (WebCore::Path::isEmpty):
1342 (WebCore::Path::debugString):
1344 2006-08-26 Eric Seidel <eric@eseidel.com>
1348 pointer-events attribute does not work.
1349 http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
1351 * kcanvas/RenderPath.cpp:
1352 (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
1353 (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
1354 * kcanvas/RenderPath.h:
1355 (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
1356 * ksvg2/css/SVGCSSParser.cpp:
1357 (WebCore::CSSParser::parseSVGValue):
1358 * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
1359 (WebCore::SVGPaint::SVGPaint):
1360 (WebCore::SVGPaint::paintType):
1361 (WebCore::SVGPaint::uri):
1362 (WebCore::SVGPaint::setUri):
1363 (WebCore::SVGPaint::setPaint):
1364 * ksvg2/svg/SVGPaint.h:
1366 2006-08-27 Rob Buis <buis@kde.org>
1370 http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
1371 SVG should have support for <metadata> element
1373 Add support for metadata tag.
1375 * DerivedSources.make:
1376 * WebCore.xcodeproj/project.pbxproj:
1377 * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1378 * ksvg2/svg/SVGMetadataElement.cpp: Added.
1379 (SVGMetadataElement::SVGMetadataElement):
1380 (SVGMetadataElement::~SVGMetadataElement):
1381 * ksvg2/svg/SVGMetadataElement.h: Added.
1382 * ksvg2/svg/SVGMetadataElement.idl: Added.
1383 * ksvg2/svg/svgtags.in:
1385 2006-08-26 Nikolas Zimmermann <zimmermann@kde.org>
1389 Daily Qt build fixes :-)
1391 * platform/qt/GraphicsContextQt.cpp:
1392 (WebCore::GraphicsContext::drawConvexPolygon):
1393 * platform/qt/ImageQt.cpp:
1394 (WebCore::Image::initPlatformData):
1395 (WebCore::Image::invalidatePlatformData):
1396 (WebCore::Image::loadPlatformResource):
1398 2006-08-26 David Hyatt <hyatt@apple.com>
1400 Fix the ifdef in Path.h to be CG.
1404 2006-08-26 David Hyatt <hyatt@apple.com>
1406 Fix Mac build bustage (lots of float/int confusion). I am not sure
1407 whether rounding was desired or not... this is just a band-aid to get
1408 the build working again.
1410 * rendering/RenderThemeMac.mm:
1411 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1412 (WebCore::RenderThemeMac::paintMenuListButton):
1413 (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
1415 2006-08-25 David Hyatt <hyatt@apple.com>
1417 More refactoring of image to disentangle graphics (e.g., Cairo) from
1418 platform (e.g., Windows).
1420 * WebCore.vcproj/WebCore/WebCore.vcproj:
1421 Add ImageWin to project.
1424 (WebCore::Cache::init):
1425 * loader/icon/IconDataCache.cpp:
1426 (WebCore::IconDataCache::loadImageFromResource):
1427 Renamed loadResource to loadPlatformResource to try to make it more clear
1428 that this call is implemented on each OS (and not by graphics libraries).
1430 * platform/Image.cpp:
1431 (WebCore::Image::Image):
1432 (WebCore::Image::~Image):
1433 (WebCore::Image::invalidateData):
1434 (WebCore::Image::size):
1435 (WebCore::Image::setData):
1436 (WebCore::Image::setNativeData):
1437 Fix up the PDF code to not be considered platform data any more, since
1438 PDF rendering is not for a specific OS.
1440 Renamed the methods that set OS-specific data (like NSImage) to PlatformData
1441 instead of NativeData.
1444 Shifted the PDF members into CG defines. Made CGImageRef a CG define.
1445 Renamed methods to reflect that they are OS-specific and not
1446 graphics-library-specific.
1448 * platform/cairo/ImageCairo.cpp:
1449 Removed the platform data methods. Other platforms besides Windows that
1450 use Cairo will need to account for this change by adding these methods
1451 to their OS Image***.cpp file.
1453 * platform/cg/ImageCG.cpp:
1454 (WebCore::Image::drawTiled):
1455 Add FIXMEs to the wkpattern stuff.
1457 * platform/cg/PDFDocumentImage.cpp:
1458 Shouldn't have #imports in .cpp.
1460 * platform/mac/ImageMac.mm:
1461 (WebCore::Image::initPlatformData):
1462 (WebCore::Image::invalidatePlatformData):
1463 (WebCore::Image::loadPlatformResource):
1464 (WebCore::Image::getTIFFRepresentation):
1465 Add the platform data initializers to the Mac Image file. Move the
1466 TIFF representation there as well, since this is only used by Mac code.
1468 * platform/win/ImageWin.cpp: Added.
1469 (WebCore::Image::initPlatformData):
1470 (WebCore::Image::invalidatePlatformData):
1471 (WebCore::Image::loadPlatformResource):
1472 (WebCore::Image::supportsType):
1473 Similar work for Windows. Add stubs for possible future HBITMAP returns
1474 in the platform data methods.
1476 * rendering/RenderLayer.cpp:
1477 (WebCore::RenderLayer::paintResizeControl):
1478 * rendering/RenderThemeMac.mm:
1479 (WebCore::RenderThemeMac::paintResizeControl):
1480 loadResource -> loadPlatformResource
1482 2006-08-26 Adam Roben <aroben@apple.com>
1484 Rubber-stamped by Adele.
1488 * platform/cairo/GraphicsContextCairo.cpp:
1489 (WebCore::GraphicsContext::drawConvexPolygon):
1491 2006-08-25 Adele Peterson <adele@apple.com>
1493 Patch by Francisco, Reviewed by me.
1495 Preparation for switch to new text field implementation of password field.
1497 Added -webkit-text-security property.
1499 Tests: updated fast/css/computed-style-expected.txt
1501 * css/CSSPropertyNames.in: Added -webkit-text-security.
1502 * css/CSSComputedStyleDeclaration.cpp:
1504 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
1505 * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
1506 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
1507 * css/html4.css: Added style for password field to use -webkit-text-security.
1509 * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
1510 (WebCore::HTMLInputElement::selectionStart):
1511 (WebCore::HTMLInputElement::selectionEnd):
1512 (WebCore::HTMLInputElement::setSelectionStart):
1513 (WebCore::HTMLInputElement::setSelectionEnd):
1514 (WebCore::HTMLInputElement::select):
1515 (WebCore::HTMLInputElement::setSelectionRange):
1516 (WebCore::HTMLInputElement::createRenderer):
1517 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
1519 * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace
1520 characters with one character, like a bullet.
1521 * platform/StringImpl.h:
1523 * rendering/RenderStyle.cpp:
1524 (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
1525 (WebCore::RenderStyle::diff): Added case for textSecurity.
1526 * rendering/RenderStyle.h:
1528 (WebCore::RenderStyle::textSecurity): Added.
1529 (WebCore::RenderStyle::setTextSecurity): Added.
1530 (WebCore::RenderStyle::initialTextSecurity): Added.
1531 * rendering/RenderText.cpp:
1532 (WebCore::RenderText::setStyle): Added case for textSecurity.
1533 (WebCore::RenderText::setText): ditto.
1535 2006-08-25 Adele Peterson <adele@apple.com>
1539 Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
1541 Tests: fast/forms/select-baseline.html
1542 fast/borders/borderRadiusInvalidColor.html
1543 updated: fast/forms/select-style-expected.txt and more...
1545 * css/html4.css: Added style rules for styled select elements.
1547 * platform/GraphicsContext.h: Added argument for antialiasing.
1548 * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1549 * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1551 * rendering/RenderObject.cpp:
1552 (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
1553 (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code
1554 (any callers that set this to true were already ensuring that their color was valid).
1555 Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
1556 (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
1557 (WebCore::RenderObject::paintOutline): ditto.
1558 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
1559 * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
1561 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
1562 Added case for when there's no children to check for hasLineIfEmpty.
1563 * rendering/RenderBlock.h:
1564 * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
1565 * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
1566 * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
1567 * rendering/RenderFlexibleBox.cpp:
1568 (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
1569 (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
1571 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
1572 * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
1573 immediately after painting the background.
1575 * rendering/RenderTheme.cpp:
1576 (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
1577 For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
1578 to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
1579 (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function,
1580 so the arrow control will draw at the right time (after the background).
1581 (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
1582 (WebCore::RenderTheme::paintBorderOnly): ditto.
1583 (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
1584 (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
1585 * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
1587 * rendering/RenderThemeMac.h:
1588 * rendering/RenderThemeMac.mm:
1589 (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
1590 (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
1591 (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
1592 (WebCore::TopGradientInterpolate): Added.
1593 (WebCore::BottomGradientInterpolate): Added.
1594 (WebCore::MainGradientInterpolate): Added.
1595 (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added. Draws gradients for styled popup menu button appearance.
1596 (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
1597 (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
1599 2006-08-25 Brady Eidson <beidson@apple.com>
1603 Changed some time()-related code to be more platform independent
1605 * loader/icon/IconDatabase.cpp:
1606 (WebCore::IconDatabase::isIconExpiredForIconURL):
1607 (WebCore::IconDatabase::getOrCreateIconDataCache):
1608 (WebCore::IconDatabase::setIconDataForIconURL):
1610 2006-08-25 David Harrison <harrison@apple.com>
1614 <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
1616 * bridge/mac/WebCoreAXObject.mm:
1618 New. Returns the HTMLLabelElement, if any, for the specified Element.
1620 (-[WebCoreAXObject title]):
1621 For input elements, return the innerHTML() of the labelForElement().
1623 2006-08-25 Brady Eidson <beidson@apple.com>
1625 Reviewed by Tim Hatcher
1627 Changed some debugging-only code to be more platform independent
1629 * WebCore.xcodeproj/project.pbxproj:
1630 * loader/icon/IconDatabase.cpp:
1631 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
1632 (WebCore::IconDatabase::syncDatabase):
1634 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1636 Reviewed/landed by Adam.
1638 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
1639 Qt platform build fixes.
1641 * platform/qt/FrameQt.h:
1642 * platform/qt/ScreenQt.cpp:
1643 (WebCore::qwidgetForPage):
1644 (WebCore::screenRect):
1645 (WebCore::screenDepth):
1646 (WebCore::usableScreenRect):
1647 * platform/qt/TemporaryLinkStubs.cpp:
1648 (WebCore::screenDepthPerComponent):
1649 (WebCore::screenIsMonochrome):
1650 * platform/qt/WidgetQt.cpp:
1652 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1654 Reviewed/landed by Adam.
1656 Finally fix font caching. WebKit+Qt now works
1657 out of the box without any further patches :-)
1659 * platform/qt/FontDataQt.cpp:
1660 (WebCore::FontData::platformDestroy):
1661 * platform/qt/FontPlatformData.h:
1662 * platform/qt/FontPlatformDataQt.cpp:
1663 (WebCore::FontPlatformData::FontPlatformData):
1664 (WebCore::FontPlatformData::isFixedPitch):
1665 (WebCore::FontPlatformData::font):
1666 (WebCore::FontPlatformData::fontPtr):
1667 (WebCore::FontPlatformData::hash):
1668 (WebCore::FontPlatformData::operator==):
1670 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1672 Reviewed/landed by Adam.
1674 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
1675 Confirm to WebKit style guide - last fixes :-)
1677 * platform/ResourceLoaderClient.h:
1678 * platform/qt/ComboBoxQt.cpp:
1679 * platform/qt/FrameQt.cpp:
1680 (WebCore::doScroll):
1681 (WebCore::FrameQt::FrameQt):
1682 (WebCore::FrameQt::openURL):
1683 (WebCore::FrameQt::submitForm):
1684 (WebCore::FrameQt::setTitle):
1685 (WebCore::FrameQt::passSubframeEventToSubframe):
1686 (WebCore::FrameQt::registerCommandForUndo):
1687 (WebCore::FrameQt::registerCommandForRedo):
1688 (WebCore::FrameQt::keyEvent):
1689 (WebCore::FrameQt::setFrameGeometry):
1690 * platform/qt/GlyphMapQt.cpp:
1691 (WebCore::GlyphMap::fillPage):
1692 * platform/qt/GraphicsContextQt.cpp:
1693 (WebCore::toQtCompositionMode):
1694 (WebCore::toQtLineCap):
1695 (WebCore::toQtLineJoin):
1696 (WebCore::TextShadow::TextShadow):
1697 (WebCore::GraphicsContextPlatformPrivate::p):
1698 * platform/qt/ImageQt.cpp:
1699 (WebCore::FrameData::clear):
1700 (WebCore::Image::supportsType):
1701 * platform/qt/IntSizeQt.cpp:
1702 * platform/qt/LineEditQt.cpp:
1703 * platform/qt/ListBoxQt.cpp:
1704 * platform/qt/PageQt.cpp:
1705 (WebCore::Page::windowRect):
1706 * platform/qt/PathQt.cpp:
1707 (WebCore::Path::~Path):
1708 * platform/qt/ResourceLoaderCurl.cpp:
1709 (WebCore::ResourceLoader::assembleResponseHeaders):
1710 (WebCore::ResourceLoader::retrieveCharset):
1711 (WebCore::ResourceLoader::receivedResponse):
1712 * platform/qt/ResourceLoaderManager.cpp:
1713 (WebCore::headerCallback):
1714 (WebCore::ResourceLoaderManager::downloadTimerCallback):
1715 (WebCore::ResourceLoaderManager::add):
1716 * platform/qt/ScreenQt.cpp:
1717 (WebCore::screenRect):
1718 (WebCore::usableScreenRect):
1719 * platform/qt/ScrollViewQt.cpp:
1720 (WebCore::ScrollView::ScrollView):
1721 (WebCore::ScrollView::~ScrollView):
1722 (WebCore::ScrollView::setParentWidget):
1723 (WebCore::ScrollView::addChild):
1724 * platform/qt/SharedTimerQt.cpp:
1725 (WebCore::setSharedTimerFiredFunction):
1726 * platform/qt/SharedTimerQt.h:
1727 (WebCore::SharedTimerQt::SharedTimerQt):
1728 (WebCore::SharedTimerQt::fire):
1729 * platform/qt/SystemTimeQt.cpp:
1730 (WebCore::currentTime):
1731 * platform/qt/TextEditQt.cpp:
1732 (WebCore::PlatformTextEdit::setParentWidget):
1733 (WebCore::PlatformTextEdit::text):
1734 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
1736 2006-08-24 David Harrison <harrison@apple.com>
1741 <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
1743 Fix bug I introduced in r15959.
1745 * bridge/mac/WebCoreAXObject.mm:
1746 (-[WebCoreAXObject accessibilityAttributeValue:]):
1747 Use topDocument in case we are in a subframe (we want the start/end of the overall page).
1749 2006-08-24 Brady Eidson <beidson@apple.com>
1753 Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
1755 * loader/icon/IconDatabase.cpp:
1756 (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
1757 are indexed to 1, not 0
1759 2006-08-24 Geoffrey Garen <ggaren@apple.com>
1763 Frame refactoring: changed FrameView clients so they no longer assume that
1764 FrameViews are Widgets that can tell you things about the platform, in
1765 preparation for divorcing FrameViews from heavy-weight Widgets altogether.
1767 This patch makes Page, rather than Widget, responsible for answering
1768 questions about the screen (scale factor, color depth, etc.). Refactoring
1769 aside, I think this makes more sense, since (a) the screen has nothing to do
1770 with any particular widget and (b) Page was already half-responsible for
1771 answering those questions, anyway.
1773 Plus some random Windows build fix goodness.
1775 Layout tests still pass.
1777 2006-08-24 Timothy Hatcher <timothy@apple.com>
1781 Allow changing the background color WebCore draws under transparent page backgrounds.
1782 No automated way to test. All tests pass, no performance regression.
1784 * bridge/mac/WebCoreFrameBridge.h:
1785 * bridge/mac/WebCoreFrameBridge.mm:
1786 (-[WebCoreFrameBridge setBaseBackgroundColor:]):
1787 * page/FrameView.cpp:
1788 (WebCore::FrameViewPrivate::FrameViewPrivate):
1789 (WebCore::FrameView::baseBackgroundColor):
1790 (WebCore::FrameView::setBaseBackgroundColor):
1792 * rendering/RenderBox.cpp:
1793 (WebCore::RenderBox::paintBackgroundExtended):
1794 * rendering/RenderView.cpp:
1795 (WebCore::RenderView::paintBoxDecorations):
1797 2006-08-24 Darin Adler <darin@apple.com>
1801 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10169
1802 REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
1803 - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
1804 - other editing-related cleanup
1806 Test: fast/forms/drag-into-textarea.html
1808 * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
1809 * bridge/win/FrameWin.h: Ditto.
1810 * bridge/mac/FrameMac.mm:
1811 (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
1812 (WebCore::FrameMac::registerCommandForUndo): Ditto.
1813 (WebCore::FrameMac::registerCommandForRedo): Ditto.
1815 * bridge/mac/WebCoreFrameBridge.mm:
1816 (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
1817 Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
1818 (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
1819 (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
1821 * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
1822 parameter to be a PassRefPtr. Reversed order of child and parent parameters.
1823 * editing/AppendNodeCommand.cpp:
1824 (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
1825 (WebCore::AppendNodeCommand::doApply): Ditto.
1826 (WebCore::AppendNodeCommand::doUnapply): Ditto.
1828 * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
1829 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
1831 * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
1832 * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
1833 (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
1834 since setEndingSelection is no longer overloaded for Position.
1836 * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
1837 a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
1838 m_commands and made both doUnapply and doReapply private.
1839 * editing/CompositeEditCommand.cpp:
1840 (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
1841 (WebCore::CompositeEditCommand::doReapply): Ditto.
1842 (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
1843 starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
1844 (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
1845 (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
1846 (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
1847 (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
1848 (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
1849 (WebCore::CompositeEditCommand::appendNode): Ditto.
1850 (WebCore::CompositeEditCommand::removeNode): Ditto.
1851 (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
1852 (WebCore::CompositeEditCommand::splitTextNode): Ditto.
1853 (WebCore::CompositeEditCommand::splitElement): Ditto.
1854 (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
1855 (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
1856 (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
1857 (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
1858 (WebCore::CompositeEditCommand::inputText): Ditto.
1859 (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
1860 (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
1861 (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
1862 (WebCore::CompositeEditCommand::deleteSelection): Ditto.
1863 (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
1864 (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
1865 would not remove an empty attribute -- will not come up in practice, but wrong in theory.
1866 (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
1867 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
1868 (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
1869 (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
1870 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
1871 Selection explicitly since setEndingSelection is no longer overloaded for Position.
1872 (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
1873 block placeholder class string is no longer spread across multiple functions.
1874 Perhaps we can get rid of this altogether at some point.
1876 * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
1877 Also removed unneeded destructor.
1878 * editing/DeleteFromTextNodeCommand.cpp:
1879 (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
1881 * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
1882 * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
1884 * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
1885 and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
1886 and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
1887 Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
1888 endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
1889 are needed so we can determine which editable elements an editing operation affects. Changed setParent()
1890 and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
1891 applyCommand() function that's convenient to use on a newly-created command.
1892 * editing/EditCommand.cpp:
1893 (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
1894 and ending root editable elements.
1895 (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
1896 code to assert and set m_start. Eliminated use of EditCommandPtr.
1897 (WebCore::EditCommand::unapply): Ditto.
1898 (WebCore::EditCommand::reapply): Ditto.
1899 (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
1900 not change the starting selection of the parent unless this is the first command in the parent -- didn't
1901 make sense the way it was.
1902 (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
1903 (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
1904 based on the ending selection of the parent, formerly done by callers.
1905 (WebCore::applyCommand): Added.
1907 * editing/FormatBlockCommand.h: Tweaked formatting.
1908 * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
1909 * editing/InsertLineBreakCommand.h: Ditto.
1910 * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
1912 * editing/IndentOutdentCommand.cpp:
1913 (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
1914 (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
1915 (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
1917 * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
1918 * editing/InsertIntoTextNodeCommand.cpp:
1919 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
1921 * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
1923 * editing/InsertListCommand.cpp:
1924 (WebCore::InsertListCommand::InsertListCommand): Ditto.
1925 (WebCore::InsertListCommand::doApply): Ditto.
1927 * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
1928 and changed the parameter of the node to insert to a PassRefPtr.
1929 * editing/InsertNodeBeforeCommand.cpp:
1930 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
1932 * editing/InsertParagraphSeparatorCommand.cpp:
1933 (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
1935 * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
1936 * editing/InsertTextCommand.cpp:
1937 (WebCore::InsertTextCommand::input): Ditto.
1938 (WebCore::InsertTextCommand::insertTab): Ditto.
1940 * editing/JSEditor.h: Tweaked formatting and names.
1941 * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
1943 * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
1944 * editing/JoinTextNodesCommand.cpp:
1945 (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
1946 * editing/MergeIdenticalElementsCommand.h: Ditto.
1947 * editing/MergeIdenticalElementsCommand.cpp:
1948 (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
1950 * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
1951 IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
1952 * editing/ModifySelectionListLevel.cpp:
1953 (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
1954 (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
1955 Changed to use Type instead of EListType.
1956 (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
1957 (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
1958 (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
1959 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
1960 Changed to not use EditCommandPtr.
1961 (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
1962 (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
1963 (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
1964 (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
1967 * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
1968 parameter to be a PassRefPtr.
1969 * editing/MoveSelectionCommand.cpp:
1970 (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
1971 (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
1973 * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
1974 * editing/RebalanceWhitespaceCommand.cpp:
1975 (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
1976 (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
1978 * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
1980 * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
1981 * editing/RemoveNodeAttributeCommand.cpp:
1982 (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
1984 * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
1985 * editing/RemoveNodeCommand.cpp:
1986 (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
1988 * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
1989 * editing/RemoveNodePreservingChildrenCommand.cpp:
1990 (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
1992 * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
1993 * editing/ReplaceSelectionCommand.cpp:
1994 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
1995 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
1996 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1997 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
1999 * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
2000 a macro. Added constructors that take visible positions. Changed setBase and
2001 setExtent to take const Position& for better efficiency.
2002 * editing/Selection.cpp:
2003 (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
2004 and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
2006 * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
2007 * editing/SetNodeAttributeCommand.cpp:
2008 (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
2010 * editing/SplitElementCommand.h: Removed unnneeded document parameter.
2011 * editing/SplitElementCommand.cpp:
2012 (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
2014 * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
2015 * editing/SplitTextNodeCommand.cpp:
2016 (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
2018 * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
2019 * editing/SplitTextNodeContainingElementCommand.cpp:
2020 (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
2022 * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
2023 Renamed openForMoveTyping() with isOpenForMoreTyping().
2024 * editing/TypingCommand.cpp:
2025 (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
2026 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2027 (WebCore::TypingCommand::insertText): Ditto.
2028 (WebCore::TypingCommand::insertLineBreak): Ditto.
2029 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
2030 (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
2031 (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
2032 (WebCore::TypingCommand::closeTyping): Ditto.
2033 (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
2034 (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
2036 * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
2037 * editing/WrapContentsInDummySpanCommand.cpp:
2038 (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
2040 * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
2043 * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
2044 appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
2045 and registerCommandForRedo() to take PassRefPtr<EditCommand>.
2046 * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
2048 (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
2049 (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
2050 from Selection to simplify the code.
2051 (WebCore::Frame::selectAll): Ditto.
2052 (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
2053 (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
2054 both of the root editable elements involved in a change -- the start selection
2055 might be in a different element than the end selection.
2056 (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
2057 and to do it before setting the ending selection. Also update to use PassRefPtr instead
2058 of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
2059 to registerCommandForUndo will take ownership and set it to 0.
2060 (WebCore::Frame::unappliedEditing): Ditto.
2061 (WebCore::Frame::reappliedEditing): Ditto.
2062 (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
2063 (WebCore::Frame::applyStyle): Ditto.
2064 (WebCore::Frame::applyParagraphStyle): Ditto.
2066 * platform/gdk/FrameGdk.h: Updated for above changes.
2067 * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
2068 * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
2070 2006-08-24 Brady Eidson <beidson@apple.com>
2074 <rdar://problem/4697973> - Unacceptable delay on startup
2075 <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
2077 This patch was started by me and finished by Mark Rowe - we now special case all retains during
2078 startup into one huge sql transaction. Also we track PageURL retains instead of IconURLs so pruning works right.
2079 Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile. Testing with a huge set of
2080 bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also
2081 has a noticeable delay.
2083 * loader/icon/IconDatabase.cpp:
2084 (WebCore::IconDatabase::IconDatabase):
2085 (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
2086 (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
2087 (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
2088 (WebCore::IconDatabase::releaseIconForPageURL): Ditto
2089 (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
2090 (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
2091 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
2092 (WebCore::IconDatabase::syncDatabase): Change the timing log message
2093 * loader/icon/IconDatabase.h:
2094 * loader/icon/SQLStatement.cpp:
2095 (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
2096 * loader/icon/SQLStatement.h:
2098 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2100 Reviewed/landed by Adam.
2102 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2103 WebKit should have Qt platform support
2106 Remove KCanvasMatrix.cpp because it no longer exists
2107 Remove platform/qt/test
2108 * platform/FloatSize.h:
2109 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2110 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2111 * platform/image-decoders/gif/GIFImageReader.cpp:
2112 * platform/image-decoders/ico/ICOImageDecoder.cpp:
2113 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2114 * platform/image-decoders/png/PNGImageDecoder.cpp:
2115 * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2116 Added PLATFORM(QT) hooks in the image-decoders/, as they also need
2117 to work for Qt, not only for Cairo.
2118 * platform/qt/qt-encodings.txt: Added (required for build).
2120 2006-08-24 Adam Roben <aroben@apple.com>
2122 Fixing a typo from last patch.
2124 * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2125 (WebCore::KRenderingPaintServerQt::setPenProperties):
2127 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2129 Reviewed/landed by Adam.
2131 Final cleanup to conform to WebKit coding style!
2133 * kcanvas/device/qt/KCanvasClipperQt.cpp:
2134 (WebCore::KCanvasClipperQt::applyClip):
2135 * kcanvas/device/qt/KCanvasClipperQt.h:
2136 * kcanvas/device/qt/KCanvasPathQt.cpp:
2137 * kcanvas/device/qt/KCanvasPathQt.h:
2138 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2139 * kcanvas/device/qt/KRenderingDeviceQt.h:
2140 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2141 (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
2142 (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
2143 * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
2144 * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
2145 (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
2146 * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
2147 * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2148 (WebCore::KRenderingPaintServerQt::setPenProperties):
2149 * kcanvas/device/qt/KRenderingPaintServerQt.h:
2150 * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
2151 (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
2152 (WebCore::KRenderingPaintServerSolidQt::renderPath):
2153 * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
2154 * kcanvas/device/qt/RenderPathQt.cpp:
2155 * kcanvas/device/qt/RenderPathQt.h:
2156 * platform/qt/AffineTransformQt.cpp:
2157 * platform/qt/BrowserExtensionQt.cpp:
2158 * platform/qt/BrowserExtensionQt.h:
2159 * platform/qt/ColorQt.cpp:
2160 (WebCore::Color::Color):
2161 * platform/qt/ComboBoxQt.cpp:
2162 (WebCore::PlatformComboBox::PlatformComboBox):
2163 (WebCore::PlatformComboBox::~PlatformComboBox):
2164 (WebCore::PlatformComboBox::setParentWidget):
2165 (WebCore::PlatformComboBox::appendGroupLabel):
2166 * platform/qt/CookieJarQt.cpp:
2167 * platform/qt/CursorQt.cpp:
2168 (WebCore::Cursors::Cursors::self):
2169 * platform/qt/FloatPointQt.cpp:
2170 * platform/qt/FloatRectQt.cpp:
2171 * platform/qt/FontCacheQt.cpp:
2172 (WebCore::FontCache::getSimilarFontPlatformData):
2173 (WebCore::FontCache::createFontPlatformData):
2174 * platform/qt/FontDataQt.cpp:
2175 * platform/qt/FontPlatformData.h:
2176 * platform/qt/FontPlatformDataQt.cpp:
2177 * platform/qt/FontQt.cpp:
2178 (WebCore::Font::operator QFont):
2179 (WebCore::Font::drawComplexText):
2180 (WebCore::Font::floatWidthForComplexText):
2181 * platform/qt/FrameQt.cpp:
2182 (WebCore::FrameQt::openURL):
2183 (WebCore::FrameQt::submitForm):
2184 (WebCore::FrameQt::urlSelected):
2185 (WebCore::FrameQt::keyEvent):
2186 * platform/qt/FrameQt.h:
2187 * platform/qt/GlyphMapQt.cpp:
2188 * platform/qt/GraphicsContextQt.cpp:
2189 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2190 (WebCore::GraphicsContext::GraphicsContext):
2191 (WebCore::GraphicsContext::drawConvexPolygon):
2192 (WebCore::GraphicsContext::setFocusRingClip):
2193 (WebCore::GraphicsContext::clip):
2194 * platform/qt/ImageQt.cpp:
2195 (WebCore::Image::draw):
2196 (WebCore::Image::drawTiled):
2197 * platform/qt/ImageSourceQt.cpp:
2198 * platform/qt/IntPointQt.cpp:
2199 * platform/qt/IntRectQt.cpp:
2200 * platform/qt/IntSizeQt.cpp:
2201 * platform/qt/LineEditQt.cpp:
2202 (WebCore::PlatformLineEdit::PlatformLineEdit):
2203 (WebCore::PlatformLineEdit::~PlatformLineEdit):
2204 (WebCore::PlatformLineEdit::setParentWidget):
2205 (WebCore::PlatformLineEdit::addSearchResult):
2206 * platform/qt/ListBoxQt.cpp:
2207 (WebCore::ListBox::ListBox):
2208 (WebCore::ListBox::~ListBox):
2209 (WebCore::ListBox::setParentWidget):
2210 * platform/qt/PageQt.cpp:
2211 (WebCore::Page::windowRect):
2212 (WebCore::Page::setWindowRect):
2213 * platform/qt/PathQt.cpp:
2214 (WebCore::Path::addArc):
2215 * platform/qt/PlatformKeyboardEventQt.cpp:
2216 (WebCore::windowsKeyCodeForKeyEvent):
2217 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2218 * platform/qt/PlatformMouseEventQt.cpp:
2219 * platform/qt/RenderThemeQt.cpp:
2220 (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2221 (WebCore::RenderThemeQt::applyTheme):
2222 (WebCore::RenderThemeQt::paintButton):
2223 (WebCore::RenderThemeQt::paintTextField):
2224 * platform/qt/ResourceLoaderCurl.cpp:
2225 (WebCore::ResourceLoader::assembleResponseHeaders):
2226 (WebCore::ResourceLoader::retrieveCharset):
2227 (WebCore::ResourceLoader::receivedResponse):
2228 * platform/qt/ResourceLoaderManager.cpp:
2229 (WebCore::ResourceLoaderManager::add):
2230 * platform/qt/ResourceLoaderManager.h:
2231 * platform/qt/ScreenQt.cpp:
2232 * platform/qt/ScrollViewCanvasQt.cpp:
2233 (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2234 * platform/qt/ScrollViewCanvasQt.h:
2235 * platform/qt/ScrollViewQt.cpp:
2236 * platform/qt/SharedTimerQt.cpp:
2237 * platform/qt/SharedTimerQt.h:
2238 (WebCore::SharedTimerQt::inst):
2239 * platform/qt/StringQt.cpp:
2240 * platform/qt/SystemTimeQt.cpp:
2241 * platform/qt/TemporaryLinkStubs.cpp:
2242 * platform/qt/TextEditQt.cpp:
2243 (WebCore::PlatformTextEdit::PlatformTextEdit):
2244 (WebCore::PlatformTextEdit::~PlatformTextEdit):
2245 (WebCore::PlatformTextEdit::setParentWidget):
2246 * platform/qt/WidgetQt.cpp:
2247 (WebCore::Widget::setQWidget):
2249 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2251 Reviewed and landed by Anders.
2253 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2254 WebKit should have Qt platform support
2257 * platform/qt/FrameQt.cpp: Added.
2258 (WebCore::doScroll):
2259 (WebCore::FrameView::isFrameView):
2260 (WebCore::FrameQt::FrameQt):
2261 (WebCore::FrameQt::init):
2262 (WebCore::FrameQt::~FrameQt):
2263 (WebCore::FrameQt::openURL):
2264 (WebCore::FrameQt::submitForm):
2265 (WebCore::FrameQt::urlSelected):
2266 (WebCore::FrameQt::userAgent):
2267 (WebCore::FrameQt::runJavaScriptAlert):
2268 (WebCore::FrameQt::runJavaScriptConfirm):
2269 (WebCore::FrameQt::locationbarVisible):
2270 (WebCore::FrameQt::setTitle):
2271 (WebCore::FrameQt::createFrame):
2272 (WebCore::FrameQt::passWheelEventToChildWidget):
2273 (WebCore::FrameQt::passSubframeEventToSubframe):
2274 (WebCore::FrameQt::objectContentType):
2275 (WebCore::FrameQt::createPlugin):
2276 (WebCore::FrameQt::passMouseDownEventToWidget):
2277 (WebCore::FrameQt::menubarVisible):
2278 (WebCore::FrameQt::personalbarVisible):
2279 (WebCore::FrameQt::statusbarVisible):
2280 (WebCore::FrameQt::toolbarVisible):
2281 (WebCore::FrameQt::createEmptyDocument):
2282 (WebCore::FrameQt::markedTextRange):
2283 (WebCore::FrameQt::incomingReferrer):
2284 (WebCore::FrameQt::mimeTypeForFileName):
2285 (WebCore::FrameQt::markMisspellingsInAdjacentWords):
2286 (WebCore::FrameQt::markMisspellings):
2287 (WebCore::FrameQt::lastEventIsMouseUp):
2288 (WebCore::FrameQt::saveDocumentState):
2289 (WebCore::FrameQt::restoreDocumentState):
2290 (WebCore::FrameQt::openURLRequest):
2291 (WebCore::FrameQt::scheduleClose):
2292 (WebCore::FrameQt::unfocusWindow):
2293 (WebCore::FrameQt::focusWindow):
2294 (WebCore::FrameQt::overrideMediaType):
2295 (WebCore::FrameQt::addMessageToConsole):
2296 (WebCore::FrameQt::runJavaScriptPrompt):
2297 (WebCore::FrameQt::getEmbedInstanceForWidget):
2298 (WebCore::FrameQt::getObjectInstanceForWidget):
2299 (WebCore::FrameQt::getAppletInstanceForWidget):
2300 (WebCore::FrameQt::registerCommandForUndo):
2301 (WebCore::FrameQt::registerCommandForRedo):
2302 (WebCore::FrameQt::clearUndoRedoOperations):
2303 (WebCore::FrameQt::issueUndoCommand):
2304 (WebCore::FrameQt::issueRedoCommand):
2305 (WebCore::FrameQt::issueCutCommand):
2306 (WebCore::FrameQt::issueCopyCommand):
2307 (WebCore::FrameQt::issuePasteCommand):
2308 (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
2309 (WebCore::FrameQt::issueTransposeCommand):
2310 (WebCore::FrameQt::respondToChangedSelection):
2311 (WebCore::FrameQt::respondToChangedContents):
2312 (WebCore::FrameQt::shouldChangeSelection):
2313 (WebCore::FrameQt::partClearedInBegin):
2314 (WebCore::FrameQt::canGoBackOrForward):
2315 (WebCore::FrameQt::handledOnloadEvents):
2316 (WebCore::FrameQt::canPaste):
2317 (WebCore::FrameQt::canRedo):
2318 (WebCore::FrameQt::canUndo):
2319 (WebCore::FrameQt::print):
2320 (WebCore::FrameQt::shouldInterruptJavaScript):
2321 (WebCore::FrameQt::keyEvent):
2322 (WebCore::FrameQt::receivedResponse):
2323 (WebCore::FrameQt::receivedData):
2324 (WebCore::FrameQt::receivedAllData):
2325 (WebCore::FrameQt::setFrameGeometry):
2326 * platform/qt/FrameQt.h: Added.
2327 * platform/qt/ScrollViewCanvasQt.cpp: Added.
2328 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2329 (WebCore::ScrollViewCanvasQt::paintEvent):
2330 (WebCore::ScrollViewCanvasQt::sizeHint):
2331 (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
2332 (WebCore::ScrollViewCanvasQt::mousePressEvent):
2333 (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
2334 (WebCore::ScrollViewCanvasQt::keyPressEvent):
2335 (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
2336 (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2337 * platform/qt/ScrollViewCanvasQt.h: Added.
2338 * platform/qt/ScrollViewQt.cpp:
2339 (WebCore::ScrollView::setParentWidget):
2341 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2345 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2346 WebKit should have Qt platform support
2348 * platform/qt/FontCacheQt.cpp: Added.
2349 (WebCore::FontCache::platformInit):
2350 (WebCore::FontCache::getFontDataForCharacters):
2351 (WebCore::FontCache::getSimilarFontPlatformData):
2352 (WebCore::FontCache::getLastResortFallbackFont):
2353 (WebCore::FontCache::createFontPlatformData):
2354 * platform/qt/FontDataQt.cpp: Added.
2355 (WebCore::FontData::platformInit):
2356 (WebCore::FontData::platformDestroy):
2357 (WebCore::FontData::smallCapsFontData):
2358 (WebCore::FontData::containsCharacters):
2359 (WebCore::FontData::determinePitch):
2360 (WebCore::FontData::platformWidthForGlyph):
2361 * platform/qt/FontPlatformData.h: Added.
2362 * platform/qt/FontPlatformDataQt.cpp: Added.
2363 (WebCore::FontPlatformData::FontPlatformData):
2364 (WebCore::FontPlatformData::operator=):
2365 (WebCore::FontPlatformData::~FontPlatformData):
2366 (WebCore::FontPlatformData::isFixedPitch):
2367 (WebCore::FontPlatformData::setFont):
2368 (WebCore::FontPlatformData::font):
2369 (WebCore::FontPlatformData::hash):
2370 (WebCore::FontPlatformData::operator==):
2371 * platform/qt/FontQt.cpp: Added.
2372 (WebCore::Font::operator QFont):
2373 (WebCore::Font::drawGlyphs):
2374 (WebCore::Font::drawComplexText):
2375 (WebCore::Font::floatWidthForComplexText):
2376 * platform/qt/GlyphMapQt.cpp: Added.
2377 (WebCore::GlyphMap::fillPage):
2379 2006-08-24 David Harrison <harrison@apple.com>
2381 Reinstate r15966 because layout test changes are correct.
2383 <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2385 * editing/TextIterator.cpp:
2386 (WebCore::TextIterator::advance):
2388 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
2392 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2393 WebKit should have Qt platform support (Part II)
2395 Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
2396 Use AffineTransform everywhere instead.
2398 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2399 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
2400 (WebCore::KRenderingDeviceContextQt::concatCTM):
2401 (WebCore::KRenderingDeviceContextQt::ctm):
2402 * kcanvas/device/qt/KRenderingDeviceQt.h:
2403 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2404 (WebCore::KRenderingPaintServerLinearGradientQt::setup):
2405 (WebCore::KRenderingPaintServerRadialGradientQt::setup):
2407 2006-08-24 Rob Buis <buis@kde.org>
2411 http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
2412 svg transform: comma delimiting breaks display
2414 Properly parse transforms which use ',' as seperators.
2416 * ksvg2/svg/SVGTransformable.cpp:
2417 (SVGTransformable::parseTransformAttribute):
2419 2006-08-23 Darin Adler <darin@apple.com>
2423 - added an assert to make it slightly easier to debug the common case of
2424 calling document() on a node of 0
2426 * dom/Node.h: (WebCore::Node::document): ASSERT(this).
2428 2006-08-23 David Hyatt <hyatt@apple.com>
2430 Refactor Cairo and CoreGraphics to use platform ifdefs. This patch
2431 separates the graphics engines from their respective platforms and replaces
2432 #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
2436 * WebCore.xcodeproj/project.pbxproj:
2437 * platform/AffineTransform.h:
2439 * platform/Cursor.h:
2440 * platform/FloatPoint.h:
2441 * platform/FloatRect.h:
2442 * platform/FloatSize.h:
2444 * platform/FontData.h:
2445 * platform/GlyphBuffer.h:
2446 (WebCore::GlyphBuffer::glyphAt):
2447 (WebCore::GlyphBuffer::advanceAt):
2448 (WebCore::GlyphBuffer::add):
2449 * platform/GraphicsContext.h:
2451 * platform/ImageSource.h:
2452 * platform/IntPoint.h:
2453 * platform/IntRect.h:
2454 * platform/IntSize.h:
2455 * platform/ResourceLoader.h:
2456 * platform/ResourceLoaderClient.h:
2457 * platform/Widget.h:
2458 * platform/cairo/GraphicsContextCairo.cpp:
2459 * platform/cairo/ImageCairo.cpp:
2460 * platform/cairo/ImageSourceCairo.cpp:
2461 * platform/cg/AffineTransformCG.cpp:
2462 * platform/cg/FloatPointCG.cpp: Added.
2463 * platform/cg/FloatRectCG.cpp: Added.
2464 * platform/cg/FloatSizeCG.cpp: Added.
2465 * platform/cg/GraphicsContextCG.cpp:
2466 (WebCore::GraphicsContext::GraphicsContext):
2467 (WebCore::GraphicsContext::~GraphicsContext):
2468 (WebCore::GraphicsContext::setFocusRingClip):
2469 (WebCore::GraphicsContext::clearFocusRingClip):
2470 (WebCore::GraphicsContext::platformContext):
2471 (WebCore::GraphicsContext::drawRect):
2472 (WebCore::GraphicsContext::drawLine):
2473 * platform/cg/GraphicsContextPlatformPrivate.h: Added.
2474 (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
2475 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2476 * platform/cg/ImageCG.cpp: Added.
2477 (WebCore::Image::drawTiled):
2478 * platform/cg/ImageSourceCG.cpp: Added.
2479 * platform/cg/IntPointCG.cpp: Added.
2480 * platform/cg/IntRectCG.cpp: Added.
2481 * platform/cg/IntSizeCG.cpp: Added.
2482 * platform/cg/PDFDocumentImage.cpp: Added.
2483 (WebCore::PDFDocumentImage::adjustCTM):
2484 * platform/cg/PDFDocumentImage.h: Added.
2485 * platform/cg/PathCG.cpp:
2486 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2487 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2488 * platform/image-decoders/gif/GIFImageReader.cpp:
2489 * platform/image-decoders/ico/ICOImageDecoder.cpp:
2490 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2491 * platform/image-decoders/png/PNGImageDecoder.cpp:
2492 * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2493 * platform/mac/FloatPointMac.mm:
2494 * platform/mac/FloatRectMac.mm:
2495 * platform/mac/FloatSizeMac.mm:
2496 * platform/mac/GraphicsContextMac.mm:
2497 * platform/mac/ImageMac.mm:
2498 * platform/mac/ImageSourceMac.cpp: Removed.
2499 * platform/mac/IntPointMac.mm:
2500 * platform/mac/IntRectMac.mm:
2501 * platform/mac/IntSizeMac.mm:
2502 * platform/mac/PDFDocumentImage.h: Removed.
2503 * platform/mac/PDFDocumentImage.mm: Removed.
2505 2006-08-23 David Hyatt <hyatt@apple.com>
2507 Remove the ifdef for platform scrollbars vs. engine scrollbars until
2508 engine scrollbars actually exist.
2510 * platform/ScrollBar.h:
2511 (WebCore::ScrollBar::hasPlatformScrollBars):
2513 2006-08-23 Justin Garcia <justin.garcia@apple.com>
2515 Reviewed by harrison
2517 Removed the poorly named next/previousVisiblePosition
2518 and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
2519 Removed the unused VisiblePosition::maxOffset()
2521 * editing/VisiblePosition.cpp:
2522 (WebCore::VisiblePosition::next):
2523 (WebCore::VisiblePosition::previous):
2524 (WebCore::VisiblePosition::canonicalPosition):
2525 * editing/VisiblePosition.h:
2527 2006-08-23 Nikolas Zimmermann <zimmermann@kde.org>
2529 Reviewed by Alexey. Landed by rwlbuis.
2531 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2532 WebKit should have Qt platform support (Part II)
2534 * platform/qt/GraphicsContextQt.cpp: Added.
2535 (WebCore::toQtCompositionMode):
2536 (WebCore::toQtLineCap):
2537 (WebCore::toQtLineJoin):
2538 (WebCore::TransparencyLayer::TransparencyLayer):
2539 (WebCore::TransparencyLayer::cleanup):
2540 (WebCore::TextShadow::TextShadow):
2541 (WebCore::TextShadow::isNull):
2542 (WebCore::GraphicsContextPlatformPrivate::p):
2543 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2544 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2545 (WebCore::GraphicsContext::GraphicsContext):
2546 (WebCore::GraphicsContext::~GraphicsContext):
2547 (WebCore::GraphicsContext::platformContext):
2548 (WebCore::GraphicsContext::savePlatformState):
2549 (WebCore::GraphicsContext::restorePlatformState):
2550 (WebCore::GraphicsContext::drawRect):
2551 (WebCore::adjustLineToPixelBounderies):
2552 (WebCore::GraphicsContext::drawLine):
2553 (WebCore::GraphicsContext::drawEllipse):
2554 (WebCore::GraphicsContext::drawArc):
2555 (WebCore::GraphicsContext::drawConvexPolygon):
2556 (WebCore::GraphicsContext::fillRect):
2557 (WebCore::GraphicsContext::addClip):
2558 (WebCore::GraphicsContext::drawFocusRing):
2559 (WebCore::GraphicsContext::setFocusRingClip):
2560 (WebCore::GraphicsContext::clearFocusRingClip):
2561 (WebCore::GraphicsContext::drawLineForText):
2562 (WebCore::GraphicsContext::drawLineForMisspelling):
2563 (WebCore::GraphicsContext::roundToDevicePixels):
2564 (WebCore::GraphicsContext::setShadow):
2565 (WebCore::GraphicsContext::clearShadow):
2566 (WebCore::GraphicsContext::beginTransparencyLayer):
2567 (WebCore::GraphicsContext::endTransparencyLayer):
2568 (WebCore::GraphicsContext::clearRect):
2569 (WebCore::GraphicsContext::strokeRect):
2570 (WebCore::GraphicsContext::setLineWidth):
2571 (WebCore::GraphicsContext::setLineCap):
2572 (WebCore::GraphicsContext::setLineJoin):
2573 (WebCore::GraphicsContext::setMiterLimit):
2574 (WebCore::GraphicsContext::setAlpha):
2575 (WebCore::GraphicsContext::setCompositeOperation):
2576 (WebCore::GraphicsContext::clip):
2577 (WebCore::GraphicsContext::translate):
2578 (WebCore::GraphicsContext::rotate):
2579 (WebCore::GraphicsContext::scale):
2580 (WebCore::GraphicsContext::addInnerRoundedRectClip):
2581 (WebCore::GraphicsContext::addRoundedRectClip):
2582 (WebCore::GraphicsContext::createRenderingDeviceContext):
2583 * platform/qt/ImageQt.cpp: Added.
2584 (WebCore::FrameData::clear):
2585 (WebCore::Image::initNativeData):
2586 (WebCore::Image::destroyNativeData):
2587 (WebCore::Image::invalidateNativeData):
2588 (WebCore::Image::loadResource):
2589 (WebCore::Image::supportsType):
2590 (WebCore::Image::draw):
2591 (WebCore::Image::drawTiled):
2592 (WebCore::Image::checkForSolidColor):
2593 * platform/qt/ImageSourceQt.cpp: Added.
2594 (WebCore::createDecoder):
2595 (WebCore::ImageSource::ImageSource):
2596 (WebCore::ImageSource::~ImageSource):
2597 (WebCore::ImageSource::initialized):
2598 (WebCore::ImageSource::setData):
2599 (WebCore::ImageSource::isSizeAvailable):
2600 (WebCore::ImageSource::size):
2601 (WebCore::ImageSource::repetitionCount):
2602 (WebCore::ImageSource::frameCount):
2603 (WebCore::ImageSource::createFrameAtIndex):
2604 (WebCore::ImageSource::frameDurationAtIndex):
2605 (WebCore::ImageSource::frameHasAlphaAtIndex):
2607 2006-08-23 Brady Eidson <beidson@apple.com>
2611 Moved default URL icon from WebKit to WebCore
2613 * Resources/urlIcon.tiff: Added.
2614 * WebCore.xcodeproj/project.pbxproj:
2615 * loader/icon/IconDataCache.cpp:
2616 (WebCore::IconDataCache::loadImageFromResource):
2617 * loader/icon/IconDataCache.h:
2618 * loader/icon/IconDatabase.cpp:
2619 (WebCore::IconDatabase::IconDatabase):
2620 (WebCore::IconDatabase::defaultIcon):
2621 * loader/icon/IconDatabase.h:
2623 2006-08-23 Adam Roben <aroben@apple.com>
2625 Reviewed by Darin, Adele.
2627 Some popup refactoring/cleanup.
2629 * html/HTMLSelectElement.cpp:
2630 (WebCore::HTMLSelectElement::defaultEventHandler):
2631 * rendering/RenderMenuList.cpp:
2632 (WebCore::RenderMenuList::RenderMenuList):
2633 (WebCore::RenderMenuList::~RenderMenuList):
2634 (WebCore::RenderMenuList::showPopup):
2635 (WebCore::RenderMenuList::hidePopup):
2636 * rendering/RenderMenuList.h:
2637 (WebCore::RenderMenuList::popup):
2638 (WebCore::RenderMenuList::popupIsVisible):
2639 * rendering/RenderPopupMenu.h:
2640 * rendering/RenderPopupMenuMac.h:
2641 (WebCore::RenderPopupMenuMac::hidePopup):
2643 2006-08-23 Nikolas Zimmermann <zimmermann@kde.org>
2645 Reviewed by Anders. Landed by rwlbuis.
2647 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2648 WebKit should have Qt platform support
2650 * platform/qt/ResourceLoaderCurl.cpp: Added.
2651 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2652 (WebCore::ResourceLoader::~ResourceLoader):
2653 (WebCore::ResourceLoader::start):
2654 (WebCore::ResourceLoader::cancel):
2655 (WebCore::ResourceLoader::assembleResponseHeaders):
2656 (WebCore::ResourceLoader::retrieveCharset):
2657 (WebCore::ResourceLoader::receivedResponse):
2658 * platform/qt/ResourceLoaderManager.cpp: Added.
2659 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2660 (WebCore::ResourceLoaderManager::get):
2661 (WebCore::ResourceLoaderManager::useSimpleTransfer):
2662 (WebCore::writeCallback):
2663 (WebCore::headerCallback):
2664 (WebCore::ResourceLoaderManager::downloadTimerCallback):
2665 (WebCore::ResourceLoaderManager::remove):
2666 (WebCore::ResourceLoaderManager::add):
2667 (WebCore::ResourceLoaderManager::cancel):
2668 * platform/qt/ResourceLoaderManager.h: Added.
2669 * platform/qt/StringQt.cpp: Added.
2670 (WebCore::String::String):
2671 (WebCore::String::operator QString):
2672 (WebCore::DeprecatedString::operator QString):
2674 2006-08-23 Brady Eidson <beidson@apple.com>
2678 Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
2680 * WebCore.xcodeproj/project.pbxproj: Reordered some files
2681 * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
2682 (WebCore::IconDataCache::writeToDatabase):
2683 * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
2684 (WebCore::IconDatabase::retainIconURL):
2685 (WebCore::IconDatabase::releaseIconURL):
2686 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
2687 (WebCore::IconDatabase::establishIconIDForIconURL):
2688 (WebCore::imageDataForIconURLQuery):
2689 (WebCore::timeStampForIconURLQuery):
2690 (WebCore::iconURLForPageURLQuery):
2691 (WebCore::forgetPageURLQuery):
2692 (WebCore::setIconIDForPageURLQuery):
2693 (WebCore::getIconIDForIconURLQuery):
2694 (WebCore::addIconForIconURLQuery):
2695 (WebCore::hasIconForIconURLQuery):
2696 * loader/icon/SQLDatabase.h:
2697 (WebCore::escapeSQLString): Added
2699 2006-08-22 Maciej Stachowiak <mjs@apple.com>
2703 - assorted style cleanup of icon loader code:
2705 - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
2706 - split headers to be one per class, to match impl files
2707 - made files that are purely local in IconDatabase.cpp static
2708 - make each impl file include config.h as first header (and no config.h includes in other headers)
2709 - avoid multiple copies of Vector<unsigned char> for image data
2711 * WebCore.xcodeproj/project.pbxproj:
2712 * loader/icon/IconDataCache.cpp:
2713 * loader/icon/IconDataCache.h: Added.
2715 (WebCore::IconDataCache::getTimestamp):
2716 (WebCore::IconDataCache::setTimestamp):
2717 (WebCore::IconDataCache::getIconURL):
2718 * loader/icon/IconDatabase.cpp:
2719 (WebCore::IconDatabase::imageDataForIconURL):
2720 (WebCore::IconDatabase::iconForPageURL):
2721 (WebCore::pageURLTableIsEmptyQuery):
2722 (WebCore::imageDataForIconURLQuery):
2723 (WebCore::timeStampForIconURLQuery):
2724 (WebCore::iconURLForPageURLQuery):
2725 (WebCore::forgetPageURLQuery):
2726 (WebCore::setIconIDForPageURLQuery):
2727 (WebCore::getIconIDForIconURLQuery):
2728 (WebCore::addIconForIconURLQuery):
2729 (WebCore::hasIconForIconURLQuery):
2730 * loader/icon/IconDatabase.h:
2731 * loader/icon/SQLDatabase.cpp:
2732 * loader/icon/SQLDatabase.h:
2733 * loader/icon/SQLStatement.cpp:
2734 (WebCore::SQLStatement::getColumnBlobAsVector):
2735 * loader/icon/SQLStatement.h: Added.
2736 (WebCore::SQLStatement::isPrepared):
2737 (WebCore::SQLStatement::prepareAndStep):
2738 (WebCore::SQLStatement::lastError):
2739 (WebCore::SQLStatement::lastErrorMsg):
2740 * loader/icon/SQLTransaction.cpp:
2741 * loader/icon/SQLTransaction.h: Added.
2743 2006-08-22 Brady Eidson <beidson@apple.com>
2747 The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
2748 As such, I'm renaming it to IconDataCache.
2749 Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the
2750 TimeStamp when an icon is created or the data is changed.
2751 IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
2752 IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
2753 The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
2755 * WebCore.xcodeproj/project.pbxproj: Renamed a file
2756 * loader/icon/IconDataCache.cpp: Added.
2757 (IconDataCache::IconDataCache):
2758 (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
2759 (IconDataCache::manuallySetImageData): Delete the old image and create the new one
2760 (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
2761 (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
2762 * loader/icon/IconDatabase.cpp:
2763 (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
2764 (WebCore::IconDatabase::iconForPageURL):
2765 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
2766 (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
2767 (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
2768 (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
2769 * loader/icon/IconDatabase.h:
2770 (WebCore::IconDataCache::getTimestamp):
2771 (WebCore::IconDataCache::setTimestamp):
2772 * loader/icon/SiteIcon.cpp: Removed.
2775 2006-08-22 Justin Garcia <justin.garcia@apple.com>
2777 Reviewed by harrison
2779 <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
2780 REGRESSION(r15918): drag-into-marker.html failing
2782 * editing/ReplaceSelectionCommand.cpp:
2783 (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
2786 2006-08-22 Brady Eidson <beidson@apple.com>
2790 Added a check in getTIFFRepresentation to not proceed if the frame count is zero
2791 This is an error condition that was handled gracefully before - in certain circumstances
2792 the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
2793 or invalid data. This small change bails out before that call if that call will definitely fail
2795 * platform/mac/ImageMac.mm:
2796 (WebCore::Image::getTIFFRepresentation):
2798 2006-08-22 David Harrison <harrison@apple.com>
2800 Backed out my last change (r15966) because it broke lots of layout tests.
2802 * editing/TextIterator.cpp:
2803 (WebCore::TextIterator::advance):
2805 2006-08-22 Maciej Stachowiak <mjs@apple.com>
2809 - added some SPI indirections to support the following in WebKit/Loader:
2810 - pull more WebDataSource code into WebFrameLoader
2811 - make WebMainResourceLoader not depend on WebKit or on SPI
2814 * WebCore.xcodeproj/project.pbxproj:
2815 * platform/mac/WebCoreSystemInterface.h:
2816 * platform/mac/WebCoreSystemInterface.mm:
2818 2006-08-22 Justin Garcia <justin.garcia@apple.com>
2820 Reviewed by harrison
2822 <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
2824 * editing/ReplaceSelectionCommand.cpp:
2825 (WebCore::isInterchangeNewlineNode):
2826 (WebCore::isInterchangeConvertedSpaceSpan):
2827 (WebCore::ReplacementFragment::ReplacementFragment):
2828 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
2829 remove them and remove style nodes and style spans which were only contributing redundant styles.
2830 (WebCore::ReplaceSelectionCommand::doApply):
2831 * editing/ReplaceSelectionCommand.h:
2833 2006-08-22 David Harrison <harrison@apple.com>
2837 <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
2839 This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
2842 * manual-tests/inline-input-marking.html: Added.
2843 Check that underlining of the inline input hole does not obscure the glyphs.
2845 * rendering/InlineTextBox.cpp:
2846 (WebCore::InlineTextBox::paintMarkedTextUnderline):
2847 Position underline at bottom of text box.
2848 Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
2850 2006-08-22 Rob Buis <buis@kde.org>
2854 http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
2855 REPRO: SVG crashes inside gradient code
2857 Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
2859 * ksvg2/svg/SVGGradientElement.cpp:
2860 (SVGGradientElement::notifyAttributeChange):
2861 (SVGGradientElement::resourceNotification):
2863 2006-08-22 David Harrison <harrison@apple.com>
2867 <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
2869 * bridge/mac/WebCoreAXObject.mm:
2871 (-[WebCoreAXObject headingLevel]):
2872 (-[WebCoreAXObject isHeading]):
2873 New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
2875 (-[WebCoreAXObject role]):
2876 (-[WebCoreAXObject roleDescription]):
2877 Add role and roleDescription for headings.
2879 (-[WebCoreAXObject value]):
2880 Value is the headingLevel.
2882 (AXAttributeStringSetHeadingLevel):
2883 (AXAttributedStringAppendText):
2884 Put text's heading level (if applicable) in the attributes.
2886 2006-08-22 David Harrison <harrison@apple.com>
2890 <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2892 Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
2894 * editing/TextIterator.cpp:
2895 (WebCore::TextIterator::advance):
2898 2006-08-22 David Harrison <harrison@apple.com>
2902 <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
2904 * bridge/mac/WebCoreAXObject.mm:
2905 (-[WebCoreAXObject textMarkerRange]):
2906 Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
2907 Check for VisiblePositions being equal. If so, adjust end one to its next().
2908 That happens with, e.g., buttons.
2910 2006-08-22 Rob Buis <buis@kde.org>
2914 http://bugzilla.opendarwin.org/show_bug.cgi?id=10491
2915 KCanvasMatrix removal
2917 Remove KCanvasMatrix from project, using AffineTransform instead.
2919 * WebCore.xcodeproj/project.pbxproj:
2920 * kcanvas/KCanvasMatrix.cpp: Removed.
2921 * kcanvas/KCanvasMatrix.h: Removed.
2922 * kcanvas/KCanvasResources.cpp:
2923 (WebCore::KCanvasMarker::draw):
2924 * kcanvas/KCanvasResources.h:
2925 * kcanvas/RenderForeignObject.cpp:
2926 * kcanvas/RenderPath.h:
2927 * kcanvas/RenderSVGContainer.cpp:
2928 (WebCore::RenderSVGContainer::viewportTransform):
2929 (WebCore::RenderSVGContainer::getAspectRatio):
2930 * kcanvas/RenderSVGContainer.h:
2931 * kcanvas/RenderSVGText.cpp:
2932 * kcanvas/device/KRenderingDevice.h:
2933 * kcanvas/device/KRenderingPaintServerGradient.cpp:
2934 (WebCore::KRenderingPaintServerGradient::gradientTransform):
2935 (WebCore::KRenderingPaintServerGradient::setGradientTransform):
2936 (WebCore::KRenderingPaintServerGradient::externalRepresentation):
2937 * kcanvas/device/KRenderingPaintServerGradient.h:
2938 * kcanvas/device/KRenderingPaintServerPattern.cpp:
2939 (WebCore::KRenderingPaintServerPattern::patternTransform):
2940 (WebCore::KRenderingPaintServerPattern::setPatternTransform):
2941 (WebCore::KRenderingPaintServerPattern::externalRepresentation):
2942 * kcanvas/device/KRenderingPaintServerPattern.h:
2943 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2944 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2945 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2946 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2947 (WebCore::KRenderingDeviceContextQuartz::concatCTM):
2948 (WebCore::KRenderingDeviceContextQuartz::ctm):
2949 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2950 (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
2951 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2952 (WebCore::KRenderingPaintServerPatternQuartz::setup):
2953 * kcanvas/device/quartz/QuartzSupport.mm:
2954 * ksvg2/misc/KCanvasRenderingStyle.h:
2955 * ksvg2/svg/SVGAnimateTransformElement.cpp:
2956 * ksvg2/svg/SVGAnimateTransformElement.h:
2957 * ksvg2/svg/SVGLinearGradientElement.cpp:
2958 (SVGLinearGradientElement::buildGradient):
2959 * ksvg2/svg/SVGPatternElement.cpp:
2960 (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2961 (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2962 (WebCore::SVGPatternElement::notifyAttributeChange):
2963 * ksvg2/svg/SVGPatternElement.h:
2964 * ksvg2/svg/SVGRadialGradientElement.cpp:
2965 (WebCore::SVGRadialGradientElement::buildGradient):
2967 2006-08-22 Rob Buis <buis@kde.org>
2971 http://bugzilla.opendarwin.org/show_bug.cgi?id=10405
2972 REPRO: SVG Maze crashes in RenderPath code
2974 Do not render a path when it is empty so maze15.svg does not crash anymore.
2975 Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
2977 * kcanvas/RenderPath.cpp:
2978 (WebCore::RenderPath::paint):
2979 * kcanvas/device/quartz/KCanvasPathQuartz.mm:
2980 (WebCore::KCanvasPathQuartz::strokeBoundingBox):
2982 2006-08-21 Brady Eidson <beidson@apple.com>
2986 <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
2988 Added a flag to track whether or not the initial pruning has taken place on startup
2989 If that flag is not set, IconURL retain counts will be tracked in a temporary db table
2990 in addition to the in-memory hash. Then when the timer fires after initial retains
2991 are complete, we prune those icons not in the retain table, prune dangling PageURL
2992 references, delete the temporary table, and set the flag - and carry on as normal
2994 * loader/icon/IconDatabase.cpp:
2995 (WebCore::IconDatabase::IconDatabase): initialize the flag
2996 (WebCore::IconDatabase::open): changed the schema of the temporary table
2997 (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
2998 (WebCore::IconDatabase::releaseIconURL): ditto
2999 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
3000 wipe all the PageURLs who no longer point to a valid IconURL
3001 * loader/icon/IconDatabase.h:
3003 2006-08-21 Alexey Proskuryakov <ap@nypop.com>
3007 http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
3008 XSLTProcessor transformToFragment fails because of an XML declaration
3010 Test: fast/xsl/transformToFragment-XML-declaration.html
3012 * xml/XSLTProcessor.cpp:
3013 (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
3015 2006-08-21 David Harrison <harrison@apple.com>
3019 <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
3021 Added support for the NSAccessibilityMisspelledTextAttribute.
3023 Test cases added: None. Manual AX testing is way too awkward, and automated testing
3024 is not possible. See following bug...
3025 <rdar://problem/4256882> Need automated testing support for accessibility APIs
3027 * bridge/mac/WebCoreAXObject.mm:
3028 Lots of trivial formatting in many methods.
3030 (-[WebCoreAXObject accessibilityAttributeValue:]):
3031 Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
3032 of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
3035 (WebCore::AXAttributeStringSetSpelling):
3036 New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
3038 (-[WebCoreAXObject AXAttributedStringAppendText:]):
3039 Added call to AXAttributeStringSetSpelling.
3041 * editing/visible_units.cpp:
3042 (WebCore::startOfDocument):
3043 (WebCore::endOfDocument):
3044 Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
3045 so a previously existing VisiblePosition is not required.
3047 * editing/visible_units.h:
3048 Declare new forms of startOfDocument and endOfDocument.
3050 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
3054 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3055 WebKit should have Qt platform support
3057 * platform/qt/TemporaryLinkStubs.cpp: Added.
3058 (JavaAppletWidget::JavaAppletWidget):
3059 (Font::selectionRectForComplexText):
3060 (Font::offsetForPositionForComplexText):
3061 (WebCore::refreshPlugins):
3062 (WebCore::focusRingColor):
3064 (WebCore::TextField::selectAll):
3065 (WebCore::TextField::addSearchResult):
3066 (WebCore::TextField::selectionStart):
3067 (WebCore::TextField::hasSelectedText):
3068 (WebCore::TextField::selectedText):
3069 (WebCore::TextField::setAutoSaveName):
3070 (WebCore::TextField::checksDescendantsForFocus):
3071 (WebCore::TextField::setSelection):
3072 (WebCore::TextField::setMaxResults):
3073 (WebCore::TextField::edited):
3074 (WebCore::TextField::focusPolicy):
3075 (WebCore::TextField::TextField):
3076 (WebCore::TextField::~TextField):
3077 (WebCore::TextField::setFont):
3078 (WebCore::TextField::setAlignment):
3079 (WebCore::TextField::setWritingDirection):
3080 (WebCore::TextField::maxLength):
3081 (WebCore::TextField::setMaxLength):
3082 (WebCore::TextField::text):
3083 (WebCore::TextField::setText):
3084 (WebCore::TextField::cursorPosition):
3085 (WebCore::TextField::setCursorPosition):
3086 (WebCore::TextField::setEdited):
3087 (WebCore::TextField::setReadOnly):
3088 (WebCore::TextField::setPlaceholderString):
3089 (WebCore::TextField::setColors):
3090 (WebCore::TextField::sizeForCharacterWidth):
3091 (WebCore::TextField::baselinePosition):
3092 (WebCore::TextField::setLiveSearch):
3093 (WebCore::Slider::Slider):
3094 (WebCore::Slider::sizeHint):
3095 (WebCore::Slider::~Slider):
3096 (WebCore::Slider::setValue):
3097 (WebCore::Slider::setMaxValue):
3098 (WebCore::Slider::setMinValue):
3099 (WebCore::Slider::setFont):
3100 (WebCore::Slider::value):
3101 (WebCore::Slider::focusPolicy):
3102 (WebCore::ScrollBar::ScrollBar):
3103 (WebCore::ScrollBar::setSteps):
3104 (WebCore::ScrollBar::scroll):
3105 (WebCore::ScrollBar::setValue):
3106 (WebCore::ScrollBar::setKnobProportion):
3107 (WebCore::PlatformScrollBar::PlatformScrollBar):
3108 (WebCore::PlatformScrollBar::~PlatformScrollBar):
3109 (WebCore::PlatformScrollBar::width):
3110 (WebCore::PlatformScrollBar::height):
3111 (WebCore::PlatformScrollBar::setEnabled):
3112 (WebCore::PlatformScrollBar::paint):
3113 (WebCore::PlatformScrollBar::setScrollBarValue):
3114 (WebCore::PlatformScrollBar::setKnobProportion):
3115 (WebCore::PlatformScrollBar::setRect):
3116 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3117 (WebCore::CheckCacheObjectStatus):
3118 (WebCore::CheckIfReloading):
3119 (WebCore::ServeSynchronousRequest):
3120 (WebCore::historyContains):
3121 (WebCore::submitButtonDefaultLabel):
3122 (WebCore::inputElementAltText):
3123 (WebCore::resetButtonDefaultLabel):
3124 (WebCore::defaultLanguage):
3125 (WebCore::findNextSentenceFromIndex):
3126 (WebCore::findSentenceBoundary):
3127 (WebCore::findNextWordFromIndex):
3128 (WebCore::findWordBoundary):
3129 (Frame::setNeedsReapplyStyles):
3130 (WebCore::screenDepthPerComponent):
3131 (WebCore::screenIsMonochrome):
3132 (WebCore::searchableIndexIntroduction):
3133 (WebCore::setFocusRingColorChangeFunction):
3134 (FrameView::updateBorder):
3135 (loadResourceIntoArray):
3136 (PlugInInfoStore::createPluginInfoForPluginAtIndex):
3137 (PlugInInfoStore::pluginCount):
3138 (WebCore::PlugInInfoStore::supportsMIMEType):
3139 (FileButton::FileButton):
3140 (FileButton::click):
3141 (FileButton::sizeForCharacterWidth):
3142 (FileButton::focusPolicy):
3143 (FileButton::frameGeometry):
3144 (FileButton::setFilename):
3145 (FileButton::baselinePosition):
3146 (FileButton::setFrameGeometry):
3147 (FileButton::setDisabled):
3148 (WebCore::supportedKeySizes):
3149 (WebCore::signedPublicKeyAndChallengeString):
3151 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
3155 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3156 WebKit should have Qt platform support
3158 * platform/qt/CursorQt.cpp: Added.
3159 (WebCore::Cursor::Cursor):
3160 (WebCore::Cursor::~Cursor):
3161 (WebCore::Cursor::operator=):
3162 (WebCore::Cursors::Cursors::self):
3163 (WebCore::moveCursor):
3164 (WebCore::crossCursor):
3165 (WebCore::handCursor):
3166 (WebCore::iBeamCursor):
3167 (WebCore::waitCursor):
3168 (WebCore::helpCursor):
3169 (WebCore::eastResizeCursor):
3170 (WebCore::northResizeCursor):
3171 (WebCore::northEastResizeCursor):
3172 (WebCore::northWestResizeCursor):
3173 (WebCore::southResizeCursor):
3174 (WebCore::southEastResizeCursor):
3175 (WebCore::southWestResizeCursor):
3176 (WebCore::westResizeCursor):
3177 (WebCore::northSouthResizeCursor):
3178 (WebCore::eastWestResizeCursor):
3179 (WebCore::northEastSouthWestResizeCursor):
3180 (WebCore::northWestSouthEastResizeCursor):
3181 (WebCore::columnResizeCursor):
3182 (WebCore::rowResizeCursor):
3183 * platform/qt/RenderThemeQt.cpp: Added.
3184 (WebCore::RenderThemeQt::RenderThemeQt):
3185 (WebCore::RenderThemeQt::supportsHover):
3186 (WebCore::RenderThemeQt::paintCheckbox):
3187 (WebCore::RenderThemeQt::paintRadio):
3189 (WebCore::RenderThemeQt::isControlStyled):
3190 (WebCore::RenderThemeQt::controlSupportsTints):
3191 (WebCore::RenderThemeQt::systemFont):
3192 (WebCore::RenderThemeQt::createPopupMenu):
3193 (WebCore::RenderThemeQt::addIntrinsicMargins):
3194 (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
3195 (WebCore::RenderThemeQt::setCheckboxSize):
3196 (WebCore::RenderThemeQt::setRadioSize):
3197 (WebCore::RenderThemeQt::supportsFocus):
3198 (WebCore::RenderThemeQt::applyTheme):
3199 (WebCore::RenderThemeQt::adjustButtonStyle):
3200 (WebCore::RenderThemeQt::paintButton):
3201 (WebCore::RenderThemeQt::adjustTextFieldStyle):
3202 (WebCore::RenderThemeQt::paintTextField):
3204 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
3208 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3209 WebKit should have Qt platform support
3211 * platform/qt/SharedTimerQt.cpp: Added.
3212 (WebCore:setSharedTimerFiredFunction):
3213 (WebCore::setSharedTimerFireTime):
3214 (WebCore::stopSharedTimer):
3215 * platform/qt/SharedTimerQt.h: Added.
3216 (WebCore::SharedTimerQt::SharedTimerQt):
3217 (WebCore::SharedTimerQt::~SharedTimerQt):
3218 (WebCore::SharedTimerQt::inst):
3219 (WebCore::SharedTimerQt::fire):
3220 * platform/qt/SystemTimeQt.cpp: Added.
3221 (WebCore::currentTime):
3223 2006-08-21 Brady Eidson <beidson@apple.com>
3227 -Defers writing to the database via a timer and handles starting the timer
3230 * loader/icon/IconDatabase.cpp:
3231 (WebCore::IconDatabase::IconDatabase):
3232 (WebCore::IconDatabase::open): Don't start the update timer by default
3233 (WebCore::IconDatabase::close): Call syncDatabase()
3234 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
3235 (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
3236 (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
3237 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
3238 (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
3239 (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
3240 * loader/icon/IconDatabase.h:
3242 2006-08-21 Alexey Proskuryakov <ap@nypop.com>
3246 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10429
3247 XSLTProcessor.transformToFragment crashes if the owner document is empty
3249 Test: fast/js/xslt-fragment-in-empty-doc.html
3251 * dom/XMLTokenizer.cpp:
3252 (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
3254 2006-08-21 Brady Eidson <beidson@apple.com>
3258 -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
3259 In the near future, we'll also have timer-based deferred *addition* of database records
3260 -Keep retain/release counts in a hash instead of a DB table
3261 -Keep only one hash record for the SiteIcons
3262 -Renamed some methods for clarity
3264 * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
3265 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
3266 (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
3267 * loader/icon/IconDatabase.cpp:
3268 (WebCore::IconDatabase::IconDatabase):
3269 (WebCore::IconDatabase::open): Added new timer setup
3270 (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
3271 (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
3272 (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
3273 (WebCore::IconDatabase::retainIconURL): Added
3274 (WebCore::IconDatabase::releaseIconURL): Added
3275 (WebCore::IconDatabase::forgetPageURL): Added
3276 (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
3277 (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
3278 (WebCore::IconDatabase::setIconURLForPageURL):
3279 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
3280 (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
3281 (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
3282 * loader/icon/IconDatabase.h: Added multiple stuffs
3284 2006-08-21 Brady Eidson <beidson@apple.com>
3286 Reviewed by Maciej's rubberstamp
3288 Removed stale file references from the Xcode.proj
3290 * WebCore.xcodeproj/project.pbxproj:
3292 2006-08-20 Nikolas Zimmermann <zimmermann@kde.org>
3294 Reviewed by Maciej. Landed by rwlbuis.
3296 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
3297 WebKit should have Qt platform support
3299 Removing HelperQt.h usage by creating appropriate operators
3300 constructor in some of the platform classes, as suggested by Darin.
3303 * platform/DeprecatedString.h:
3305 * platform/PlatformString.h:
3306 * platform/qt/ComboBoxQt.cpp:
3307 (WebCore::PlatformComboBox::appendItem):
3308 (WebCore::PlatformComboBox::appendGroupLabel):
3309 (WebCore::PlatformComboBox::setFont):
3310 * platform/qt/LineEditQt.cpp:
3311 (WebCore::PlatformLineEdit::setFont):
3312 (WebCore::PlatformLineEdit::setText):
3313 (WebCore::PlatformLineEdit::text):
3314 (WebCore::PlatformLineEdit::selectedText):
3315 * platform/qt/ListBoxQt.cpp:
3316 (WebCore::ListBox::setFont):
3317 (WebCore::ListBox::appendItem):
3318 * platform/qt/PlatformKeyboardEventQt.cpp:
3319 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3320 * platform/qt/ScrollViewQt.cpp:
3321 * platform/qt/StringQt.cpp: Added.
3322 (WebCore::String::String):
3323 (WebCore::String::operator QString):
3324 (WebCore::DeprecatedString::operator QString):
3325 * platform/qt/TextEditQt.cpp:
3326 * platform/qt/WidgetQt.cpp:
3327 (WebCore::Widget::setFont):
3329 2006-08-18 Steve Falkenburg <sfalken@apple.com>
3331 Rubber stamped by adele.
3333 Fix call to WebFormDelegate's textFieldDidBeginEditing.
3335 * rendering/RenderTextControl.cpp:
3336 (WebCore::RenderTextControl::subtreeHasChanged):
3338 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3340 Reviewed by Eric. Landed by rwlbuis.
3342 Next chunk of the implementation for:
3343 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3345 WebKit should have Qt platform support
3347 * platform/qt/KeyboardCodes.h: Added.
3348 * platform/qt/PlatformKeyboardEventQt.cpp: Added.
3349 (WebCore::keyIdentifierForQtKeyCode):
3350 (WebCore::windowsKeyCodeForKeyEvent):
3351 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3352 * platform/qt/PlatformMouseEventQt.cpp: Added.
3354 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3356 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3358 Reviewed by Eric. Landed by rwlbuis.
3360 Next chunk of the implementation for:
3361 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3363 WebKit should have Qt platform support
3365 * platform/qt/AffineTransformQt.cpp: Added.
3366 (WebCore::AffineTransform::AffineTransform):
3367 (WebCore::AffineTransform::setMatrix):
3368 (WebCore::AffineTransform::map):
3369 (WebCore::AffineTransform::mapRect):
3370 (WebCore::AffineTransform::isIdentity):
3371 (WebCore::AffineTransform::m11):
3372 (WebCore::AffineTransform::m12):
3373 (WebCore::AffineTransform::m21):
3374 (WebCore::AffineTransform::m22):
3375 (WebCore::AffineTransform::dx):
3376 (WebCore::AffineTransform::dy):
3377 (WebCore::AffineTransform::reset):
3378 (WebCore::AffineTransform::scale):
3379 (WebCore::AffineTransform::rotate):
3380 (WebCore::AffineTransform::translate):
3381 (WebCore::AffineTransform::shear):
3382 (WebCore::AffineTransform::det):
3383 (WebCore::AffineTransform::invert):
3384 (WebCore::AffineTransform::operator QMatrix):
3385 (WebCore::AffineTransform::operator==):
3386 (WebCore::AffineTransform::operator*=):
3387 (WebCore::AffineTransform::operator*):
3388 * platform/qt/BrowserExtensionQt.cpp: Added.
3389 (WebCore::BrowserExtensionQt::BrowserExtensionQt):
3390 (WebCore::BrowserExtensionQt::canRunModal):
3391 (WebCore::BrowserExtensionQt::createNewWindow):
3392 (WebCore::BrowserExtensionQt::canRunModalNow):
3393 (WebCore::BrowserExtensionQt::runModal):
3394 (WebCore::BrowserExtensionQt::goBackOrForward):
3395 (WebCore::BrowserExtensionQt::historyURL):
3396 (WebCore::BrowserExtensionQt::setTypedIconURL):
3397 (WebCore::BrowserExtensionQt::setIconURL):
3398 (WebCore::BrowserExtensionQt::getHistoryLength):
3399 * platform/qt/BrowserExtensionQt.h: Added.
3400 * platform/qt/CookieJarQt.cpp: Added.
3401 (WebCore::setCookies):
3403 (WebCore::cookiesEnabled):
3404 * platform/qt/PageQt.cpp: Added.
3405 (WebCore::rootWindowForFrame):
3406 (WebCore::Page::windowRect):
3407 (WebCore::Page::setWindowRect):
3408 * platform/qt/PathQt.cpp: Added.
3409 (WebCore::Path::Path):
3410 (WebCore::Path::~Path):
3411 (WebCore::Path::operator=):
3412 (WebCore::Path::contains):
3413 (WebCore::Path::translate):
3414 (WebCore::Path::boundingRect):
3415 (WebCore::Path::moveTo):
3416 (WebCore::Path::addLineTo):
3417 (WebCore::Path::addQuadCurveTo):
3418 (WebCore::Path::addBezierCurveTo):
3419 (WebCore::Path::addArcTo):
3420 (WebCore::Path::closeSubpath):
3421 (WebCore::Path::addArc):
3422 (WebCore::Path::addRect):
3423 (WebCore::Path::addEllipse):
3424 (WebCore::Path::clear):
3425 * platform/qt/ScreenQt.cpp: Added.
3426 (WebCore::screenRect):
3427 (WebCore::screenDepth):
3428 (WebCore::usableScreenRect):
3431 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3433 Reviewed by Eric. Landed by rwlbuis.
3435 First chunk of the implementation for:
3436 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3438 WebKit should have Qt platform support
3440 * platform/qt/ComboBoxQt.cpp: Added.
3441 (WebCore::PlatformComboBox::PlatformComboBox):
3442 (WebCore::PlatformComboBox::~PlatformComboBox):
3443 (WebCore::PlatformComboBox::setParentWidget):
3444 (WebCore::PlatformComboBox::clear):
3445 (WebCore::PlatformComboBox::appendItem):
3446 (WebCore::PlatformComboBox::appendGroupLabel):
3447 (WebCore::PlatformComboBox::appendSeparator):
3448 (WebCore::PlatformComboBox::setCurrentItem):
3449 (WebCore::PlatformComboBox::sizeHint):
3450 (WebCore::PlatformComboBox::frameGeometry):
3451 (WebCore::PlatformComboBox::setFrameGeometry):
3452 (WebCore::PlatformComboBox::baselinePosition):
3453 (WebCore::PlatformComboBox::setFont):
3454 (WebCore::PlatformComboBox::focusPolicy):
3455 (WebCore::PlatformComboBox::itemSelected):
3456 (WebCore::PlatformComboBox::setWritingDirection):
3457 (WebCore::PlatformComboBox::populate):
3458 (WebCore::PlatformComboBox::populateMenu):
3459 * platform/qt/LineEditQt.cpp: Added.
3460 (WebCore::PlatformLineEdit::PlatformLineEdit):
3461 (WebCore::PlatformLineEdit::~PlatformLineEdit):
3462 (WebCore::PlatformLineEdit::setParentWidget):
3463 (WebCore::PlatformLineEdit::setColors):
3464 (WebCore::PlatformLineEdit::setAlignment):
3465 (WebCore::PlatformLineEdit::setCursorPosition):
3466 (WebCore::PlatformLineEdit::cursorPosition):
3467 (WebCore::PlatformLineEdit::setEdited):
3468 (WebCore::PlatformLineEdit::edited):
3469 (WebCore::PlatformLineEdit::setFont):
3470 (WebCore::PlatformLineEdit::setMaxLength):
3471 (WebCore::PlatformLineEdit::maxLength):
3472 (WebCore::PlatformLineEdit::setReadOnly):
3473 (WebCore::PlatformLineEdit::isReadOnly):
3474 (WebCore::PlatformLineEdit::setText):
3475 (WebCore::PlatformLineEdit::text):
3476 (WebCore::PlatformLineEdit::setWritingDirection):
3477 (WebCore::PlatformLineEdit::selectAll):
3478 (WebCore::PlatformLineEdit::hasSelectedText):
3479 (WebCore::PlatformLineEdit::selectionStart):
3480 (WebCore::PlatformLineEdit::selectedText):
3481 (WebCore::PlatformLineEdit::setSelection):
3482 (WebCore::PlatformLineEdit::sizeForCharacterWidth):
3483 (WebCore::PlatformLineEdit::baselinePosition):
3484 (WebCore::PlatformLineEdit::focusPolicy):
3485 (WebCore::PlatformLineEdit::checksDescendantsForFocus):
3486 (WebCore::PlatformLineEdit::setLiveSearch):
3487 (WebCore::PlatformLineEdit::setAutoSaveName):
3488 (WebCore::PlatformLineEdit::setMaxResults):
3489 (WebCore::PlatformLineEdit::setPlaceholderString):
3490 (WebCore::PlatformLineEdit::addSearchResult):
3491 * platform/qt/ListBoxQt.cpp: Added.
3492 (WebCore::ListBox::ListBox):
3493 (WebCore::ListBox::~ListBox):
3494 (WebCore::ListBox::setParentWidget):
3495 (WebCore::ListBox::sizeForNumberOfLines):
3496 (WebCore::ListBox::setSelectionMode):
3497 (WebCore::ListBox::clear):
3498 (WebCore::ListBox::doneAppendingItems):
3499 (WebCore::ListBox::setSelected):
3500 (WebCore::ListBox::isSelected):
3501 (WebCore::ListBox::setEnabled):
3502 (WebCore::ListBox::isEnabled):
3503 (WebCore::ListBox::setWritingDirection):
3504 (WebCore::ListBox::focusPolicy):
3505 (WebCore::ListBox::checksDescendantsForFocus):
3506 (WebCore::ListBox::clearCachedTextRenderers):
3507 (WebCore::ListBox::setFont):
3508 (WebCore::ListBox::appendItem):
3509 * platform/qt/ScrollViewQt.cpp: Added.
3510 (WebCore::ScrollView::ScrollView):
3511 (WebCore::ScrollView::~ScrollView):
3512 (WebCore::ScrollView::setParentWidget):
3513 (WebCore::ScrollView::updateContents):
3514 (WebCore::ScrollView::visibleWidth):
3515 (WebCore::ScrollView::visibleHeight):
3516 (WebCore::ScrollView::visibleContentRect):
3517 (WebCore::ScrollView::setContentsPos):
3518 (WebCore::ScrollView::resizeContents):
3519 (WebCore::ScrollView::contentsX):
3520 (WebCore::ScrollView::contentsY):
3521 (WebCore::ScrollView::contentsWidth):
3522 (WebCore::ScrollView::contentsHeight):
3523 (WebCore::ScrollView::viewportToContents):
3524 (WebCore::ScrollView::contentsToViewport):
3525 (WebCore::ScrollView::scrollOffset):
3526 (WebCore::ScrollView::scrollBy):
3527 (WebCore::ScrollView::hScrollBarMode):
3528 (WebCore::ScrollView::vScrollBarMode):
3529 (WebCore::ScrollView::suppressScrollBars):
3530 (WebCore::ScrollView::setHScrollBarMode):
3531 (WebCore::ScrollView::setVScrollBarMode):
3532 (WebCore::ScrollView::setScrollBarsMode):
3533 (WebCore::ScrollView::setStaticBackground):
3534 (WebCore::ScrollView::addChild):
3535 (WebCore::ScrollView::removeChild):
3536 (WebCore::ScrollView::scrollPointRecursively):
3537 (WebCore::ScrollView::inWindow):
3538 * platform/qt/TextEditQt.cpp: Added.
3539 (WebCore::PlatformTextEdit::PlatformTextEdit):
3540 (WebCore::PlatformTextEdit::~PlatformTextEdit):
3541 (WebCore::PlatformTextEdit::setParentWidget):
3542 (WebCore::PlatformTextEdit::setColors):
3543 (WebCore::PlatformTextEdit::setAlignment):
3544 (WebCore::PlatformTextEdit::setLineHeight):
3545 (WebCore::PlatformTextEdit::setCursorPosition):
3546 (WebCore::PlatformTextEdit::getCursorPosition):
3547 (WebCore::PlatformTextEdit::setFont):
3548 (WebCore::PlatformTextEdit::setReadOnly):
3549 (WebCore::PlatformTextEdit::isReadOnly):
3550 (WebCore::PlatformTextEdit::setDisabled):
3551 (WebCore::PlatformTextEdit::isDisabled):
3552 (WebCore::PlatformTextEdit::hasSelectedText):
3553 (WebCore::PlatformTextEdit::setText):
3554 (WebCore::PlatformTextEdit::text):
3555 (WebCore::PlatformTextEdit::textWithHardLineBreaks):
3556 (WebCore::PlatformTextEdit::focusPolicy):
3557 (WebCore::PlatformTextEdit::setWordWrap):
3558 (WebCore::PlatformTextEdit::wordWrap):
3559 (WebCore::PlatformTextEdit::setScrollBarModes):
3560 (WebCore::PlatformTextEdit::setWritingDirection):
3561 (WebCore::PlatformTextEdit::selectionStart):
3562 (WebCore::PlatformTextEdit::selectionEnd):
3563 (WebCore::PlatformTextEdit::setSelectionStart):
3564 (WebCore::PlatformTextEdit::setSelectionEnd):
3565 (WebCore::PlatformTextEdit::selectAll):
3566 (WebCore::PlatformTextEdit::setSelectionRange):
3567 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
3568 (WebCore::PlatformTextEdit::checksDescendantsForFocus):
3569 * platform/qt/WidgetQt.cpp: Added.
3570 (WebCore::WidgetPrivate::WidgetPrivate):
3571 (WebCore::WidgetPrivate::~WidgetPrivate):
3572 (WebCore::Widget::Widget):
3573 (WebCore::Widget::~Widget):
3574 (WebCore::Widget::setClient):
3575 (WebCore::Widget::client):
3576 (WebCore::Widget::frameGeometry):
3577 (WebCore::Widget::hasFocus):
3578 (WebCore::Widget::setFocus):
3579 (WebCore::Widget::clearFocus):
3580 (WebCore::Widget::font):
3581 (WebCore::Widget::setFont):
3582 (WebCore::Widget::setCursor):
3583 (WebCore::Widget::show):
3584 (WebCore::Widget::hide):
3585 (WebCore::Widget::setQWidget):
3586 (WebCore::Widget::qwidget):
3587 (WebCore::Widget::setParentWidget):
3588 (WebCore::Widget::parentWidget):
3589 (WebCore::Widget::setFrameGeometry):
3590 (WebCore::Widget::mapFromGlobal):
3591 (WebCore::Widget::scaleFactor):
3592 (WebCore::Widget::lockDrawingFocus):
3593 (WebCore::Widget::unlockDrawingFocus):
3594 (WebCore::Widget::paint):
3595 (WebCore::Widget::enableFlushDrawing):
3596 (WebCore::Widget::isEnabled):
3597 (WebCore::Widget::setIsSelected):
3598 (WebCore::Widget::disableFlushDrawing):
3599 (WebCore::Widget::setEnabled):
3600 (WebCore::Widget::focusPolicy):
3602 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3604 Reviewed by Eric. Landed by rwlbuis.
3606 First chunk of the implementation for:
3607 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3609 WebKit should have Qt platform support
3611 * platform/qt/ColorQt.cpp: Added.
3612 (WebCore::Color::Color):
3613 (WebCore::Color::operator QColor):
3614 * platform/qt/FloatPointQt.cpp: Added.
3615 (WebCore::FloatPoint::FloatPoint):
3616 (WebCore::FloatPoint::operator QPointF):
3617 * platform/qt/FloatRectQt.cpp: Added.
3618 (WebCore::FloatRect::FloatRect):
3619 (WebCore::FloatRect::operator QRectF):
3620 * platform/qt/IntPointQt.cpp: Added.
3621 (WebCore::IntPoint::IntPoint):
3622 (WebCore::IntPoint::operator QPoint):
3623 * platform/qt/IntRectQt.cpp: Added.
3624 (WebCore::IntRect::IntRect):
3625 (WebCore::IntRect::operator QRect):
3626 * platform/qt/IntSizeQt.cpp: Added.
3627 (WebCore::IntSize::IntSize):
3628 (WebCore::IntSize::operator QSize):
3630 2006-08-18 Nikolas Zimmermann <zimmermann@kde.org>
3632 Reviewed by Eric. Landed by rwlbuis.
3634 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
3635 The Qt platform needs a KCanvas device.
3637 * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
3638 (WebCore::KCanvasClipperQt::applyClip):
3639 * kcanvas/device/qt/KCanvasClipperQt.h: Added.
3640 (WebCore::KCanvasClipperQt::KCanvasClipperQt):
3641 * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
3642 (WebCore::KCanvasPathQt::KCanvasPathQt):
3643 (WebCore::KCanvasPathQt::~KCanvasPathQt):
3644 (WebCore::KCanvasPathQt::isEmpty):
3645 (WebCore::KCanvasPathQt::moveTo):
3646 (WebCore::KCanvasPathQt::lineTo):
3647 (WebCore::KCanvasPathQt::curveTo):
3648 (WebCore::KCanvasPathQt::closeSubpath):
3649 (WebCore::KCanvasPathQt::boundingBox):
3650 (WebCore::KCanvasPathQt::strokeBoundingBox):
3651 (WebCore::KCanvasPathQt::strokeContainsPoint):
3652 (WebCore::KCanvasPathQt::containsPoint):
3653 * kcanvas/device/qt/KCanvasPathQt.h: Added.
3654 (WebCore::KCanvasPathQt::qtPath):
3655 * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
3656 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
3657 (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
3658 (WebCore::KRenderingDeviceContextQt::concatCTM):
3659 (WebCore::KRenderingDeviceContextQt::ctm):
3660 (WebCore::KRenderingDeviceContextQt::mapFromVisual):
3661 (WebCore::KRenderingDeviceContextQt::mapToVisual):
3662 (WebCore::KRenderingDeviceContextQt::clearPath):
3663 (WebCore::KRenderingDeviceContextQt::addPath):
3664 (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
3665 (WebCore::KRenderingDeviceContextQt::painter):
3666 (WebCore::KRenderingDeviceContextQt::pathBBox):
3667 (WebCore::KRenderingDeviceContextQt::setFillRule):
3668 (WebCore::KRenderingDeviceContextQt::fillPath):
3669 (WebCore::KRenderingDeviceContextQt::strokePath):
3670 (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
3671 (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
3672 (WebCore::KRenderingDeviceQt::popContext):
3673 (WebCore::KRenderingDeviceQt::pushContext):
3674 (WebCore::KRenderingDeviceQt::qtContext):
3675 (WebCore::KRenderingDeviceQt::contextForImage):
3676 (WebCore::KRenderingDeviceQt::stringForPath):
3677 (WebCore::KRenderingDeviceQt::createResource):
3678 (WebCore::KRenderingDeviceQt::createPaintServer):
3679 (WebCore::KRenderingDeviceQt::createFilterEffect):
3681 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3683 Reviewed by Eric. Landed by rwlbuis.
3685 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
3686 WebKit should have Qt platform support.
3689 * platform/Cursor.h:
3690 (WebCore::Cursor::Cursor):
3691 * platform/FloatPoint.h:
3692 * platform/FloatRect.h:
3693 * platform/GlyphBuffer.h:
3694 (WebCore::GlyphBuffer::glyphAt):
3695 (WebCore::GlyphBuffer::advanceAt):
3696 (WebCore::GlyphBuffer::add):
3697 * platform/GraphicsContext.h:
3698 * platform/ImageSource.h:
3699 * platform/IntPoint.h:
3700 * platform/IntRect.h:
3701 * platform/IntSize.h:
3702 * platform/ListBox.h:
3704 * platform/PlatformKeyboardEvent.h:
3705 * platform/PlatformMouseEvent.h:
3706 * platform/ResourceLoader.h:
3707 * platform/ResourceLoaderClient.h:
3708 * platform/ResourceLoaderInternal.h:
3709 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3710 * platform/ScrollView.h:
3711 * platform/Widget.h:
3713 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3715 Reviewed by Eric. Landed by rwlbuis.
3717 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
3718 General WebKit Linux build fixes.
3720 * kcanvas/KCanvasFilters.cpp:
3721 (WebCore::operator<<):
3722 * kcanvas/RenderSVGImage.cpp:
3723 * ksvg2/css/SVGCSSStyleSelector.cpp:
3724 * ksvg2/svg/SVGAnimateColorElement.cpp:
3725 * ksvg2/svg/SVGMaskElement.cpp:
3726 * ksvg2/svg/SVGPatternElement.cpp:
3728 * rendering/RenderStyle.h:
3729 (WebCore::RenderStyle::deleteBindingURIs):
3730 * xml/DOMParser.cpp:
3732 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3734 Reviewed by Eric. Landed by rwlbuis.
3736 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
3737 Offer a cmake build system for Qt platform.
3739 * CMakeLists.txt: Added.
3741 2006-08-17 David Harrison <harrison@apple.com>
3743 Reviewed by John Sullivan.
3745 <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
3747 Accessorized RenderMenuList objects.
3749 * bridge/mac/WebCoreAXObject.mm:
3750 (-[WebCoreAXObject mouseButtonListener]):
3753 (-[WebCoreAXObject actionElement]):
3754 Return the HTMLSelectElement.
3756 (-[WebCoreAXObject firstChild]):
3757 (-[WebCoreAXObject lastChild]):
3758 (-[WebCoreAXObject previousSibling]):
3759 (-[WebCoreAXObject nextSibling]):
3760 (-[WebCoreAXObject parentObject]):
3761 (-[WebCoreAXObject parentObjectUnignored]):
3762 (-[WebCoreAXObject isAttachment]):
3763 (-[WebCoreAXObject attachmentView]):
3766 (-[WebCoreAXObject role]):
3767 Return NSAccessibilityPopUpButtonRole.
3769 (-[WebCoreAXObject subrole]):
3772 (-[WebCoreAXObject roleDescription]):
3773 Return NSAccessibilityPopUpButtonRole.
3775 (-[WebCoreAXObject textUnderElement]):
3778 (-[WebCoreAXObject value]):
3779 Return the RenderMenuList::text().
3781 (-[WebCoreAXObject position]):
3784 (-[WebCoreAXObject accessibilityIsIgnored]):
3785 - Ignore popup menu items because AppKit does.
3786 - Remove redundant check for buttonTag (earlier isControl() check suffices).
3788 (-[WebCoreAXObject accessibilityAttributeNames]):
3789 (-[WebCoreAXObject accessibilityActionNames]):
3790 (-[WebCoreAXObject accessibilityAttributeValue:]):
3793 (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
3794 Removed old debugging code that is no longer needed.
3797 (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
3798 (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
3799 (-[WebCoreAXObject removeAXObjectID]):
3802 * html/HTMLSelectElement.cpp:
3803 (WebCore::HTMLSelectElement::accessKeyAction):
3804 Call click() instead of focus().
3806 * rendering/RenderMenuList.cpp:
3807 (WebCore::RenderMenuList::text):
3808 Added for easy access to popup's current text.
3810 * rendering/RenderMenuList.h:
3811 (WebCore::RenderMenuList::isMenuList):
3812 * rendering/RenderObject.h:
3813 (WebCore::RenderObject::isMenuList):
3814 Added so popups can be identified.
3816 2006-08-17 David Harrison <harrison@apple.com>
3820 <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
3822 Test cases added: None. Manual AX testing is way too awkward, and automated testing
3823 is not possible. See following bug...
3824 <rdar://problem/4256882> Need automated testing support for accessibility APIs
3826 * bridge/mac/AXObjectCacheMac.mm:
3827 (WebCore::AXObjectCache::visiblePositionForTextMarker):
3828 Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
3830 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3834 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
3835 AffineTransform should be multi-platform compatible
3837 * platform/AffineTransform.h:
3838 * platform/cg/AffineTransformCG.cpp:
3839 (WebCore::AffineTransform::m11):
3840 (WebCore::AffineTransform::m12):
3841 (WebCore::AffineTransform::m21):
3842 (WebCore::AffineTransform::m22):
3843 (WebCore::AffineTransform::dx):
3844 (WebCore::AffineTransform::dy):
3846 2006-08-16 David Hyatt <hyatt@apple.com>
3848 Fix an issue with CSS2 system fonts where they did not respect text
3849 zoom. This was most visible with the new control fonts used for form
3850 controls (they stopped swapping between small/mini/regular as you zoomed).
3854 * css/cssstyleselector.cpp:
3855 (WebCore::CSSStyleSelector::applyProperty):
3857 2006-08-15 Justin Garcia <justin.garcia@apple.com>
3859 Reviewed by thatcher
3861 First part of fix for:
3862 <rdar://problem/4384589>
3863 Mail hung on paste text
3866 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
3867 Extra line left after deleting whitespace:pre text
3868 <rdar://problem/4128080> Paste as HTML does not yield equivalent style
3869 <rdar://problem/4046469> Box styles on first element aren't copied/pasted
3870 Copy/paste of arstechnica.com
3872 Here's how we avoid adding redundant style information on paste: insert
3873 the fragment and do a test rendering, save away style information for
3874 every node in the fragment, remove all style information from the fragment,
3875 remove the fragment, insert it into the appropriate place in the document,
3876 then restore only those styles gathered during the test insertion that aren't
3877 redundant. Restoring the styles in this way results in an ApplyStyleCommand
3878 and a layout for nearly every inserted node.
3879 Instead we want to insert the fragment into the document without removing the
3880 style information, then mark style nodes and inline style declarations for
3881 removal if they are redundant, and sweep to remove them. This means that we
3882 can't rely on ReplacementFragment::wasBlock anymore, because blocks will now
3883 have style spans around them. This patch removes the use of wasBlock in
3884 ReplaceSelectionCommand.
3886 * editing/CompositeEditCommand.cpp:
3887 (WebCore::CompositeEditCommand::moveParagraphs): Added code
3888 to remove the line placeholder left after a move from preserveNewline text.
3889 * editing/DeleteSelectionCommand.cpp:
3890 (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if
3891 we're deleting a paragraph in preserveNewline text.
3892 * editing/JSEditor.cpp: Pass true to prevent nesting.
3893 * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
3894 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
3895 (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
3896 (WebCore::RenderingInfo::RenderingInfo): Ditto.
3897 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3898 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
3899 merging rules into one method.
3900 (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
3901 (WebCore::ReplaceSelectionCommand::shouldMerge):
3902 (WebCore::ReplaceSelectionCommand::doApply):
3903 Don't do nesting prevention when pasting into an empty paragraph, this
3904 fixes 4046469, the common cause of paste fidelity bugs, but needs
3905 to be tweaked a little because this can lead to margin/border build-up
3906 on repeated copy/pastes.
3907 Don't track startPos in addition to insertionPos. It was never used.
3908 Fixed a bug where a fragment starting with an interchange newline would
3909 cause content to be put outside of an editable region when pasting at the
3911 Adjust insertionPos before insertion (not during) and do not consult wasBlock
3912 to decide whether or not to do so.
3913 Changed the way we do the start merge: insert the fragment, then stich
3914 paragraphs together, in the same way that we do the end merge. This
3915 doesn't require wasBlock and fixes bugs.
3916 Replaced some uses of insertionPos with endOfInsertedContent.
3917 Fixed a bug in the expansion of the last incoming br (a "collapsed" br
3918 is one where !isStartOfParagraph([br,0])).
3919 Removed the special case code that did the end merge for the preserveNewline
3920 case, since this patch fixes the moveParagraph bug in the preserveNewline case.
3921 Removed some unused variables.
3922 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was
3923 holding a line open should always be displaced by inserted content, unless
3924 the inserted content ends with a br.
3925 (WebCore::ReplaceSelectionCommand::updateNodesInserted):
3926 * editing/ReplaceSelectionCommand.h:
3927 (WebCore::RenderingInfo::style):
3928 * editing/markup.cpp:
3929 (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
3930 annotate is true (when we're creating markup for the pasteboard).
3932 2006-08-16 John Sullivan <sullivan@apple.com>
3934 Reviewed by Brady Eidson
3936 - fixed <rdar://problem/4637156> underlines appearing in white selection text
3938 * rendering/InlineFlowBox.cpp:
3939 (WebCore::InlineFlowBox::paintDecorations):
3940 bail out if phase is PaintPhaseSelection and forceWhiteText is true
3942 2006-08-16 Brady Eidson <beidson@apple.com>
3946 Updated the DB version number and added a helpful comment explaining its meaning
3948 * loader/icon/IconDatabase.cpp:
3950 2006-08-16 Brady Eidson <beidson@apple.com>
3954 Major refactoring of new iconDB:
3955 -Instead of private browsing being handled by in-memory tables, it's now handled
3956 by a separate in-memory database with the same table names. This allows us to
3957 re-use the same SQL on either the main or private-browsing database
3958 -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
3959 "Query" that take a database as the method's argument so the same language can run on
3960 both private and main tables
3961 -Now that we have two DBs, moved the retain/release count to the m_mainDB
3962 -While I was at it, updated the schema to combine the Icon and IconResource table - cuts
3963 down on some high-usage, low value queries which were too expensive
3964 -Ditched the _url -> url convention for escaping urls for SQL. Now its url and escapedURL
3965 -Pruned tons of unused methods from previous revisions
3967 * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used
3968 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
3969 * loader/icon/IconDatabase.cpp:
3970 (WebCore::IconDatabase::IconDatabase): Updated initializer list
3971 (WebCore::IconDatabase::open): Sets up both databases
3972 (WebCore::IconDatabase::close): Closes both databases
3973 (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
3974 (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
3975 (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
3976 (WebCore::IconDatabase::createDatabaseTables): Ditto
3977 (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
3978 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
3979 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
3980 (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
3981 (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes
3982 (WebCore::IconDatabase::releaseIconForPageURL): Ditto
3983 (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
3984 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
3985 (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
3986 (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
3987 (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
3988 (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
3989 (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
3990 (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
3991 (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
3992 (WebCore::IconDatabase::~IconDatabase):
3993 (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
3994 (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
3995 (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
3996 (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
3997 (WebCore::forgetPageURLQuery): Self-explanatory SQL query
3998 (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
3999 (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
4000 (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
4001 (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
4002 * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
4003 (WebCore::IconDatabase::isOpen): Changed our meaning of "isOpen" to reflect the 2 databases
4005 2006-08-15 Jonas Witt <jonas.witt@gmail.com>
4009 - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
4010 http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
4012 * bindings/objc/DOMEvents.mm:
4013 (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
4014 * bindings/objc/DOMEventsNonstandard.mm:
4015 (-[DOMWheelEvent initWheelEvent:::::::::::]):
4016 * bindings/objc/DOMPrivate.h:
4018 - added an initializer for the WheelEvent
4020 * dom/WheelEvent.cpp:
4021 (WebCore::WheelEvent::initWheelEvent):
4024 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
4028 Build fix: DWARF and -gfull are incompatible with symbol separation.
4030 * WebCore.xcodeproj/project.pbxproj:
4032 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
4036 http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
4037 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
4039 * WebCore.xcodeproj/project.pbxproj:
4041 2006-08-15 Geoffrey Garen <ggaren@apple.com>
4045 - This patch reworks a previous fix for <rdar://problem/3524912> repro
4046 crash in KHTMLParser::parseToken, due to parser's current element being
4047 destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
4050 The previous solutions caused a ~2% performance regression on iBench HTML,
4051 due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
4052 for a total win of ~3% vs current TOT.
4054 We can merge this fix to the branch to fix <rdar://problem/4661982>
4055 (crash in KHTMLParser::popBlock).
4057 The solution here is:
4058 (1) Don't let the parser ref document nodes -- that causes leaks.
4059 (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when
4060 moving a node between stacks or to/from 'current', rather than deref'ing
4061 and then ref'ing again, simply move the node, along with its refcount, to
4062 its new location, and overwrite its old location.
4064 * WebCore.xcodeproj/project.pbxproj:
4065 * html/HTMLParser.cpp:
4066 (WebCore::HTMLStackElem::HTMLStackElem):
4067 (WebCore::HTMLStackElem::derefNode):
4068 (WebCore::HTMLParser::HTMLParser):
4069 (WebCore::HTMLParser::setCurrent):
4070 (WebCore::HTMLParser::insertNode):
4071 (WebCore::HTMLParser::popNestedHeaderTag):
4072 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
4073 (WebCore::HTMLParser::reopenResidualStyleTags):
4074 (WebCore::HTMLParser::pushBlock):
4075 (WebCore::HTMLParser::popBlock):
4076 (WebCore::HTMLParser::popOneBlockCommon):
4077 (WebCore::HTMLParser::popOneBlock):
4078 (WebCore::HTMLParser::moveOneBlockToStack):
4079 * html/HTMLParser.h:
4081 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
4085 http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
4086 Bug 10384: Switch to DWARF for Release configuration
4088 * WebCore.xcodeproj/project.pbxproj:
4090 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
4093 Tweaked and landed by Darin.
4095 http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
4096 Bug 10399: RenderTextArea is unused
4098 * WebCore.vcproj/WebCore/WebCore.vcproj:
4099 * WebCore.xcodeproj/project.pbxproj:
4100 * WebCoreSources.bkl:
4101 Removed RenderTextArea source files.
4103 * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
4104 * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
4106 * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
4108 * platform/TextBox.h: Removed.
4109 * platform/mac/TextBoxMac.mm: Removed.
4110 * platform/mac/WebCoreTextArea.h: Removed.
4111 * platform/mac/WebCoreTextArea.mm: Removed.
4112 * rendering/RenderTextArea.cpp: Removed.
4113 * rendering/RenderTextArea.h: Removed.
4115 2006-08-15 Brady Eidson <beidson@apple.com>
4117 Reviewed by THE OTHER Maciej...
4120 1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
4121 2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
4122 null dereference later
4124 * bridge/mac/WebCoreIconDatabaseBridge.mm:
4125 (-[WebCoreIconDatabaseBridge retainIconForURL:]): Changed IconDatabase method name
4126 (-[WebCoreIconDatabaseBridge releaseIconForURL:]): ditto
4127 * loader/icon/IconDatabase.cpp:
4128 (WebCore::IconDatabase::retainIconForPageURL): Name change
4129 (WebCore::IconDatabase::releaseIconForPageURL): ditto
4130 (WebCore::IconDatabase::setIconURLForPageURL): Added the null site-icon check when changing a PageURL's iconURL
4131 * loader/icon/IconDatabase.h: Some renames
4133 2006-08-14 Eric Seidel <eric@eseidel.com>
4137 <mask>, <marker>, <pattern> inside <defs> do not work
4138 http://bugzilla.opendarwin.org/show_bug.cgi?id=6548