1 2006-08-29 Brady Eidson <beidson@apple.com>
3 Reviewed by Kevin Decker (Sarge)
5 <rdar://problem/4678414> - New IconDB needs to delete icons when asked
6 <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
8 * bridge/mac/WebCoreIconDatabaseBridge.h:
9 * bridge/mac/WebCoreIconDatabaseBridge.mm:
10 (-[WebCoreIconDatabaseBridge removeAllIcons]): Added
11 * loader/icon/IconDatabase.cpp:
12 (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
13 (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
14 (WebCore::IconDatabase::removeAllIcons): Actually implemented
15 (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
16 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
17 * loader/icon/IconDatabase.h:
18 * loader/icon/SQLDatabase.cpp:
19 (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
20 (WebCore::SQLDatabase::vacuum): Added
21 * loader/icon/SQLDatabase.h:
22 (WebCore::SQLDatabase::path): changed name from getPath()
24 2006-08-29 Brady Eidson <beidson@apple.com>
28 Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
29 This is a win on the iBench
31 * bridge/mac/WebCoreIconDatabaseBridge.h:
32 * bridge/mac/WebCoreIconDatabaseBridge.mm:
33 (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
34 * loader/icon/IconDatabase.cpp:
35 (WebCore::IconDatabase::setIconURLForPageURL):
36 * loader/icon/IconDatabase.h:
38 2006-08-29 Alice Liu <alice.liu@apple.com>
42 Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
44 * platform/mac/ScreenMac.mm:
45 (WebCore::flipScreenRect):
46 reverted the one line in this method back to what it was before r15765. This changed caused window.screenY to be incorrect.
48 2006-08-29 Darin Adler <darin@apple.com>
52 - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
54 The bug was that we would return "none" for computed style properties when they were
57 Test: fast/css/computed-style-negative-top.html
59 * css/CSSComputedStyleDeclaration.cpp:
60 (WebCore::valueForLength): Moved special case for "undefined length" out of here.
61 (WebCore::valueForMaxLength): Moved it into here.
62 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
63 only for max-height and max-width.
65 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
69 Add path-related SVG JavaScript bindings to generation.
73 2006-08-29 Eric Seidel <eric@eseidel.com>
77 Re-enable path-related SVG JavaScript bindings.
78 http://bugzilla.opendarwin.org/show_bug.cgi?id=10623
79 Split all SVGPathSeg*.idl files into Abs and Rel pieces.
80 Move all SVGPath*.idl files into ksvg2/svg
82 * DerivedSources.make:
83 * WebCore.xcodeproj/project.pbxproj:
84 * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
85 * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
86 * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
87 * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
88 * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
89 * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
90 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
91 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
92 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
93 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
94 * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
95 * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
96 * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
97 * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
98 * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
99 * ksvg2/ksvg.h: move SVGPathSegment enum
100 * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
101 (WebCore::SVGPathElement::toPathData):
102 * ksvg2/svg/SVGPathSeg.cpp:
103 (WebCore::SVGPathSeg::SVGPathSeg):
104 * ksvg2/svg/SVGPathSeg.h:
105 (WebCore::SVGPathSeg::):
106 * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
107 * ksvg2/svg/SVGPathSegArcRel.idl: Added.
108 * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
109 * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
110 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
111 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
112 * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
113 * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
114 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
115 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
116 * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
117 * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
118 * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
119 * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
120 * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
121 * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
122 * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
123 * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
125 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
127 Reviewed by Eric, landed by Anders.
129 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
131 Finish Unity merging. Remove libcurl usage, in favour of KIO.
132 This makes the regression testing fly! IO processing is way faster now.
135 * platform/ResourceLoaderInternal.h:
136 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
137 * platform/qt/FrameQt.cpp:
138 (WebCore::FrameQt::openURL):
139 (WebCore::FrameQt::submitForm):
140 (WebCore::FrameQt::urlSelected):
141 (WebCore::FrameQt::createEmptyDocument):
142 (WebCore::FrameQt::receivedData):
143 (WebCore::FrameQt::receivedAllData):
144 * platform/qt/FrameQt.h:
145 * platform/qt/ResourceLoaderCurl.cpp: Removed.
146 * platform/qt/ResourceLoaderManager.cpp:
147 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
148 (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
149 (WebCore::ResourceLoaderManager::self):
150 (WebCore::ResourceLoaderManager::slotData):
151 (WebCore::ResourceLoaderManager::slotMimetype):
152 (WebCore::ResourceLoaderManager::slotResult):
153 (WebCore::ResourceLoaderManager::remove):
154 (WebCore::ResourceLoaderManager::add):
155 * platform/qt/ResourceLoaderManager.h:
156 * platform/qt/ResourceLoaderQt.cpp: Added.
157 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
158 (WebCore::ResourceLoader::~ResourceLoader):
159 (WebCore::ResourceLoader::start):
160 (WebCore::ResourceLoader::cancel):
161 (WebCore::ResourceLoader::assembleResponseHeaders):
162 (WebCore::ResourceLoader::retrieveCharset):
163 (WebCore::ResourceLoader::receivedResponse):
165 2006-08-29 Timothy Hatcher <timothy@apple.com>
169 Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
170 http://bugzilla.opendarwin.org/show_bug.cgi?id=10632
172 Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
173 This is backwards compatible with the getter/setter methods.
174 Generate setter arguments with a "new" prefix to avoid the property
175 name conflict warning. Also removes some whitespace and the comments
176 that we added to the headers. This makes the headers look like what we ship now.
178 * bindings/objc/DOMCSS.mm:
179 (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
180 (-[DOMDocument getMatchedCSSRules::]): ditto.
181 * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
183 2006-08-30 Nikolas Zimmermann <zimmermann@kde.org>
185 Reviewed and landed by Anders.
187 Fix time calculation, by using a correct calculation. Calling time()
188 returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
189 Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
191 * platform/qt/SystemTimeQt.cpp:
192 (WebCore::currentTime):
194 2006-08-29 Sam Weinig <sam.weinig@gmail.com>
198 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
199 Auto-generate the remaining Objective-C DOM bindings
201 Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
202 and DOMHTMLOptionsCollection, and lays groundwork for the rest of the
203 HTML DOM bindings by adding/fixing the appropriate IDL's and updating
204 the CodeGeneratorObjC.pm build script.
206 * DerivedSources.make:
207 * WebCore.xcodeproj/project.pbxproj:
208 * bindings/objc/DOM.mm:
209 * bindings/objc/DOMExtensions.h:
210 * bindings/objc/DOMHTML.h:
211 * bindings/objc/DOMHTML.mm:
212 * bindings/objc/DOMHTMLInternal.h:
213 * bindings/scripts/CodeGeneratorObjC.pm:
214 * html/HTMLAnchorElement.idl:
215 * html/HTMLAreaElement.idl:
216 * html/HTMLBaseFontElement.idl:
217 * html/HTMLBodyElement.idl:
218 * html/HTMLButtonElement.idl:
219 * html/HTMLCollection.idl: Added.
220 * html/HTMLDocument.idl:
221 * html/HTMLElement.idl:
222 * html/HTMLFormElement.idl:
223 * html/HTMLFrameElement.idl: Added.
224 * html/HTMLFrameSetElement.idl: Added.
225 * html/HTMLIFrameElement.idl: Added.
226 * html/HTMLImageElement.idl:
227 * html/HTMLInputElement.idl:
228 * html/HTMLLabelElement.idl:
229 * html/HTMLLegendElement.idl:
230 * html/HTMLLinkElement.idl:
231 * html/HTMLMapElement.idl:
232 * html/HTMLObjectElement.idl: Added.
233 * html/HTMLOptionsCollection.idl:
234 * html/HTMLPreElement.idl:
235 * html/HTMLSelectElement.idl: Added.
236 * html/HTMLStyleElement.idl:
237 * html/HTMLTableCaptionElement.idl: Added.
238 * html/HTMLTableCellElement.idl: Added.
239 * html/HTMLTableColElement.idl: Added.
240 * html/HTMLTableElement.idl: Added.
241 * html/HTMLTableRowElement.idl: Added.
242 * html/HTMLTableSectionElement.idl: Added.
243 * html/HTMLTextAreaElement.idl:
245 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
247 Reviewed and landed by ap.
249 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10629.
250 Drawing convex polygons is broken in the Qt platform.
252 * platform/qt/GraphicsContextQt.cpp:
253 (WebCore::GraphicsContext::drawConvexPolygon):
255 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
259 Implementing font hashing properly, fixes weird crashes in HashMap.
261 * platform/qt/FontPlatformData.h:
262 * platform/qt/FontPlatformDataQt.cpp:
263 (WebCore::FontPlatformData::FontPlatformData):
264 (WebCore::FontPlatformData::hash):
266 2006-08-29 Nikolas Zimmermann <zimmermann@kde.org>
270 Fix scrollbars to reappear after the first layouting.
272 * platform/qt/ScrollViewQt.cpp:
273 (WebCore::ScrollView::suppressScrollBars):
275 2006-08-29 Anders Carlsson <acarlsson@apple.com>
277 Reviewed by Darin and Geoff.
279 Move the CF String functions to separate files in platform/cf.
280 Also, move the files in platform/cfnet to platform/cf.
282 * WebCore.xcodeproj/project.pbxproj:
283 * platform/PlatformString.h:
284 * platform/StringImpl.h:
285 * platform/cf/StringCF.cpp: Added.
286 (WebCore::String::String):
287 * platform/cf/StringImplCF.cpp: Added.
288 (WebCore::StringImpl::createCFString):
289 * platform/cfnet/KURLCFNet.cpp: Removed.
290 * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
291 * platform/mac/StringImplMac.mm:
292 * platform/mac/StringMac.mm:
294 2006-08-29 Geoffrey Garen <ggaren@apple.com>
296 Rolling out a change I included by accident in my last commit.
298 * bridge/mac/FrameMac.mm:
299 (WebCore::FrameMac::passMouseDownEventToWidget):
300 * platform/mac/SharedTimerMac.cpp:
301 (WebCore::setSharedTimerFireTime):
303 2006-08-28 Geoffrey Garen <ggaren@apple.com>
307 Added support for experimental CFNetwork-based loader (not turned on yet).
309 While I was there, I did the following platform cleanup:
310 - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
311 USE(CFNETWORK) idiom.
312 - Removed some #includes of windows.h in platform-independent headers.
313 - Changed #ifdef __APPLE__ to PLATFORM(MAC)
314 - Fixed some build bustage, including case-sensitive filesystem bustage.
317 (WebCore::Loader::receivedAllData):
320 * platform/ResourceLoader.h:
321 * platform/ResourceLoaderClient.h:
322 * platform/ResourceLoaderInternal.h:
323 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
324 * platform/cfnet/KURLCFNet.cpp: Added.
325 (WebCore::KURL::createCFURL):
326 * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
327 (WebCore::willSendRequest):
328 (WebCore::didReceiveChallenge):
329 (WebCore::didCancelChallenge):
330 (WebCore::didReceiveResponse):
331 (WebCore::didReceiveData):
332 (WebCore::didFinishLoading):
334 (WebCore::willCacheResponse):
335 (WebCore::addHeadersFromString):
336 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
337 (WebCore::ResourceLoader::~ResourceLoader):
338 (WebCore::arrayFromFormData):
339 (WebCore::emptyPerform):
340 (WebCore::runLoaderThread):
341 (WebCore::ResourceLoader::start):
342 (WebCore::ResourceLoader::cancel):
343 * platform/win/CursorWin.cpp:
345 2006-08-28 Justin Garcia <justin.garcia@apple.com>
349 <rdar://problem/4700341>
350 REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
352 * editing/ReplaceSelectionCommand.cpp:
353 (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
355 (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
357 2006-08-28 Tim Omernick <timo@apple.com>
359 Reviewed by John Sullivan.
361 Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
362 <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
365 No test cases added, since this is essentially a leak fix.
367 A brief history of NPP_GetValue(), NPObjects, and reference counting.
369 Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules. We failed to take
370 into account the fact that plug-ins are required to retain NPObjects before returning them. This creates several
371 classes of interesting plug-ins:
373 1) Plug-ins tested in WebKit and other browsers. These plug-ins may have WebKit-specific workarounds to not retain
374 the returned NPObject, thus avoiding the memory leak in WebKit.
376 2) Plug-ins tested only in other browsers. These plug-ins must already retain their NPObjects, since other browsers
377 implemented the NPRuntime retain/release rules correctly. These plug-ins likely work in WebKit, but probably leak
378 NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
380 3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
381 Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain. These plug-ins
382 work in older WebKits because WebKit did not expect the plug-in to retain the NPObject. Now that our retain
383 rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior. We could
384 potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
385 documented NPRuntime reference counting rules. Furthermore, it is extremely unlikely that someone would develop
386 a Netscape plug-in and test it *only* in WebKit. The entire purpose of creating a Netscape plugin is so that it
387 works in all browsers!
389 4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
390 These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
391 extra retain. A developer of this type of plug-in is probably unaware of the NPObject leak. A more savvy developer
392 would create a plug-in that fits into category #1.
394 I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
395 returned NPObject, and the browser is expected to release it when done. This means that plug-ins in category #3 need to be
396 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
397 this needs to be handled specifically by WebKit.
399 * bridge/mac/FrameMac.mm:
400 Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
401 retained NPObject. Also changed it to return an actual NPObject* instead of a void*. There is only one caller of this method,
402 and only one implementor. Using void* here is a needless abstraction. It's an NPObject*! Admit it!
403 (WebCore::getInstanceForView):
404 Release the NPObject after creating the bindings instance. This is the actual bug fix.
406 2006-08-28 Alice Liu <alice.liu@apple.com>
410 Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
413 (WebCore::Document::open):
414 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()
416 (WebCore::Frame::didExplicitOpen):
417 set the frame's url to the document's url
419 2006-08-28 Brady Eidson <beidson@apple.com>
421 Reviewed by Adele and Adam
423 Added an optimization to return early if there's no replacements to be made
425 * platform/StringImpl.cpp:
426 (WebCore::StringImpl::replace):
428 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
430 Reviewed and landed by ap.
432 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
433 Provide stub implementation of RenderPopupMenuQt.
436 * platform/qt/RenderPopupMenuQt.cpp: Added.
437 (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
438 (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
439 (WebCore::RenderPopupMenuQt::clear):
440 (WebCore::RenderPopupMenuQt::populate):
441 (WebCore::RenderPopupMenuQt::showPopup):
442 (WebCore::RenderPopupMenuQt::hidePopup):
443 (WebCore::RenderPopupMenuQt::addSeparator):
444 (WebCore::RenderPopupMenuQt::addGroupLabel):
445 (WebCore::RenderPopupMenuQt::addOption):
446 * platform/qt/RenderPopupMenuQt.h: Added.
447 * platform/qt/RenderThemeQt.cpp:
448 (WebCore::RenderThemeQt::systemFont):
449 (WebCore::RenderThemeQt::createPopupMenu):
451 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
453 Reviewed and landed by ap.
455 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
456 Offer QString -> DeprecatedString conversion.
458 * platform/DeprecatedString.h:
459 * platform/qt/StringQt.cpp:
460 (WebCore::DeprecatedString::DeprecatedString):
462 2006-08-28 Nikolas Zimmermann <zimmermann@kde.org>
464 Reviewed by Tim Hatcher.
466 Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
468 * platform/qt/RenderThemeQt.cpp:
469 (WebCore::RenderThemeQt::systemFont):
470 Remove annoying notImplemented() usage in systemFont()
472 2006-08-28 David Harrison <harrison@apple.com>
476 <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
478 * bridge/mac/WebCoreAXObject.mm:
479 (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
480 Add AXStyleTextMarkerRangeForTextMarker.
484 Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
486 (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
487 Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
489 (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
490 Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
492 2006-08-28 David Harrison <harrison@apple.com>
496 <rdar://problem/4517383> Hide all images used for spacing purpose in AX
498 * bridge/mac/WebCoreAXObject.mm:
499 (-[WebCoreAXObject accessibilityIsIgnored]):
500 Check for one-dimensional image
501 Check whether rendered image was stretched from one-dimensional file image
503 2006-08-27 Brady Eidson <beidson@apple.com>
507 Rewrote StringImpl::replace(UChar, StringImpl*)
509 * platform/StringImpl.cpp:
510 (WebCore::StringImpl::replace):
512 2006-08-27 Sam Weinig <sam.weinig@gmail.com>
516 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
517 WebCore needs autogenerated Obj-C DOM bindings
519 First round of auto-generated Objective C DOM bindings, starting
522 * DerivedSources.make:
523 * WebCore.xcodeproj/project.pbxproj:
524 * bindings/objc/DOM.mm:
525 (-[DOMNode description]):
526 (-[DOMNode KJS::Bindings::]):
527 (-[DOMNode dispatchEvent:]):
528 (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
529 (+[DOMNamedNodeMap _namedNodeMapWith:]):
530 (-[DOMNodeList _initWithNodeList:]):
531 (+[DOMNodeList _nodeListWith:]):
532 (-[DOMImplementation _initWithDOMImplementation:]):
533 (+[DOMImplementation _DOMImplementationWith:]):
534 (-[DOMImplementation _DOMImplementation]):
535 (+[DOMDocumentFragment _documentFragmentWith:]):
536 (-[DOMDocumentFragment _fragment]):
537 (-[DOMDocument createCSSStyleDeclaration]):
538 (+[DOMDocument _documentWith:]):
539 (-[DOMDocument _document]):
540 (-[DOMDocument _ownerElement]):
541 (+[DOMAttr _attrWith:]):
543 (+[DOMDocumentType _documentTypeWith:WebCore::]):
544 (-[DOMDocumentType WebCore::]):
545 (+[DOMText _textWith:WebCore::]):
546 (+[DOMComment _commentWith:WebCore::]):
547 (+[DOMCDATASection _CDATASectionWith:WebCore::]):
548 (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
549 (+[DOMEntityReference _entityReferenceWith:WebCore::]):
550 * bindings/objc/DOMCSS.h:
551 * bindings/objc/DOMCSS.mm:
552 * bindings/objc/DOMCore.h:
553 * bindings/objc/DOMEvents.h:
554 * bindings/objc/DOMEvents.mm:
555 * bindings/objc/DOMExtensions.h:
556 * bindings/objc/DOMHTML.mm:
557 (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
558 * bindings/objc/DOMHTMLInternal.h:
559 * bindings/objc/DOMImplementationFront.h:
560 * bindings/objc/DOMInternal.h:
561 * bindings/objc/DOMNode.h: Added.
562 * bindings/objc/DOMNode.mm: Added.
563 (-[DOMNode dealloc]):
564 (-[DOMNode finalize]):
565 (-[DOMNode nodeName]):
566 (-[DOMNode nodeValue]):
567 (-[DOMNode setNodeValue:]):
568 (-[DOMNode nodeType]):
569 (-[DOMNode parentNode]):
570 (-[DOMNode childNodes]):
571 (-[DOMNode firstChild]):
572 (-[DOMNode lastChild]):
573 (-[DOMNode previousSibling]):
574 (-[DOMNode nextSibling]):
575 (-[DOMNode attributes]):
576 (-[DOMNode ownerDocument]):
577 (-[DOMNode insertBefore::]):
578 (-[DOMNode replaceChild::]):
579 (-[DOMNode removeChild:]):
580 (-[DOMNode appendChild:]):
581 (-[DOMNode hasChildNodes]):
582 (-[DOMNode cloneNode:]):
583 (-[DOMNode normalize]):
584 (-[DOMNode isSupported::]):
585 (-[DOMNode namespaceURI]):
587 (-[DOMNode setPrefix:]):
588 (-[DOMNode localName]):
589 (-[DOMNode hasAttributes]):
590 (-[DOMNode isSameNode:]):
591 (-[DOMNode isEqualNode:]):
592 (-[DOMNode isDefaultNamespace:]):
593 (-[DOMNode lookupPrefix:]):
594 (-[DOMNode lookupNamespaceURI:]):
595 (-[DOMNode textContent]):
596 (-[DOMNode setTextContent:]):
597 (-[DOMNode boundingBox]):
598 (-[DOMNode lineBoxRects]):
599 * bindings/objc/DOMObject.h: Added.
600 * bindings/objc/DOMObject.mm: Added.
602 (-[DOMObject dealloc]):
603 (-[DOMObject finalize]):
604 (-[DOMObject copyWithZone:]):
605 (-[DOMObject sheet]):
606 * bindings/objc/DOMPrivate.h:
607 * bindings/objc/DOMRange.h:
608 * bindings/objc/DOMStylesheets.h:
609 * bindings/objc/DOMTraversal.h:
610 * bindings/objc/DOMViews.h:
611 * bindings/objc/DOMViews.mm:
612 * bindings/objc/DOMXPath.h:
613 * bindings/objc/DOMXPath.mm:
614 * bindings/scripts/CodeGenerator.pm:
615 * bindings/scripts/CodeGeneratorJS.pm:
616 * bindings/scripts/CodeGeneratorObjC.pm: Added.
618 * dom/CDATASection.idl: Added.
619 * dom/Comment.idl: Added.
620 * dom/DOMImplementation.idl:
623 * dom/EntityReference.idl: Added.
624 * dom/NamedNodeMap.idl: Added.
625 * dom/NodeList.idl: Added.
626 * dom/ProcessingInstruction.idl:
628 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
632 Fix crash in LayoutTests/css1/font_properties/font.html,
633 by implementing FontData::smallCapsFontData.
635 * platform/qt/FontDataQt.cpp:
636 (WebCore::FontData::platformDestroy):
637 (WebCore::FontData::smallCapsFontData):
639 2006-08-27 Brady Eidson <beidson@apple.com>
643 Plugged a leak in StringImpl::replace()
645 * platform/StringImpl.cpp:
646 (WebCore::StringImpl::replace):
648 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
650 Reviewed and landed by Anders.
652 Remove most annoying notImplemented() usages and
653 implement some missing ScrollViewQt functions.
654 Much nicer output when invoking run-webkit-tests.
656 * platform/qt/FrameQt.cpp:
657 (WebCore::FrameQt::saveDocumentState):
658 (WebCore::FrameQt::restoreDocumentState):
659 (WebCore::FrameQt::clearUndoRedoOperations):
660 (WebCore::FrameQt::partClearedInBegin):
661 * platform/qt/ResourceLoaderManager.cpp:
662 (WebCore::headerCallback):
663 (WebCore::ResourceLoaderManager::downloadTimerCallback):
664 * platform/qt/ScrollViewQt.cpp:
665 (WebCore::ScrollView::updateContents):
666 (WebCore::ScrollView::suppressScrollBars):
667 (WebCore::ScrollView::setStaticBackground):
668 (WebCore::ScrollView::addChild):
669 (WebCore::ScrollView::removeChild):
670 * platform/qt/TemporaryLinkStubs.cpp:
671 (WebCore::historyContains):
672 (WebCore::CheckCacheObjectStatus):
673 (WebCore::CheckIfReloading):
674 (loadResourceIntoArray):
675 (WebCore::PlugInInfoStore::supportsMIMEType):
677 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
679 Reviewed and landed by Anders.
681 Fix Qt build (add SVGMetaDataElement.cpp to build system)
685 2006-08-27 Eric Seidel <eric@eseidel.com>
687 Reviewed by andersca.
689 No logic changes. Just cleanup.
691 * ksvg2/svg/SVGAngle.cpp:
692 (SVGAngle::SVGAngle):
693 (SVGAngle::unitType):
694 (SVGAngle::valueAsString):
695 (SVGAngle::newValueSpecifiedUnits):
696 (SVGAngle::convertToSpecifiedUnits):
697 * ksvg2/svg/SVGAngle.h:
698 * ksvg2/svg/SVGLength.cpp:
699 (WebCore::SVGLength::unitType):
700 (WebCore::SVGLength::newValueSpecifiedUnits):
701 (WebCore::SVGLength::convertToSpecifiedUnits):
702 (WebCore::SVGLength::updateValue):
703 (WebCore::SVGLength::updateValueInSpecifiedUnits):
704 * ksvg2/svg/SVGLength.h:
705 * platform/BitmapImage.cpp: Removed.
706 * platform/BitmapImage.h: Removed.
708 2006-08-27 Brady Eidson <beidson@apple.com>
712 -Changed all of the commonly used queries to keep around pre-prepared statements and bind
713 their arguments instead of constructing a new, messy, string appended statement each time
714 -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
716 * loader/icon/IconDatabase.cpp:
717 (WebCore::IconDatabase::IconDatabase): Initializers
718 (WebCore::IconDatabase::close): Wipe all the preprepared statements
719 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
720 (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
721 (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
722 (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
723 (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
724 (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
725 (WebCore::IconDatabase::forgetPageURLQuery): ditto
726 (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
727 (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
728 (WebCore::IconDatabase::addIconForIconURLQuery): ditto
729 (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
730 * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
731 * loader/icon/SQLStatement.h:
732 (WebCore::SQLStatement::database): Added
734 2006-08-27 Nikolas Zimmermann <zimmermann@kde.org>
740 * platform/qt/ScrollViewQt.cpp:
741 (WebCore::ScrollView::setHScrollBarMode):
742 (WebCore::ScrollView::setVScrollBarMode):
744 2006-08-27 Rob Buis <buis@kde.org>
748 http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
749 KCanvasPath should be replace by platform/Path
751 Refactoring out the KCanvasPath class.
754 * WebCore.xcodeproj/project.pbxproj:
755 * kcanvas/KCanvasCreator.cpp:
756 (WebCore::KCanvasCreator::createRoundedRectangle):
757 (WebCore::KCanvasCreator::createRectangle):
758 (WebCore::KCanvasCreator::createEllipse):
759 (WebCore::KCanvasCreator::createCircle):
760 (WebCore::KCanvasCreator::createLine):
761 * kcanvas/KCanvasCreator.h:
762 * kcanvas/KCanvasPath.cpp: Removed.
763 * kcanvas/KCanvasPath.h: Removed.
764 * kcanvas/KCanvasResources.cpp:
765 (WebCore::operator<<):
766 (WebCore::KCanvasResource::clients):
767 (WebCore::KCanvasResource::invalidate):
768 (WebCore::KCanvasClipper::addClipData):
769 * kcanvas/KCanvasResources.h:
770 (WebCore::KCClipData::windRule):
771 (WebCore::KCClipDataList::KCClipDataList):
772 (WebCore::KCClipDataList::addPath):
773 * kcanvas/KCanvasTreeDebug.cpp:
774 (WebCore::operator<<):
775 * kcanvas/RenderPath.cpp:
776 (WebCore::RenderPath::fillContains):
777 (WebCore::RenderPath::relativeBBox):
778 (WebCore::RenderPath::setPath):
779 (WebCore::RenderPath::path):
780 (WebCore::RenderPath::paint):
781 (WebCore::RenderPath::nodeAtPoint):
782 * kcanvas/RenderPath.h:
783 * kcanvas/device/KRenderingDevice.h:
784 * kcanvas/device/KRenderingFillPainter.cpp:
785 (WebCore::KRenderingFillPainter::fillRule):
786 (WebCore::KRenderingFillPainter::setFillRule):
787 * kcanvas/device/KRenderingFillPainter.h:
788 * kcanvas/device/qt/KCanvasClipperQt.cpp:
789 (WebCore::KCanvasClipperQt::applyClip):
790 * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
791 * kcanvas/device/qt/KCanvasPathQt.h: Removed.
792 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
793 (WebCore::KRenderingDeviceContextQt::addPath):
794 (WebCore::KRenderingDeviceContextQt::setFillRule):
795 (WebCore::KRenderingDeviceQt::createItem):
796 * kcanvas/device/qt/KRenderingDeviceQt.h:
797 * kcanvas/device/qt/RenderPathQt.cpp:
798 (WebCore::RenderPathQt::drawMarkersIfNeeded):
799 (WebCore::RenderPathQt::strokeContains):
800 (WebCore::getPathStroke):
801 (WebCore::RenderPathQt::strokeBBox):
802 * kcanvas/device/qt/RenderPathQt.h:
803 * kcanvas/device/quartz/KCanvasItemQuartz.h:
804 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
805 (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
806 (WebCore::KCanvasItemQuartz::strokeBBox):
807 (WebCore::KCanvasItemQuartz::strokeContains):
808 * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
809 * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
810 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
811 (WebCore::KCanvasClipperQuartz::applyClip):
812 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
813 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
814 (WebCore::KRenderingDeviceContextQuartz::addPath):
815 (WebCore::KRenderingDeviceQuartz::createItem):
816 * kcanvas/device/quartz/QuartzSupport.h:
817 * kcanvas/device/quartz/QuartzSupport.mm:
818 (WebCore::scratchContext):
819 (WebCore::strokeBoundingBox):
820 (WebCore::pathContainsPoint):
821 * ksvg2/css/SVGCSSParser.cpp:
822 (WebCore::CSSParser::parseSVGValue):
823 * ksvg2/css/SVGCSSStyleSelector.cpp:
824 (WebCore::CSSStyleSelector::applySVGProperty):
825 * ksvg2/css/SVGRenderStyle.h:
826 (WebCore::SVGRenderStyle::InheritedFlags::):
827 * ksvg2/css/SVGRenderStyleDefs.h:
828 * ksvg2/misc/KCanvasRenderingStyle.cpp:
829 (WebCore::KSVGPainterFactory::fillPainter):
830 * ksvg2/svg/SVGCircleElement.cpp:
831 (SVGCircleElement::toPathData):
832 * ksvg2/svg/SVGCircleElement.h:
833 * ksvg2/svg/SVGClipPathElement.cpp:
834 (SVGClipPathElement::canvasResource):
835 * ksvg2/svg/SVGEllipseElement.cpp:
836 (WebCore::SVGEllipseElement::toPathData):
837 * ksvg2/svg/SVGEllipseElement.h:
838 * ksvg2/svg/SVGGradientElement.cpp:
839 (SVGGradientElement::notifyAttributeChange):
840 * ksvg2/svg/SVGImageElement.cpp:
841 * ksvg2/svg/SVGLineElement.cpp:
842 (SVGLineElement::toPathData):
843 * ksvg2/svg/SVGLineElement.h:
844 * ksvg2/svg/SVGMaskElement.cpp:
845 * ksvg2/svg/SVGPathElement.cpp:
846 (WebCore::SVGPathElement::toPathData):
847 * ksvg2/svg/SVGPathElement.h:
848 * ksvg2/svg/SVGPatternElement.cpp:
849 (WebCore::SVGPatternElement::notifyClientsToRepaint):
850 * ksvg2/svg/SVGPolygonElement.cpp:
851 (SVGPolygonElement::toPathData):
852 * ksvg2/svg/SVGPolygonElement.h:
853 * ksvg2/svg/SVGPolylineElement.cpp:
854 (SVGPolylineElement::toPathData):
855 * ksvg2/svg/SVGPolylineElement.h:
856 * ksvg2/svg/SVGRectElement.cpp:
857 (WebCore::SVGRectElement::toPathData):
858 * ksvg2/svg/SVGRectElement.h:
859 * ksvg2/svg/SVGStyledElement.cpp:
860 (WebCore::SVGStyledElement::createRenderer):
861 * ksvg2/svg/SVGStyledElement.h:
862 (WebCore::SVGStyledElement::toPathData):
863 * ksvg2/svg/SVGTextContentElement.cpp:
864 * ksvg2/svg/SVGTextElement.cpp:
867 (WebCore::Path::setWindingRule):
868 (WebCore::Path::windingRule):
869 * platform/cg/PathCG.cpp:
870 (WebCore::Path::contains):
871 (WebCore::Path::isEmpty):
872 (WebCore::CGPathToCFStringApplierFunction):
873 (WebCore::CFStringFromCGPath):
874 (WebCore::Path::debugString):
875 * platform/qt/FrameQt.cpp:
876 (WebCore::FrameQt::openURL):
877 * platform/qt/PathQt.cpp:
878 (WebCore::Path::contains):
879 (WebCore::Path::isEmpty):
880 (WebCore::Path::debugString):
882 2006-08-26 Eric Seidel <eric@eseidel.com>
886 pointer-events attribute does not work.
887 http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
889 * kcanvas/RenderPath.cpp:
890 (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
891 (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
892 * kcanvas/RenderPath.h:
893 (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
894 * ksvg2/css/SVGCSSParser.cpp:
895 (WebCore::CSSParser::parseSVGValue):
896 * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
897 (WebCore::SVGPaint::SVGPaint):
898 (WebCore::SVGPaint::paintType):
899 (WebCore::SVGPaint::uri):
900 (WebCore::SVGPaint::setUri):
901 (WebCore::SVGPaint::setPaint):
902 * ksvg2/svg/SVGPaint.h:
904 2006-08-27 Rob Buis <buis@kde.org>
908 http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
909 SVG should have support for <metadata> element
911 Add support for metadata tag.
913 * DerivedSources.make:
914 * WebCore.xcodeproj/project.pbxproj:
915 * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
916 * ksvg2/svg/SVGMetadataElement.cpp: Added.
917 (SVGMetadataElement::SVGMetadataElement):
918 (SVGMetadataElement::~SVGMetadataElement):
919 * ksvg2/svg/SVGMetadataElement.h: Added.
920 * ksvg2/svg/SVGMetadataElement.idl: Added.
921 * ksvg2/svg/svgtags.in:
923 2006-08-26 Nikolas Zimmermann <zimmermann@kde.org>
927 Daily Qt build fixes :-)
929 * platform/qt/GraphicsContextQt.cpp:
930 (WebCore::GraphicsContext::drawConvexPolygon):
931 * platform/qt/ImageQt.cpp:
932 (WebCore::Image::initPlatformData):
933 (WebCore::Image::invalidatePlatformData):
934 (WebCore::Image::loadPlatformResource):
936 2006-08-26 David Hyatt <hyatt@apple.com>
938 Fix the ifdef in Path.h to be CG.
942 2006-08-26 David Hyatt <hyatt@apple.com>
944 Fix Mac build bustage (lots of float/int confusion). I am not sure
945 whether rounding was desired or not... this is just a band-aid to get
946 the build working again.
948 * rendering/RenderThemeMac.mm:
949 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
950 (WebCore::RenderThemeMac::paintMenuListButton):
951 (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
953 2006-08-25 David Hyatt <hyatt@apple.com>
955 More refactoring of image to disentangle graphics (e.g., Cairo) from
956 platform (e.g., Windows).
958 * WebCore.vcproj/WebCore/WebCore.vcproj:
959 Add ImageWin to project.
962 (WebCore::Cache::init):
963 * loader/icon/IconDataCache.cpp:
964 (WebCore::IconDataCache::loadImageFromResource):
965 Renamed loadResource to loadPlatformResource to try to make it more clear
966 that this call is implemented on each OS (and not by graphics libraries).
968 * platform/Image.cpp:
969 (WebCore::Image::Image):
970 (WebCore::Image::~Image):
971 (WebCore::Image::invalidateData):
972 (WebCore::Image::size):
973 (WebCore::Image::setData):
974 (WebCore::Image::setNativeData):
975 Fix up the PDF code to not be considered platform data any more, since
976 PDF rendering is not for a specific OS.
978 Renamed the methods that set OS-specific data (like NSImage) to PlatformData
979 instead of NativeData.
982 Shifted the PDF members into CG defines. Made CGImageRef a CG define.
983 Renamed methods to reflect that they are OS-specific and not
984 graphics-library-specific.
986 * platform/cairo/ImageCairo.cpp:
987 Removed the platform data methods. Other platforms besides Windows that
988 use Cairo will need to account for this change by adding these methods
989 to their OS Image***.cpp file.
991 * platform/cg/ImageCG.cpp:
992 (WebCore::Image::drawTiled):
993 Add FIXMEs to the wkpattern stuff.
995 * platform/cg/PDFDocumentImage.cpp:
996 Shouldn't have #imports in .cpp.
998 * platform/mac/ImageMac.mm:
999 (WebCore::Image::initPlatformData):
1000 (WebCore::Image::invalidatePlatformData):
1001 (WebCore::Image::loadPlatformResource):
1002 (WebCore::Image::getTIFFRepresentation):
1003 Add the platform data initializers to the Mac Image file. Move the
1004 TIFF representation there as well, since this is only used by Mac code.
1006 * platform/win/ImageWin.cpp: Added.
1007 (WebCore::Image::initPlatformData):
1008 (WebCore::Image::invalidatePlatformData):
1009 (WebCore::Image::loadPlatformResource):
1010 (WebCore::Image::supportsType):
1011 Similar work for Windows. Add stubs for possible future HBITMAP returns
1012 in the platform data methods.
1014 * rendering/RenderLayer.cpp:
1015 (WebCore::RenderLayer::paintResizeControl):
1016 * rendering/RenderThemeMac.mm:
1017 (WebCore::RenderThemeMac::paintResizeControl):
1018 loadResource -> loadPlatformResource
1020 2006-08-26 Adam Roben <aroben@apple.com>
1022 Rubber-stamped by Adele.
1026 * platform/cairo/GraphicsContextCairo.cpp:
1027 (WebCore::GraphicsContext::drawConvexPolygon):
1029 2006-08-25 Adele Peterson <adele@apple.com>
1031 Patch by Francisco, Reviewed by me.
1033 Preparation for switch to new text field implementation of password field.
1035 Added -webkit-text-security property.
1037 Tests: updated fast/css/computed-style-expected.txt
1039 * css/CSSPropertyNames.in: Added -webkit-text-security.
1040 * css/CSSComputedStyleDeclaration.cpp:
1042 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
1043 * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
1044 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
1045 * css/html4.css: Added style for password field to use -webkit-text-security.
1047 * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
1048 (WebCore::HTMLInputElement::selectionStart):
1049 (WebCore::HTMLInputElement::selectionEnd):
1050 (WebCore::HTMLInputElement::setSelectionStart):
1051 (WebCore::HTMLInputElement::setSelectionEnd):
1052 (WebCore::HTMLInputElement::select):
1053 (WebCore::HTMLInputElement::setSelectionRange):
1054 (WebCore::HTMLInputElement::createRenderer):
1055 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
1057 * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace
1058 characters with one character, like a bullet.
1059 * platform/StringImpl.h:
1061 * rendering/RenderStyle.cpp:
1062 (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
1063 (WebCore::RenderStyle::diff): Added case for textSecurity.
1064 * rendering/RenderStyle.h:
1066 (WebCore::RenderStyle::textSecurity): Added.
1067 (WebCore::RenderStyle::setTextSecurity): Added.
1068 (WebCore::RenderStyle::initialTextSecurity): Added.
1069 * rendering/RenderText.cpp:
1070 (WebCore::RenderText::setStyle): Added case for textSecurity.
1071 (WebCore::RenderText::setText): ditto.
1073 2006-08-25 Adele Peterson <adele@apple.com>
1077 Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
1079 Tests: fast/forms/select-baseline.html
1080 fast/borders/borderRadiusInvalidColor.html
1081 updated: fast/forms/select-style-expected.txt and more...
1083 * css/html4.css: Added style rules for styled select elements.
1085 * platform/GraphicsContext.h: Added argument for antialiasing.
1086 * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1087 * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
1089 * rendering/RenderObject.cpp:
1090 (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
1091 (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code
1092 (any callers that set this to true were already ensuring that their color was valid).
1093 Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
1094 (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
1095 (WebCore::RenderObject::paintOutline): ditto.
1096 * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
1097 * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
1099 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
1100 Added case for when there's no children to check for hasLineIfEmpty.
1101 * rendering/RenderBlock.h:
1102 * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
1103 * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
1104 * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
1105 * rendering/RenderFlexibleBox.cpp:
1106 (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
1107 (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
1109 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
1110 * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
1111 immediately after painting the background.
1113 * rendering/RenderTheme.cpp:
1114 (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
1115 For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
1116 to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
1117 (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function,
1118 so the arrow control will draw at the right time (after the background).
1119 (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
1120 (WebCore::RenderTheme::paintBorderOnly): ditto.
1121 (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
1122 (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
1123 * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
1125 * rendering/RenderThemeMac.h:
1126 * rendering/RenderThemeMac.mm:
1127 (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
1128 (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
1129 (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
1130 (WebCore::TopGradientInterpolate): Added.
1131 (WebCore::BottomGradientInterpolate): Added.
1132 (WebCore::MainGradientInterpolate): Added.
1133 (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added. Draws gradients for styled popup menu button appearance.
1134 (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
1135 (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
1137 2006-08-25 Brady Eidson <beidson@apple.com>
1141 Changed some time()-related code to be more platform independent
1143 * loader/icon/IconDatabase.cpp:
1144 (WebCore::IconDatabase::isIconExpiredForIconURL):
1145 (WebCore::IconDatabase::getOrCreateIconDataCache):
1146 (WebCore::IconDatabase::setIconDataForIconURL):
1148 2006-08-25 David Harrison <harrison@apple.com>
1152 <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
1154 * bridge/mac/WebCoreAXObject.mm:
1156 New. Returns the HTMLLabelElement, if any, for the specified Element.
1158 (-[WebCoreAXObject title]):
1159 For input elements, return the innerHTML() of the labelForElement().
1161 2006-08-25 Brady Eidson <beidson@apple.com>
1163 Reviewed by Tim Hatcher
1165 Changed some debugging-only code to be more platform independent
1167 * WebCore.xcodeproj/project.pbxproj:
1168 * loader/icon/IconDatabase.cpp:
1169 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
1170 (WebCore::IconDatabase::syncDatabase):
1172 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1174 Reviewed/landed by Adam.
1176 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
1177 Qt platform build fixes.
1179 * platform/qt/FrameQt.h:
1180 * platform/qt/ScreenQt.cpp:
1181 (WebCore::qwidgetForPage):
1182 (WebCore::screenRect):
1183 (WebCore::screenDepth):
1184 (WebCore::usableScreenRect):
1185 * platform/qt/TemporaryLinkStubs.cpp:
1186 (WebCore::screenDepthPerComponent):
1187 (WebCore::screenIsMonochrome):
1188 * platform/qt/WidgetQt.cpp:
1190 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1192 Reviewed/landed by Adam.
1194 Finally fix font caching. WebKit+Qt now works
1195 out of the box without any further patches :-)
1197 * platform/qt/FontDataQt.cpp:
1198 (WebCore::FontData::platformDestroy):
1199 * platform/qt/FontPlatformData.h:
1200 * platform/qt/FontPlatformDataQt.cpp:
1201 (WebCore::FontPlatformData::FontPlatformData):
1202 (WebCore::FontPlatformData::isFixedPitch):
1203 (WebCore::FontPlatformData::font):
1204 (WebCore::FontPlatformData::fontPtr):
1205 (WebCore::FontPlatformData::hash):
1206 (WebCore::FontPlatformData::operator==):
1208 2006-08-25 Nikolas Zimmermann <zimmermann@kde.org>
1210 Reviewed/landed by Adam.
1212 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
1213 Confirm to WebKit style guide - last fixes :-)
1215 * platform/ResourceLoaderClient.h:
1216 * platform/qt/ComboBoxQt.cpp:
1217 * platform/qt/FrameQt.cpp:
1218 (WebCore::doScroll):
1219 (WebCore::FrameQt::FrameQt):
1220 (WebCore::FrameQt::openURL):
1221 (WebCore::FrameQt::submitForm):
1222 (WebCore::FrameQt::setTitle):
1223 (WebCore::FrameQt::passSubframeEventToSubframe):
1224 (WebCore::FrameQt::registerCommandForUndo):
1225 (WebCore::FrameQt::registerCommandForRedo):
1226 (WebCore::FrameQt::keyEvent):
1227 (WebCore::FrameQt::setFrameGeometry):
1228 * platform/qt/GlyphMapQt.cpp:
1229 (WebCore::GlyphMap::fillPage):
1230 * platform/qt/GraphicsContextQt.cpp:
1231 (WebCore::toQtCompositionMode):
1232 (WebCore::toQtLineCap):
1233 (WebCore::toQtLineJoin):
1234 (WebCore::TextShadow::TextShadow):
1235 (WebCore::GraphicsContextPlatformPrivate::p):
1236 * platform/qt/ImageQt.cpp:
1237 (WebCore::FrameData::clear):
1238 (WebCore::Image::supportsType):
1239 * platform/qt/IntSizeQt.cpp:
1240 * platform/qt/LineEditQt.cpp:
1241 * platform/qt/ListBoxQt.cpp:
1242 * platform/qt/PageQt.cpp:
1243 (WebCore::Page::windowRect):
1244 * platform/qt/PathQt.cpp:
1245 (WebCore::Path::~Path):
1246 * platform/qt/ResourceLoaderCurl.cpp:
1247 (WebCore::ResourceLoader::assembleResponseHeaders):
1248 (WebCore::ResourceLoader::retrieveCharset):
1249 (WebCore::ResourceLoader::receivedResponse):
1250 * platform/qt/ResourceLoaderManager.cpp:
1251 (WebCore::headerCallback):
1252 (WebCore::ResourceLoaderManager::downloadTimerCallback):
1253 (WebCore::ResourceLoaderManager::add):
1254 * platform/qt/ScreenQt.cpp:
1255 (WebCore::screenRect):
1256 (WebCore::usableScreenRect):
1257 * platform/qt/ScrollViewQt.cpp:
1258 (WebCore::ScrollView::ScrollView):
1259 (WebCore::ScrollView::~ScrollView):
1260 (WebCore::ScrollView::setParentWidget):
1261 (WebCore::ScrollView::addChild):
1262 * platform/qt/SharedTimerQt.cpp:
1263 (WebCore::setSharedTimerFiredFunction):
1264 * platform/qt/SharedTimerQt.h:
1265 (WebCore::SharedTimerQt::SharedTimerQt):
1266 (WebCore::SharedTimerQt::fire):
1267 * platform/qt/SystemTimeQt.cpp:
1268 (WebCore::currentTime):
1269 * platform/qt/TextEditQt.cpp:
1270 (WebCore::PlatformTextEdit::setParentWidget):
1271 (WebCore::PlatformTextEdit::text):
1272 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
1274 2006-08-24 David Harrison <harrison@apple.com>
1279 <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
1281 Fix bug I introduced in r15959.
1283 * bridge/mac/WebCoreAXObject.mm:
1284 (-[WebCoreAXObject accessibilityAttributeValue:]):
1285 Use topDocument in case we are in a subframe (we want the start/end of the overall page).
1287 2006-08-24 Brady Eidson <beidson@apple.com>
1291 Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
1293 * loader/icon/IconDatabase.cpp:
1294 (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
1295 are indexed to 1, not 0
1297 2006-08-24 Geoffrey Garen <ggaren@apple.com>
1301 Frame refactoring: changed FrameView clients so they no longer assume that
1302 FrameViews are Widgets that can tell you things about the platform, in
1303 preparation for divorcing FrameViews from heavy-weight Widgets altogether.
1305 This patch makes Page, rather than Widget, responsible for answering
1306 questions about the screen (scale factor, color depth, etc.). Refactoring
1307 aside, I think this makes more sense, since (a) the screen has nothing to do
1308 with any particular widget and (b) Page was already half-responsible for
1309 answering those questions, anyway.
1311 Plus some random Windows build fix goodness.
1313 Layout tests still pass.
1315 2006-08-24 Timothy Hatcher <timothy@apple.com>
1319 Allow changing the background color WebCore draws under transparent page backgrounds.
1320 No automated way to test. All tests pass, no performance regression.
1322 * bridge/mac/WebCoreFrameBridge.h:
1323 * bridge/mac/WebCoreFrameBridge.mm:
1324 (-[WebCoreFrameBridge setBaseBackgroundColor:]):
1325 * page/FrameView.cpp:
1326 (WebCore::FrameViewPrivate::FrameViewPrivate):
1327 (WebCore::FrameView::baseBackgroundColor):
1328 (WebCore::FrameView::setBaseBackgroundColor):
1330 * rendering/RenderBox.cpp:
1331 (WebCore::RenderBox::paintBackgroundExtended):
1332 * rendering/RenderView.cpp:
1333 (WebCore::RenderView::paintBoxDecorations):
1335 2006-08-24 Darin Adler <darin@apple.com>
1339 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10169
1340 REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
1341 - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
1342 - other editing-related cleanup
1344 Test: fast/forms/drag-into-textarea.html
1346 * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
1347 * bridge/win/FrameWin.h: Ditto.
1348 * bridge/mac/FrameMac.mm:
1349 (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
1350 (WebCore::FrameMac::registerCommandForUndo): Ditto.
1351 (WebCore::FrameMac::registerCommandForRedo): Ditto.
1353 * bridge/mac/WebCoreFrameBridge.mm:
1354 (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
1355 Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
1356 (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
1357 (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
1359 * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
1360 parameter to be a PassRefPtr. Reversed order of child and parent parameters.
1361 * editing/AppendNodeCommand.cpp:
1362 (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
1363 (WebCore::AppendNodeCommand::doApply): Ditto.
1364 (WebCore::AppendNodeCommand::doUnapply): Ditto.
1366 * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
1367 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
1369 * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
1370 * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
1371 (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
1372 since setEndingSelection is no longer overloaded for Position.
1374 * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
1375 a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
1376 m_commands and made both doUnapply and doReapply private.
1377 * editing/CompositeEditCommand.cpp:
1378 (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
1379 (WebCore::CompositeEditCommand::doReapply): Ditto.
1380 (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
1381 starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
1382 (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
1383 (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
1384 (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
1385 (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
1386 (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
1387 (WebCore::CompositeEditCommand::appendNode): Ditto.
1388 (WebCore::CompositeEditCommand::removeNode): Ditto.
1389 (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
1390 (WebCore::CompositeEditCommand::splitTextNode): Ditto.
1391 (WebCore::CompositeEditCommand::splitElement): Ditto.
1392 (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
1393 (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
1394 (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
1395 (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
1396 (WebCore::CompositeEditCommand::inputText): Ditto.
1397 (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
1398 (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
1399 (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
1400 (WebCore::CompositeEditCommand::deleteSelection): Ditto.
1401 (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
1402 (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
1403 would not remove an empty attribute -- will not come up in practice, but wrong in theory.
1404 (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
1405 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
1406 (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
1407 (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
1408 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
1409 Selection explicitly since setEndingSelection is no longer overloaded for Position.
1410 (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
1411 block placeholder class string is no longer spread across multiple functions.
1412 Perhaps we can get rid of this altogether at some point.
1414 * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
1415 Also removed unneeded destructor.
1416 * editing/DeleteFromTextNodeCommand.cpp:
1417 (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
1419 * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
1420 * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
1422 * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
1423 and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
1424 and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
1425 Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
1426 endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
1427 are needed so we can determine which editable elements an editing operation affects. Changed setParent()
1428 and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
1429 applyCommand() function that's convenient to use on a newly-created command.
1430 * editing/EditCommand.cpp:
1431 (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
1432 and ending root editable elements.
1433 (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
1434 code to assert and set m_start. Eliminated use of EditCommandPtr.
1435 (WebCore::EditCommand::unapply): Ditto.
1436 (WebCore::EditCommand::reapply): Ditto.
1437 (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
1438 not change the starting selection of the parent unless this is the first command in the parent -- didn't
1439 make sense the way it was.
1440 (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
1441 (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
1442 based on the ending selection of the parent, formerly done by callers.
1443 (WebCore::applyCommand): Added.
1445 * editing/FormatBlockCommand.h: Tweaked formatting.
1446 * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
1447 * editing/InsertLineBreakCommand.h: Ditto.
1448 * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
1450 * editing/IndentOutdentCommand.cpp:
1451 (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
1452 (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
1453 (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
1455 * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
1456 * editing/InsertIntoTextNodeCommand.cpp:
1457 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
1459 * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
1461 * editing/InsertListCommand.cpp:
1462 (WebCore::InsertListCommand::InsertListCommand): Ditto.
1463 (WebCore::InsertListCommand::doApply): Ditto.
1465 * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
1466 and changed the parameter of the node to insert to a PassRefPtr.
1467 * editing/InsertNodeBeforeCommand.cpp:
1468 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
1470 * editing/InsertParagraphSeparatorCommand.cpp:
1471 (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
1473 * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
1474 * editing/InsertTextCommand.cpp:
1475 (WebCore::InsertTextCommand::input): Ditto.
1476 (WebCore::InsertTextCommand::insertTab): Ditto.
1478 * editing/JSEditor.h: Tweaked formatting and names.
1479 * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
1481 * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
1482 * editing/JoinTextNodesCommand.cpp:
1483 (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
1484 * editing/MergeIdenticalElementsCommand.h: Ditto.
1485 * editing/MergeIdenticalElementsCommand.cpp:
1486 (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
1488 * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
1489 IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
1490 * editing/ModifySelectionListLevel.cpp:
1491 (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
1492 (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
1493 Changed to use Type instead of EListType.
1494 (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
1495 (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
1496 (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
1497 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
1498 Changed to not use EditCommandPtr.
1499 (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
1500 (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
1501 (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
1502 (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
1505 * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
1506 parameter to be a PassRefPtr.
1507 * editing/MoveSelectionCommand.cpp:
1508 (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
1509 (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
1511 * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
1512 * editing/RebalanceWhitespaceCommand.cpp:
1513 (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
1514 (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
1516 * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
1518 * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
1519 * editing/RemoveNodeAttributeCommand.cpp:
1520 (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
1522 * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
1523 * editing/RemoveNodeCommand.cpp:
1524 (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
1526 * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
1527 * editing/RemoveNodePreservingChildrenCommand.cpp:
1528 (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
1530 * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
1531 * editing/ReplaceSelectionCommand.cpp:
1532 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
1533 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
1534 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1535 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
1537 * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
1538 a macro. Added constructors that take visible positions. Changed setBase and
1539 setExtent to take const Position& for better efficiency.
1540 * editing/Selection.cpp:
1541 (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
1542 and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
1544 * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
1545 * editing/SetNodeAttributeCommand.cpp:
1546 (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
1548 * editing/SplitElementCommand.h: Removed unnneeded document parameter.
1549 * editing/SplitElementCommand.cpp:
1550 (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
1552 * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
1553 * editing/SplitTextNodeCommand.cpp:
1554 (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
1556 * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
1557 * editing/SplitTextNodeContainingElementCommand.cpp:
1558 (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
1560 * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
1561 Renamed openForMoveTyping() with isOpenForMoreTyping().
1562 * editing/TypingCommand.cpp:
1563 (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
1564 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1565 (WebCore::TypingCommand::insertText): Ditto.
1566 (WebCore::TypingCommand::insertLineBreak): Ditto.
1567 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
1568 (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
1569 (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
1570 (WebCore::TypingCommand::closeTyping): Ditto.
1571 (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
1572 (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
1574 * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
1575 * editing/WrapContentsInDummySpanCommand.cpp:
1576 (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
1578 * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
1581 * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
1582 appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
1583 and registerCommandForRedo() to take PassRefPtr<EditCommand>.
1584 * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
1586 (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
1587 (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
1588 from Selection to simplify the code.
1589 (WebCore::Frame::selectAll): Ditto.
1590 (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
1591 (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
1592 both of the root editable elements involved in a change -- the start selection
1593 might be in a different element than the end selection.
1594 (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
1595 and to do it before setting the ending selection. Also update to use PassRefPtr instead
1596 of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
1597 to registerCommandForUndo will take ownership and set it to 0.
1598 (WebCore::Frame::unappliedEditing): Ditto.
1599 (WebCore::Frame::reappliedEditing): Ditto.
1600 (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
1601 (WebCore::Frame::applyStyle): Ditto.
1602 (WebCore::Frame::applyParagraphStyle): Ditto.
1604 * platform/gdk/FrameGdk.h: Updated for above changes.
1605 * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
1606 * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
1608 2006-08-24 Brady Eidson <beidson@apple.com>
1612 <rdar://problem/4697973> - Unacceptable delay on startup
1613 <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
1615 This patch was started by me and finished by Mark Rowe - we now special case all retains during
1616 startup into one huge sql transaction. Also we track PageURL retains instead of IconURLs so pruning works right.
1617 Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile. Testing with a huge set of
1618 bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also
1619 has a noticeable delay.
1621 * loader/icon/IconDatabase.cpp:
1622 (WebCore::IconDatabase::IconDatabase):
1623 (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
1624 (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
1625 (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
1626 (WebCore::IconDatabase::releaseIconForPageURL): Ditto
1627 (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
1628 (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
1629 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
1630 (WebCore::IconDatabase::syncDatabase): Change the timing log message
1631 * loader/icon/IconDatabase.h:
1632 * loader/icon/SQLStatement.cpp:
1633 (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
1634 * loader/icon/SQLStatement.h:
1636 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
1638 Reviewed/landed by Adam.
1640 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1641 WebKit should have Qt platform support
1644 Remove KCanvasMatrix.cpp because it no longer exists
1645 Remove platform/qt/test
1646 * platform/FloatSize.h:
1647 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1648 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1649 * platform/image-decoders/gif/GIFImageReader.cpp:
1650 * platform/image-decoders/ico/ICOImageDecoder.cpp:
1651 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1652 * platform/image-decoders/png/PNGImageDecoder.cpp:
1653 * platform/image-decoders/xbm/XBMImageDecoder.cpp:
1654 Added PLATFORM(QT) hooks in the image-decoders/, as they also need
1655 to work for Qt, not only for Cairo.
1656 * platform/qt/qt-encodings.txt: Added (required for build).
1658 2006-08-24 Adam Roben <aroben@apple.com>
1660 Fixing a typo from last patch.
1662 * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
1663 (WebCore::KRenderingPaintServerQt::setPenProperties):
1665 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
1667 Reviewed/landed by Adam.
1669 Final cleanup to conform to WebKit coding style!
1671 * kcanvas/device/qt/KCanvasClipperQt.cpp:
1672 (WebCore::KCanvasClipperQt::applyClip):
1673 * kcanvas/device/qt/KCanvasClipperQt.h:
1674 * kcanvas/device/qt/KCanvasPathQt.cpp:
1675 * kcanvas/device/qt/KCanvasPathQt.h:
1676 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1677 * kcanvas/device/qt/KRenderingDeviceQt.h:
1678 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
1679 (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
1680 (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
1681 * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
1682 * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
1683 (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
1684 * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
1685 * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
1686 (WebCore::KRenderingPaintServerQt::setPenProperties):
1687 * kcanvas/device/qt/KRenderingPaintServerQt.h:
1688 * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
1689 (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
1690 (WebCore::KRenderingPaintServerSolidQt::renderPath):
1691 * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
1692 * kcanvas/device/qt/RenderPathQt.cpp:
1693 * kcanvas/device/qt/RenderPathQt.h:
1694 * platform/qt/AffineTransformQt.cpp:
1695 * platform/qt/BrowserExtensionQt.cpp:
1696 * platform/qt/BrowserExtensionQt.h:
1697 * platform/qt/ColorQt.cpp:
1698 (WebCore::Color::Color):
1699 * platform/qt/ComboBoxQt.cpp:
1700 (WebCore::PlatformComboBox::PlatformComboBox):
1701 (WebCore::PlatformComboBox::~PlatformComboBox):
1702 (WebCore::PlatformComboBox::setParentWidget):
1703 (WebCore::PlatformComboBox::appendGroupLabel):
1704 * platform/qt/CookieJarQt.cpp:
1705 * platform/qt/CursorQt.cpp:
1706 (WebCore::Cursors::Cursors::self):
1707 * platform/qt/FloatPointQt.cpp:
1708 * platform/qt/FloatRectQt.cpp:
1709 * platform/qt/FontCacheQt.cpp:
1710 (WebCore::FontCache::getSimilarFontPlatformData):
1711 (WebCore::FontCache::createFontPlatformData):
1712 * platform/qt/FontDataQt.cpp:
1713 * platform/qt/FontPlatformData.h:
1714 * platform/qt/FontPlatformDataQt.cpp:
1715 * platform/qt/FontQt.cpp:
1716 (WebCore::Font::operator QFont):
1717 (WebCore::Font::drawComplexText):
1718 (WebCore::Font::floatWidthForComplexText):
1719 * platform/qt/FrameQt.cpp:
1720 (WebCore::FrameQt::openURL):
1721 (WebCore::FrameQt::submitForm):
1722 (WebCore::FrameQt::urlSelected):
1723 (WebCore::FrameQt::keyEvent):
1724 * platform/qt/FrameQt.h:
1725 * platform/qt/GlyphMapQt.cpp:
1726 * platform/qt/GraphicsContextQt.cpp:
1727 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1728 (WebCore::GraphicsContext::GraphicsContext):
1729 (WebCore::GraphicsContext::drawConvexPolygon):
1730 (WebCore::GraphicsContext::setFocusRingClip):
1731 (WebCore::GraphicsContext::clip):
1732 * platform/qt/ImageQt.cpp:
1733 (WebCore::Image::draw):
1734 (WebCore::Image::drawTiled):
1735 * platform/qt/ImageSourceQt.cpp:
1736 * platform/qt/IntPointQt.cpp:
1737 * platform/qt/IntRectQt.cpp:
1738 * platform/qt/IntSizeQt.cpp:
1739 * platform/qt/LineEditQt.cpp:
1740 (WebCore::PlatformLineEdit::PlatformLineEdit):
1741 (WebCore::PlatformLineEdit::~PlatformLineEdit):
1742 (WebCore::PlatformLineEdit::setParentWidget):
1743 (WebCore::PlatformLineEdit::addSearchResult):
1744 * platform/qt/ListBoxQt.cpp:
1745 (WebCore::ListBox::ListBox):
1746 (WebCore::ListBox::~ListBox):
1747 (WebCore::ListBox::setParentWidget):
1748 * platform/qt/PageQt.cpp:
1749 (WebCore::Page::windowRect):
1750 (WebCore::Page::setWindowRect):
1751 * platform/qt/PathQt.cpp:
1752 (WebCore::Path::addArc):
1753 * platform/qt/PlatformKeyboardEventQt.cpp:
1754 (WebCore::windowsKeyCodeForKeyEvent):
1755 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1756 * platform/qt/PlatformMouseEventQt.cpp:
1757 * platform/qt/RenderThemeQt.cpp:
1758 (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
1759 (WebCore::RenderThemeQt::applyTheme):
1760 (WebCore::RenderThemeQt::paintButton):
1761 (WebCore::RenderThemeQt::paintTextField):
1762 * platform/qt/ResourceLoaderCurl.cpp:
1763 (WebCore::ResourceLoader::assembleResponseHeaders):
1764 (WebCore::ResourceLoader::retrieveCharset):
1765 (WebCore::ResourceLoader::receivedResponse):
1766 * platform/qt/ResourceLoaderManager.cpp:
1767 (WebCore::ResourceLoaderManager::add):
1768 * platform/qt/ResourceLoaderManager.h:
1769 * platform/qt/ScreenQt.cpp:
1770 * platform/qt/ScrollViewCanvasQt.cpp:
1771 (WebCore::ScrollViewCanvasQt::handleKeyEvent):
1772 * platform/qt/ScrollViewCanvasQt.h:
1773 * platform/qt/ScrollViewQt.cpp:
1774 * platform/qt/SharedTimerQt.cpp:
1775 * platform/qt/SharedTimerQt.h:
1776 (WebCore::SharedTimerQt::inst):
1777 * platform/qt/StringQt.cpp:
1778 * platform/qt/SystemTimeQt.cpp:
1779 * platform/qt/TemporaryLinkStubs.cpp:
1780 * platform/qt/TextEditQt.cpp:
1781 (WebCore::PlatformTextEdit::PlatformTextEdit):
1782 (WebCore::PlatformTextEdit::~PlatformTextEdit):
1783 (WebCore::PlatformTextEdit::setParentWidget):
1784 * platform/qt/WidgetQt.cpp:
1785 (WebCore::Widget::setQWidget):
1787 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
1789 Reviewed and landed by Anders.
1791 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1792 WebKit should have Qt platform support
1795 * platform/qt/FrameQt.cpp: Added.
1796 (WebCore::doScroll):
1797 (WebCore::FrameView::isFrameView):
1798 (WebCore::FrameQt::FrameQt):
1799 (WebCore::FrameQt::init):
1800 (WebCore::FrameQt::~FrameQt):
1801 (WebCore::FrameQt::openURL):
1802 (WebCore::FrameQt::submitForm):
1803 (WebCore::FrameQt::urlSelected):
1804 (WebCore::FrameQt::userAgent):
1805 (WebCore::FrameQt::runJavaScriptAlert):
1806 (WebCore::FrameQt::runJavaScriptConfirm):
1807 (WebCore::FrameQt::locationbarVisible):
1808 (WebCore::FrameQt::setTitle):
1809 (WebCore::FrameQt::createFrame):
1810 (WebCore::FrameQt::passWheelEventToChildWidget):
1811 (WebCore::FrameQt::passSubframeEventToSubframe):
1812 (WebCore::FrameQt::objectContentType):
1813 (WebCore::FrameQt::createPlugin):
1814 (WebCore::FrameQt::passMouseDownEventToWidget):
1815 (WebCore::FrameQt::menubarVisible):
1816 (WebCore::FrameQt::personalbarVisible):
1817 (WebCore::FrameQt::statusbarVisible):
1818 (WebCore::FrameQt::toolbarVisible):
1819 (WebCore::FrameQt::createEmptyDocument):
1820 (WebCore::FrameQt::markedTextRange):
1821 (WebCore::FrameQt::incomingReferrer):
1822 (WebCore::FrameQt::mimeTypeForFileName):
1823 (WebCore::FrameQt::markMisspellingsInAdjacentWords):
1824 (WebCore::FrameQt::markMisspellings):
1825 (WebCore::FrameQt::lastEventIsMouseUp):
1826 (WebCore::FrameQt::saveDocumentState):
1827 (WebCore::FrameQt::restoreDocumentState):
1828 (WebCore::FrameQt::openURLRequest):
1829 (WebCore::FrameQt::scheduleClose):
1830 (WebCore::FrameQt::unfocusWindow):
1831 (WebCore::FrameQt::focusWindow):
1832 (WebCore::FrameQt::overrideMediaType):
1833 (WebCore::FrameQt::addMessageToConsole):
1834 (WebCore::FrameQt::runJavaScriptPrompt):
1835 (WebCore::FrameQt::getEmbedInstanceForWidget):
1836 (WebCore::FrameQt::getObjectInstanceForWidget):
1837 (WebCore::FrameQt::getAppletInstanceForWidget):
1838 (WebCore::FrameQt::registerCommandForUndo):
1839 (WebCore::FrameQt::registerCommandForRedo):
1840 (WebCore::FrameQt::clearUndoRedoOperations):
1841 (WebCore::FrameQt::issueUndoCommand):
1842 (WebCore::FrameQt::issueRedoCommand):
1843 (WebCore::FrameQt::issueCutCommand):
1844 (WebCore::FrameQt::issueCopyCommand):
1845 (WebCore::FrameQt::issuePasteCommand):
1846 (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
1847 (WebCore::FrameQt::issueTransposeCommand):
1848 (WebCore::FrameQt::respondToChangedSelection):
1849 (WebCore::FrameQt::respondToChangedContents):
1850 (WebCore::FrameQt::shouldChangeSelection):
1851 (WebCore::FrameQt::partClearedInBegin):
1852 (WebCore::FrameQt::canGoBackOrForward):
1853 (WebCore::FrameQt::handledOnloadEvents):
1854 (WebCore::FrameQt::canPaste):
1855 (WebCore::FrameQt::canRedo):
1856 (WebCore::FrameQt::canUndo):
1857 (WebCore::FrameQt::print):
1858 (WebCore::FrameQt::shouldInterruptJavaScript):
1859 (WebCore::FrameQt::keyEvent):
1860 (WebCore::FrameQt::receivedResponse):
1861 (WebCore::FrameQt::receivedData):
1862 (WebCore::FrameQt::receivedAllData):
1863 (WebCore::FrameQt::setFrameGeometry):
1864 * platform/qt/FrameQt.h: Added.
1865 * platform/qt/ScrollViewCanvasQt.cpp: Added.
1866 (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
1867 (WebCore::ScrollViewCanvasQt::paintEvent):
1868 (WebCore::ScrollViewCanvasQt::sizeHint):
1869 (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
1870 (WebCore::ScrollViewCanvasQt::mousePressEvent):
1871 (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
1872 (WebCore::ScrollViewCanvasQt::keyPressEvent):
1873 (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
1874 (WebCore::ScrollViewCanvasQt::handleKeyEvent):
1875 * platform/qt/ScrollViewCanvasQt.h: Added.
1876 * platform/qt/ScrollViewQt.cpp:
1877 (WebCore::ScrollView::setParentWidget):
1879 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
1883 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1884 WebKit should have Qt platform support
1886 * platform/qt/FontCacheQt.cpp: Added.
1887 (WebCore::FontCache::platformInit):
1888 (WebCore::FontCache::getFontDataForCharacters):
1889 (WebCore::FontCache::getSimilarFontPlatformData):
1890 (WebCore::FontCache::getLastResortFallbackFont):
1891 (WebCore::FontCache::createFontPlatformData):
1892 * platform/qt/FontDataQt.cpp: Added.
1893 (WebCore::FontData::platformInit):
1894 (WebCore::FontData::platformDestroy):
1895 (WebCore::FontData::smallCapsFontData):
1896 (WebCore::FontData::containsCharacters):
1897 (WebCore::FontData::determinePitch):
1898 (WebCore::FontData::platformWidthForGlyph):
1899 * platform/qt/FontPlatformData.h: Added.
1900 * platform/qt/FontPlatformDataQt.cpp: Added.
1901 (WebCore::FontPlatformData::FontPlatformData):
1902 (WebCore::FontPlatformData::operator=):
1903 (WebCore::FontPlatformData::~FontPlatformData):
1904 (WebCore::FontPlatformData::isFixedPitch):
1905 (WebCore::FontPlatformData::setFont):
1906 (WebCore::FontPlatformData::font):
1907 (WebCore::FontPlatformData::hash):
1908 (WebCore::FontPlatformData::operator==):
1909 * platform/qt/FontQt.cpp: Added.
1910 (WebCore::Font::operator QFont):
1911 (WebCore::Font::drawGlyphs):
1912 (WebCore::Font::drawComplexText):
1913 (WebCore::Font::floatWidthForComplexText):
1914 * platform/qt/GlyphMapQt.cpp: Added.
1915 (WebCore::GlyphMap::fillPage):
1917 2006-08-24 David Harrison <harrison@apple.com>
1919 Reinstate r15966 because layout test changes are correct.
1921 <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
1923 * editing/TextIterator.cpp:
1924 (WebCore::TextIterator::advance):
1926 2006-08-24 Nikolas Zimmermann <zimmermann@kde.org>
1930 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
1931 WebKit should have Qt platform support (Part II)
1933 Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
1934 Use AffineTransform everywhere instead.
1936 * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1937 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
1938 (WebCore::KRenderingDeviceContextQt::concatCTM):
1939 (WebCore::KRenderingDeviceContextQt::ctm):
1940 * kcanvas/device/qt/KRenderingDeviceQt.h:
1941 * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
1942 (WebCore::KRenderingPaintServerLinearGradientQt::setup):
1943 (WebCore::KRenderingPaintServerRadialGradientQt::setup):
1945 2006-08-24 Rob Buis <buis@kde.org>
1949 http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
1950 svg transform: comma delimiting breaks display
1952 Properly parse transforms which use ',' as seperators.
1954 * ksvg2/svg/SVGTransformable.cpp:
1955 (SVGTransformable::parseTransformAttribute):
1957 2006-08-23 Darin Adler <darin@apple.com>
1961 - added an assert to make it slightly easier to debug the common case of
1962 calling document() on a node of 0
1964 * dom/Node.h: (WebCore::Node::document): ASSERT(this).
1966 2006-08-23 David Hyatt <hyatt@apple.com>
1968 Refactor Cairo and CoreGraphics to use platform ifdefs. This patch
1969 separates the graphics engines from their respective platforms and replaces
1970 #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
1974 * WebCore.xcodeproj/project.pbxproj:
1975 * platform/AffineTransform.h:
1977 * platform/Cursor.h:
1978 * platform/FloatPoint.h:
1979 * platform/FloatRect.h:
1980 * platform/FloatSize.h:
1982 * platform/FontData.h:
1983 * platform/GlyphBuffer.h:
1984 (WebCore::GlyphBuffer::glyphAt):
1985 (WebCore::GlyphBuffer::advanceAt):
1986 (WebCore::GlyphBuffer::add):
1987 * platform/GraphicsContext.h:
1989 * platform/ImageSource.h:
1990 * platform/IntPoint.h:
1991 * platform/IntRect.h:
1992 * platform/IntSize.h:
1993 * platform/ResourceLoader.h:
1994 * platform/ResourceLoaderClient.h:
1995 * platform/Widget.h:
1996 * platform/cairo/GraphicsContextCairo.cpp:
1997 * platform/cairo/ImageCairo.cpp:
1998 * platform/cairo/ImageSourceCairo.cpp:
1999 * platform/cg/AffineTransformCG.cpp:
2000 * platform/cg/FloatPointCG.cpp: Added.
2001 * platform/cg/FloatRectCG.cpp: Added.
2002 * platform/cg/FloatSizeCG.cpp: Added.
2003 * platform/cg/GraphicsContextCG.cpp:
2004 (WebCore::GraphicsContext::GraphicsContext):
2005 (WebCore::GraphicsContext::~GraphicsContext):
2006 (WebCore::GraphicsContext::setFocusRingClip):
2007 (WebCore::GraphicsContext::clearFocusRingClip):
2008 (WebCore::GraphicsContext::platformContext):
2009 (WebCore::GraphicsContext::drawRect):
2010 (WebCore::GraphicsContext::drawLine):
2011 * platform/cg/GraphicsContextPlatformPrivate.h: Added.
2012 (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
2013 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2014 * platform/cg/ImageCG.cpp: Added.
2015 (WebCore::Image::drawTiled):
2016 * platform/cg/ImageSourceCG.cpp: Added.
2017 * platform/cg/IntPointCG.cpp: Added.
2018 * platform/cg/IntRectCG.cpp: Added.
2019 * platform/cg/IntSizeCG.cpp: Added.
2020 * platform/cg/PDFDocumentImage.cpp: Added.
2021 (WebCore::PDFDocumentImage::adjustCTM):
2022 * platform/cg/PDFDocumentImage.h: Added.
2023 * platform/cg/PathCG.cpp:
2024 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2025 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2026 * platform/image-decoders/gif/GIFImageReader.cpp:
2027 * platform/image-decoders/ico/ICOImageDecoder.cpp:
2028 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2029 * platform/image-decoders/png/PNGImageDecoder.cpp:
2030 * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2031 * platform/mac/FloatPointMac.mm:
2032 * platform/mac/FloatRectMac.mm:
2033 * platform/mac/FloatSizeMac.mm:
2034 * platform/mac/GraphicsContextMac.mm:
2035 * platform/mac/ImageMac.mm:
2036 * platform/mac/ImageSourceMac.cpp: Removed.
2037 * platform/mac/IntPointMac.mm:
2038 * platform/mac/IntRectMac.mm:
2039 * platform/mac/IntSizeMac.mm:
2040 * platform/mac/PDFDocumentImage.h: Removed.
2041 * platform/mac/PDFDocumentImage.mm: Removed.
2043 2006-08-23 David Hyatt <hyatt@apple.com>
2045 Remove the ifdef for platform scrollbars vs. engine scrollbars until
2046 engine scrollbars actually exist.
2048 * platform/ScrollBar.h:
2049 (WebCore::ScrollBar::hasPlatformScrollBars):
2051 2006-08-23 Justin Garcia <justin.garcia@apple.com>
2053 Reviewed by harrison
2055 Removed the poorly named next/previousVisiblePosition
2056 and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
2057 Removed the unused VisiblePosition::maxOffset()
2059 * editing/VisiblePosition.cpp:
2060 (WebCore::VisiblePosition::next):
2061 (WebCore::VisiblePosition::previous):
2062 (WebCore::VisiblePosition::canonicalPosition):
2063 * editing/VisiblePosition.h:
2065 2006-08-23 Nikolas Zimmermann <zimmermann@kde.org>
2067 Reviewed by Alexey. Landed by rwlbuis.
2069 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2070 WebKit should have Qt platform support (Part II)
2072 * platform/qt/GraphicsContextQt.cpp: Added.
2073 (WebCore::toQtCompositionMode):
2074 (WebCore::toQtLineCap):
2075 (WebCore::toQtLineJoin):
2076 (WebCore::TransparencyLayer::TransparencyLayer):
2077 (WebCore::TransparencyLayer::cleanup):
2078 (WebCore::TextShadow::TextShadow):
2079 (WebCore::TextShadow::isNull):
2080 (WebCore::GraphicsContextPlatformPrivate::p):
2081 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2082 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2083 (WebCore::GraphicsContext::GraphicsContext):
2084 (WebCore::GraphicsContext::~GraphicsContext):
2085 (WebCore::GraphicsContext::platformContext):
2086 (WebCore::GraphicsContext::savePlatformState):
2087 (WebCore::GraphicsContext::restorePlatformState):
2088 (WebCore::GraphicsContext::drawRect):
2089 (WebCore::adjustLineToPixelBounderies):
2090 (WebCore::GraphicsContext::drawLine):
2091 (WebCore::GraphicsContext::drawEllipse):
2092 (WebCore::GraphicsContext::drawArc):
2093 (WebCore::GraphicsContext::drawConvexPolygon):
2094 (WebCore::GraphicsContext::fillRect):
2095 (WebCore::GraphicsContext::addClip):
2096 (WebCore::GraphicsContext::drawFocusRing):
2097 (WebCore::GraphicsContext::setFocusRingClip):
2098 (WebCore::GraphicsContext::clearFocusRingClip):
2099 (WebCore::GraphicsContext::drawLineForText):
2100 (WebCore::GraphicsContext::drawLineForMisspelling):
2101 (WebCore::GraphicsContext::roundToDevicePixels):
2102 (WebCore::GraphicsContext::setShadow):
2103 (WebCore::GraphicsContext::clearShadow):
2104 (WebCore::GraphicsContext::beginTransparencyLayer):
2105 (WebCore::GraphicsContext::endTransparencyLayer):
2106 (WebCore::GraphicsContext::clearRect):
2107 (WebCore::GraphicsContext::strokeRect):
2108 (WebCore::GraphicsContext::setLineWidth):
2109 (WebCore::GraphicsContext::setLineCap):
2110 (WebCore::GraphicsContext::setLineJoin):
2111 (WebCore::GraphicsContext::setMiterLimit):
2112 (WebCore::GraphicsContext::setAlpha):
2113 (WebCore::GraphicsContext::setCompositeOperation):
2114 (WebCore::GraphicsContext::clip):
2115 (WebCore::GraphicsContext::translate):
2116 (WebCore::GraphicsContext::rotate):
2117 (WebCore::GraphicsContext::scale):
2118 (WebCore::GraphicsContext::addInnerRoundedRectClip):
2119 (WebCore::GraphicsContext::addRoundedRectClip):
2120 (WebCore::GraphicsContext::createRenderingDeviceContext):
2121 * platform/qt/ImageQt.cpp: Added.
2122 (WebCore::FrameData::clear):
2123 (WebCore::Image::initNativeData):
2124 (WebCore::Image::destroyNativeData):
2125 (WebCore::Image::invalidateNativeData):
2126 (WebCore::Image::loadResource):
2127 (WebCore::Image::supportsType):
2128 (WebCore::Image::draw):
2129 (WebCore::Image::drawTiled):
2130 (WebCore::Image::checkForSolidColor):
2131 * platform/qt/ImageSourceQt.cpp: Added.
2132 (WebCore::createDecoder):
2133 (WebCore::ImageSource::ImageSource):
2134 (WebCore::ImageSource::~ImageSource):
2135 (WebCore::ImageSource::initialized):
2136 (WebCore::ImageSource::setData):
2137 (WebCore::ImageSource::isSizeAvailable):
2138 (WebCore::ImageSource::size):
2139 (WebCore::ImageSource::repetitionCount):
2140 (WebCore::ImageSource::frameCount):
2141 (WebCore::ImageSource::createFrameAtIndex):
2142 (WebCore::ImageSource::frameDurationAtIndex):
2143 (WebCore::ImageSource::frameHasAlphaAtIndex):
2145 2006-08-23 Brady Eidson <beidson@apple.com>
2149 Moved default URL icon from WebKit to WebCore
2151 * Resources/urlIcon.tiff: Added.
2152 * WebCore.xcodeproj/project.pbxproj:
2153 * loader/icon/IconDataCache.cpp:
2154 (WebCore::IconDataCache::loadImageFromResource):
2155 * loader/icon/IconDataCache.h:
2156 * loader/icon/IconDatabase.cpp:
2157 (WebCore::IconDatabase::IconDatabase):
2158 (WebCore::IconDatabase::defaultIcon):
2159 * loader/icon/IconDatabase.h:
2161 2006-08-23 Adam Roben <aroben@apple.com>
2163 Reviewed by Darin, Adele.
2165 Some popup refactoring/cleanup.
2167 * html/HTMLSelectElement.cpp:
2168 (WebCore::HTMLSelectElement::defaultEventHandler):
2169 * rendering/RenderMenuList.cpp:
2170 (WebCore::RenderMenuList::RenderMenuList):
2171 (WebCore::RenderMenuList::~RenderMenuList):
2172 (WebCore::RenderMenuList::showPopup):
2173 (WebCore::RenderMenuList::hidePopup):
2174 * rendering/RenderMenuList.h:
2175 (WebCore::RenderMenuList::popup):
2176 (WebCore::RenderMenuList::popupIsVisible):
2177 * rendering/RenderPopupMenu.h:
2178 * rendering/RenderPopupMenuMac.h:
2179 (WebCore::RenderPopupMenuMac::hidePopup):
2181 2006-08-23 Nikolas Zimmermann <zimmermann@kde.org>
2183 Reviewed by Anders. Landed by rwlbuis.
2185 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2186 WebKit should have Qt platform support
2188 * platform/qt/ResourceLoaderCurl.cpp: Added.
2189 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2190 (WebCore::ResourceLoader::~ResourceLoader):
2191 (WebCore::ResourceLoader::start):
2192 (WebCore::ResourceLoader::cancel):
2193 (WebCore::ResourceLoader::assembleResponseHeaders):
2194 (WebCore::ResourceLoader::retrieveCharset):
2195 (WebCore::ResourceLoader::receivedResponse):
2196 * platform/qt/ResourceLoaderManager.cpp: Added.
2197 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2198 (WebCore::ResourceLoaderManager::get):
2199 (WebCore::ResourceLoaderManager::useSimpleTransfer):
2200 (WebCore::writeCallback):
2201 (WebCore::headerCallback):
2202 (WebCore::ResourceLoaderManager::downloadTimerCallback):
2203 (WebCore::ResourceLoaderManager::remove):
2204 (WebCore::ResourceLoaderManager::add):
2205 (WebCore::ResourceLoaderManager::cancel):
2206 * platform/qt/ResourceLoaderManager.h: Added.
2207 * platform/qt/StringQt.cpp: Added.
2208 (WebCore::String::String):
2209 (WebCore::String::operator QString):
2210 (WebCore::DeprecatedString::operator QString):
2212 2006-08-23 Brady Eidson <beidson@apple.com>
2216 Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
2218 * WebCore.xcodeproj/project.pbxproj: Reordered some files
2219 * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
2220 (WebCore::IconDataCache::writeToDatabase):
2221 * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
2222 (WebCore::IconDatabase::retainIconURL):
2223 (WebCore::IconDatabase::releaseIconURL):
2224 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
2225 (WebCore::IconDatabase::establishIconIDForIconURL):
2226 (WebCore::imageDataForIconURLQuery):
2227 (WebCore::timeStampForIconURLQuery):
2228 (WebCore::iconURLForPageURLQuery):
2229 (WebCore::forgetPageURLQuery):
2230 (WebCore::setIconIDForPageURLQuery):
2231 (WebCore::getIconIDForIconURLQuery):
2232 (WebCore::addIconForIconURLQuery):
2233 (WebCore::hasIconForIconURLQuery):
2234 * loader/icon/SQLDatabase.h:
2235 (WebCore::escapeSQLString): Added
2237 2006-08-22 Maciej Stachowiak <mjs@apple.com>
2241 - assorted style cleanup of icon loader code:
2243 - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
2244 - split headers to be one per class, to match impl files
2245 - made files that are purely local in IconDatabase.cpp static
2246 - make each impl file include config.h as first header (and no config.h includes in other headers)
2247 - avoid multiple copies of Vector<unsigned char> for image data
2249 * WebCore.xcodeproj/project.pbxproj:
2250 * loader/icon/IconDataCache.cpp:
2251 * loader/icon/IconDataCache.h: Added.
2253 (WebCore::IconDataCache::getTimestamp):
2254 (WebCore::IconDataCache::setTimestamp):
2255 (WebCore::IconDataCache::getIconURL):
2256 * loader/icon/IconDatabase.cpp:
2257 (WebCore::IconDatabase::imageDataForIconURL):
2258 (WebCore::IconDatabase::iconForPageURL):
2259 (WebCore::pageURLTableIsEmptyQuery):
2260 (WebCore::imageDataForIconURLQuery):
2261 (WebCore::timeStampForIconURLQuery):
2262 (WebCore::iconURLForPageURLQuery):
2263 (WebCore::forgetPageURLQuery):
2264 (WebCore::setIconIDForPageURLQuery):
2265 (WebCore::getIconIDForIconURLQuery):
2266 (WebCore::addIconForIconURLQuery):
2267 (WebCore::hasIconForIconURLQuery):
2268 * loader/icon/IconDatabase.h:
2269 * loader/icon/SQLDatabase.cpp:
2270 * loader/icon/SQLDatabase.h:
2271 * loader/icon/SQLStatement.cpp:
2272 (WebCore::SQLStatement::getColumnBlobAsVector):
2273 * loader/icon/SQLStatement.h: Added.
2274 (WebCore::SQLStatement::isPrepared):
2275 (WebCore::SQLStatement::prepareAndStep):
2276 (WebCore::SQLStatement::lastError):
2277 (WebCore::SQLStatement::lastErrorMsg):
2278 * loader/icon/SQLTransaction.cpp:
2279 * loader/icon/SQLTransaction.h: Added.
2281 2006-08-22 Brady Eidson <beidson@apple.com>
2285 The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
2286 As such, I'm renaming it to IconDataCache.
2287 Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the
2288 TimeStamp when an icon is created or the data is changed.
2289 IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
2290 IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
2291 The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
2293 * WebCore.xcodeproj/project.pbxproj: Renamed a file
2294 * loader/icon/IconDataCache.cpp: Added.
2295 (IconDataCache::IconDataCache):
2296 (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
2297 (IconDataCache::manuallySetImageData): Delete the old image and create the new one
2298 (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
2299 (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
2300 * loader/icon/IconDatabase.cpp:
2301 (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
2302 (WebCore::IconDatabase::iconForPageURL):
2303 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
2304 (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
2305 (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
2306 (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
2307 * loader/icon/IconDatabase.h:
2308 (WebCore::IconDataCache::getTimestamp):
2309 (WebCore::IconDataCache::setTimestamp):
2310 * loader/icon/SiteIcon.cpp: Removed.
2313 2006-08-22 Justin Garcia <justin.garcia@apple.com>
2315 Reviewed by harrison
2317 <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
2318 REGRESSION(r15918): drag-into-marker.html failing
2320 * editing/ReplaceSelectionCommand.cpp:
2321 (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
2324 2006-08-22 Brady Eidson <beidson@apple.com>
2328 Added a check in getTIFFRepresentation to not proceed if the frame count is zero
2329 This is an error condition that was handled gracefully before - in certain circumstances
2330 the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
2331 or invalid data. This small change bails out before that call if that call will definitely fail
2333 * platform/mac/ImageMac.mm:
2334 (WebCore::Image::getTIFFRepresentation):
2336 2006-08-22 David Harrison <harrison@apple.com>
2338 Backed out my last change (r15966) because it broke lots of layout tests.
2340 * editing/TextIterator.cpp:
2341 (WebCore::TextIterator::advance):
2343 2006-08-22 Maciej Stachowiak <mjs@apple.com>
2347 - added some SPI indirections to support the following in WebKit/Loader:
2348 - pull more WebDataSource code into WebFrameLoader
2349 - make WebMainResourceLoader not depend on WebKit or on SPI
2352 * WebCore.xcodeproj/project.pbxproj:
2353 * platform/mac/WebCoreSystemInterface.h:
2354 * platform/mac/WebCoreSystemInterface.mm:
2356 2006-08-22 Justin Garcia <justin.garcia@apple.com>
2358 Reviewed by harrison
2360 <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
2362 * editing/ReplaceSelectionCommand.cpp:
2363 (WebCore::isInterchangeNewlineNode):
2364 (WebCore::isInterchangeConvertedSpaceSpan):
2365 (WebCore::ReplacementFragment::ReplacementFragment):
2366 (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
2367 remove them and remove style nodes and style spans which were only contributing redundant styles.
2368 (WebCore::ReplaceSelectionCommand::doApply):
2369 * editing/ReplaceSelectionCommand.h:
2371 2006-08-22 David Harrison <harrison@apple.com>
2375 <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
2377 This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
2380 * manual-tests/inline-input-marking.html: Added.
2381 Check that underlining of the inline input hole does not obscure the glyphs.
2383 * rendering/InlineTextBox.cpp:
2384 (WebCore::InlineTextBox::paintMarkedTextUnderline):
2385 Position underline at bottom of text box.
2386 Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
2388 2006-08-22 Rob Buis <buis@kde.org>
2392 http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
2393 REPRO: SVG crashes inside gradient code
2395 Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
2397 * ksvg2/svg/SVGGradientElement.cpp:
2398 (SVGGradientElement::notifyAttributeChange):
2399 (SVGGradientElement::resourceNotification):
2401 2006-08-22 David Harrison <harrison@apple.com>
2405 <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
2407 * bridge/mac/WebCoreAXObject.mm:
2409 (-[WebCoreAXObject headingLevel]):
2410 (-[WebCoreAXObject isHeading]):
2411 New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
2413 (-[WebCoreAXObject role]):
2414 (-[WebCoreAXObject roleDescription]):
2415 Add role and roleDescription for headings.
2417 (-[WebCoreAXObject value]):
2418 Value is the headingLevel.
2420 (AXAttributeStringSetHeadingLevel):
2421 (AXAttributedStringAppendText):
2422 Put text's heading level (if applicable) in the attributes.
2424 2006-08-22 David Harrison <harrison@apple.com>
2428 <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
2430 Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
2432 * editing/TextIterator.cpp:
2433 (WebCore::TextIterator::advance):
2436 2006-08-22 David Harrison <harrison@apple.com>
2440 <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker
2442 * bridge/mac/WebCoreAXObject.mm:
2443 (-[WebCoreAXObject textMarkerRange]):
2444 Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
2445 Check for VisiblePositions being equal. If so, adjust end one to its next().
2446 That happens with, e.g., buttons.
2448 2006-08-22 Rob Buis <buis@kde.org>
2452 http://bugzilla.opendarwin.org/show_bug.cgi?id=10491
2453 KCanvasMatrix removal
2455 Remove KCanvasMatrix from project, using AffineTransform instead.
2457 * WebCore.xcodeproj/project.pbxproj:
2458 * kcanvas/KCanvasMatrix.cpp: Removed.
2459 * kcanvas/KCanvasMatrix.h: Removed.
2460 * kcanvas/KCanvasResources.cpp:
2461 (WebCore::KCanvasMarker::draw):
2462 * kcanvas/KCanvasResources.h:
2463 * kcanvas/RenderForeignObject.cpp:
2464 * kcanvas/RenderPath.h:
2465 * kcanvas/RenderSVGContainer.cpp:
2466 (WebCore::RenderSVGContainer::viewportTransform):
2467 (WebCore::RenderSVGContainer::getAspectRatio):
2468 * kcanvas/RenderSVGContainer.h:
2469 * kcanvas/RenderSVGText.cpp:
2470 * kcanvas/device/KRenderingDevice.h:
2471 * kcanvas/device/KRenderingPaintServerGradient.cpp:
2472 (WebCore::KRenderingPaintServerGradient::gradientTransform):
2473 (WebCore::KRenderingPaintServerGradient::setGradientTransform):
2474 (WebCore::KRenderingPaintServerGradient::externalRepresentation):
2475 * kcanvas/device/KRenderingPaintServerGradient.h:
2476 * kcanvas/device/KRenderingPaintServerPattern.cpp:
2477 (WebCore::KRenderingPaintServerPattern::patternTransform):
2478 (WebCore::KRenderingPaintServerPattern::setPatternTransform):
2479 (WebCore::KRenderingPaintServerPattern::externalRepresentation):
2480 * kcanvas/device/KRenderingPaintServerPattern.h:
2481 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2482 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2483 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2484 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2485 (WebCore::KRenderingDeviceContextQuartz::concatCTM):
2486 (WebCore::KRenderingDeviceContextQuartz::ctm):
2487 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2488 (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
2489 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2490 (WebCore::KRenderingPaintServerPatternQuartz::setup):
2491 * kcanvas/device/quartz/QuartzSupport.mm:
2492 * ksvg2/misc/KCanvasRenderingStyle.h:
2493 * ksvg2/svg/SVGAnimateTransformElement.cpp:
2494 * ksvg2/svg/SVGAnimateTransformElement.h:
2495 * ksvg2/svg/SVGLinearGradientElement.cpp:
2496 (SVGLinearGradientElement::buildGradient):
2497 * ksvg2/svg/SVGPatternElement.cpp:
2498 (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2499 (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2500 (WebCore::SVGPatternElement::notifyAttributeChange):
2501 * ksvg2/svg/SVGPatternElement.h:
2502 * ksvg2/svg/SVGRadialGradientElement.cpp:
2503 (WebCore::SVGRadialGradientElement::buildGradient):
2505 2006-08-22 Rob Buis <buis@kde.org>
2509 http://bugzilla.opendarwin.org/show_bug.cgi?id=10405
2510 REPRO: SVG Maze crashes in RenderPath code
2512 Do not render a path when it is empty so maze15.svg does not crash anymore.
2513 Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.
2515 * kcanvas/RenderPath.cpp:
2516 (WebCore::RenderPath::paint):
2517 * kcanvas/device/quartz/KCanvasPathQuartz.mm:
2518 (WebCore::KCanvasPathQuartz::strokeBoundingBox):
2520 2006-08-21 Brady Eidson <beidson@apple.com>
2524 <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
2526 Added a flag to track whether or not the initial pruning has taken place on startup
2527 If that flag is not set, IconURL retain counts will be tracked in a temporary db table
2528 in addition to the in-memory hash. Then when the timer fires after initial retains
2529 are complete, we prune those icons not in the retain table, prune dangling PageURL
2530 references, delete the temporary table, and set the flag - and carry on as normal
2532 * loader/icon/IconDatabase.cpp:
2533 (WebCore::IconDatabase::IconDatabase): initialize the flag
2534 (WebCore::IconDatabase::open): changed the schema of the temporary table
2535 (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
2536 (WebCore::IconDatabase::releaseIconURL): ditto
2537 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
2538 wipe all the PageURLs who no longer point to a valid IconURL
2539 * loader/icon/IconDatabase.h:
2541 2006-08-21 Alexey Proskuryakov <ap@nypop.com>
2545 http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
2546 XSLTProcessor transformToFragment fails because of an XML declaration
2548 Test: fast/xsl/transformToFragment-XML-declaration.html
2550 * xml/XSLTProcessor.cpp:
2551 (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
2553 2006-08-21 David Harrison <harrison@apple.com>
2557 <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
2559 Added support for the NSAccessibilityMisspelledTextAttribute.
2561 Test cases added: None. Manual AX testing is way too awkward, and automated testing
2562 is not possible. See following bug...
2563 <rdar://problem/4256882> Need automated testing support for accessibility APIs
2565 * bridge/mac/WebCoreAXObject.mm:
2566 Lots of trivial formatting in many methods.
2568 (-[WebCoreAXObject accessibilityAttributeValue:]):
2569 Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
2570 of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
2573 (WebCore::AXAttributeStringSetSpelling):
2574 New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
2576 (-[WebCoreAXObject AXAttributedStringAppendText:]):
2577 Added call to AXAttributeStringSetSpelling.
2579 * editing/visible_units.cpp:
2580 (WebCore::startOfDocument):
2581 (WebCore::endOfDocument):
2582 Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
2583 so a previously existing VisiblePosition is not required.
2585 * editing/visible_units.h:
2586 Declare new forms of startOfDocument and endOfDocument.
2588 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
2592 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2593 WebKit should have Qt platform support
2595 * platform/qt/TemporaryLinkStubs.cpp: Added.
2596 (JavaAppletWidget::JavaAppletWidget):
2597 (Font::selectionRectForComplexText):
2598 (Font::offsetForPositionForComplexText):
2599 (WebCore::refreshPlugins):
2600 (WebCore::focusRingColor):
2602 (WebCore::TextField::selectAll):
2603 (WebCore::TextField::addSearchResult):
2604 (WebCore::TextField::selectionStart):
2605 (WebCore::TextField::hasSelectedText):
2606 (WebCore::TextField::selectedText):
2607 (WebCore::TextField::setAutoSaveName):
2608 (WebCore::TextField::checksDescendantsForFocus):
2609 (WebCore::TextField::setSelection):
2610 (WebCore::TextField::setMaxResults):
2611 (WebCore::TextField::edited):
2612 (WebCore::TextField::focusPolicy):
2613 (WebCore::TextField::TextField):
2614 (WebCore::TextField::~TextField):
2615 (WebCore::TextField::setFont):
2616 (WebCore::TextField::setAlignment):
2617 (WebCore::TextField::setWritingDirection):
2618 (WebCore::TextField::maxLength):
2619 (WebCore::TextField::setMaxLength):
2620 (WebCore::TextField::text):
2621 (WebCore::TextField::setText):
2622 (WebCore::TextField::cursorPosition):
2623 (WebCore::TextField::setCursorPosition):
2624 (WebCore::TextField::setEdited):
2625 (WebCore::TextField::setReadOnly):
2626 (WebCore::TextField::setPlaceholderString):
2627 (WebCore::TextField::setColors):
2628 (WebCore::TextField::sizeForCharacterWidth):
2629 (WebCore::TextField::baselinePosition):
2630 (WebCore::TextField::setLiveSearch):
2631 (WebCore::Slider::Slider):
2632 (WebCore::Slider::sizeHint):
2633 (WebCore::Slider::~Slider):
2634 (WebCore::Slider::setValue):
2635 (WebCore::Slider::setMaxValue):
2636 (WebCore::Slider::setMinValue):
2637 (WebCore::Slider::setFont):
2638 (WebCore::Slider::value):
2639 (WebCore::Slider::focusPolicy):
2640 (WebCore::ScrollBar::ScrollBar):
2641 (WebCore::ScrollBar::setSteps):
2642 (WebCore::ScrollBar::scroll):
2643 (WebCore::ScrollBar::setValue):
2644 (WebCore::ScrollBar::setKnobProportion):
2645 (WebCore::PlatformScrollBar::PlatformScrollBar):
2646 (WebCore::PlatformScrollBar::~PlatformScrollBar):
2647 (WebCore::PlatformScrollBar::width):
2648 (WebCore::PlatformScrollBar::height):
2649 (WebCore::PlatformScrollBar::setEnabled):
2650 (WebCore::PlatformScrollBar::paint):
2651 (WebCore::PlatformScrollBar::setScrollBarValue):
2652 (WebCore::PlatformScrollBar::setKnobProportion):
2653 (WebCore::PlatformScrollBar::setRect):
2654 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2655 (WebCore::CheckCacheObjectStatus):
2656 (WebCore::CheckIfReloading):
2657 (WebCore::ServeSynchronousRequest):
2658 (WebCore::historyContains):
2659 (WebCore::submitButtonDefaultLabel):
2660 (WebCore::inputElementAltText):
2661 (WebCore::resetButtonDefaultLabel):
2662 (WebCore::defaultLanguage):
2663 (WebCore::findNextSentenceFromIndex):
2664 (WebCore::findSentenceBoundary):
2665 (WebCore::findNextWordFromIndex):
2666 (WebCore::findWordBoundary):
2667 (Frame::setNeedsReapplyStyles):
2668 (WebCore::screenDepthPerComponent):
2669 (WebCore::screenIsMonochrome):
2670 (WebCore::searchableIndexIntroduction):
2671 (WebCore::setFocusRingColorChangeFunction):
2672 (FrameView::updateBorder):
2673 (loadResourceIntoArray):
2674 (PlugInInfoStore::createPluginInfoForPluginAtIndex):
2675 (PlugInInfoStore::pluginCount):
2676 (WebCore::PlugInInfoStore::supportsMIMEType):
2677 (FileButton::FileButton):
2678 (FileButton::click):
2679 (FileButton::sizeForCharacterWidth):
2680 (FileButton::focusPolicy):
2681 (FileButton::frameGeometry):
2682 (FileButton::setFilename):
2683 (FileButton::baselinePosition):
2684 (FileButton::setFrameGeometry):
2685 (FileButton::setDisabled):
2686 (WebCore::supportedKeySizes):
2687 (WebCore::signedPublicKeyAndChallengeString):
2689 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
2693 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2694 WebKit should have Qt platform support
2696 * platform/qt/CursorQt.cpp: Added.
2697 (WebCore::Cursor::Cursor):
2698 (WebCore::Cursor::~Cursor):
2699 (WebCore::Cursor::operator=):
2700 (WebCore::Cursors::Cursors::self):
2701 (WebCore::moveCursor):
2702 (WebCore::crossCursor):
2703 (WebCore::handCursor):
2704 (WebCore::iBeamCursor):
2705 (WebCore::waitCursor):
2706 (WebCore::helpCursor):
2707 (WebCore::eastResizeCursor):
2708 (WebCore::northResizeCursor):
2709 (WebCore::northEastResizeCursor):
2710 (WebCore::northWestResizeCursor):
2711 (WebCore::southResizeCursor):
2712 (WebCore::southEastResizeCursor):
2713 (WebCore::southWestResizeCursor):
2714 (WebCore::westResizeCursor):
2715 (WebCore::northSouthResizeCursor):
2716 (WebCore::eastWestResizeCursor):
2717 (WebCore::northEastSouthWestResizeCursor):
2718 (WebCore::northWestSouthEastResizeCursor):
2719 (WebCore::columnResizeCursor):
2720 (WebCore::rowResizeCursor):
2721 * platform/qt/RenderThemeQt.cpp: Added.
2722 (WebCore::RenderThemeQt::RenderThemeQt):
2723 (WebCore::RenderThemeQt::supportsHover):
2724 (WebCore::RenderThemeQt::paintCheckbox):
2725 (WebCore::RenderThemeQt::paintRadio):
2727 (WebCore::RenderThemeQt::isControlStyled):
2728 (WebCore::RenderThemeQt::controlSupportsTints):
2729 (WebCore::RenderThemeQt::systemFont):
2730 (WebCore::RenderThemeQt::createPopupMenu):
2731 (WebCore::RenderThemeQt::addIntrinsicMargins):
2732 (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
2733 (WebCore::RenderThemeQt::setCheckboxSize):
2734 (WebCore::RenderThemeQt::setRadioSize):
2735 (WebCore::RenderThemeQt::supportsFocus):
2736 (WebCore::RenderThemeQt::applyTheme):
2737 (WebCore::RenderThemeQt::adjustButtonStyle):
2738 (WebCore::RenderThemeQt::paintButton):
2739 (WebCore::RenderThemeQt::adjustTextFieldStyle):
2740 (WebCore::RenderThemeQt::paintTextField):
2742 2006-08-21 Nikolas Zimmermann <zimmermann@kde.org>
2746 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2747 WebKit should have Qt platform support
2749 * platform/qt/SharedTimerQt.cpp: Added.
2750 (WebCore:setSharedTimerFiredFunction):
2751 (WebCore::setSharedTimerFireTime):
2752 (WebCore::stopSharedTimer):
2753 * platform/qt/SharedTimerQt.h: Added.
2754 (WebCore::SharedTimerQt::SharedTimerQt):
2755 (WebCore::SharedTimerQt::~SharedTimerQt):
2756 (WebCore::SharedTimerQt::inst):
2757 (WebCore::SharedTimerQt::fire):
2758 * platform/qt/SystemTimeQt.cpp: Added.
2759 (WebCore::currentTime):
2761 2006-08-21 Brady Eidson <beidson@apple.com>
2765 -Defers writing to the database via a timer and handles starting the timer
2768 * loader/icon/IconDatabase.cpp:
2769 (WebCore::IconDatabase::IconDatabase):
2770 (WebCore::IconDatabase::open): Don't start the update timer by default
2771 (WebCore::IconDatabase::close): Call syncDatabase()
2772 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
2773 (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
2774 (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
2775 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
2776 (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
2777 (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
2778 * loader/icon/IconDatabase.h:
2780 2006-08-21 Alexey Proskuryakov <ap@nypop.com>
2784 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10429
2785 XSLTProcessor.transformToFragment crashes if the owner document is empty
2787 Test: fast/js/xslt-fragment-in-empty-doc.html
2789 * dom/XMLTokenizer.cpp:
2790 (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
2792 2006-08-21 Brady Eidson <beidson@apple.com>
2796 -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
2797 In the near future, we'll also have timer-based deferred *addition* of database records
2798 -Keep retain/release counts in a hash instead of a DB table
2799 -Keep only one hash record for the SiteIcons
2800 -Renamed some methods for clarity
2802 * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
2803 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
2804 (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
2805 * loader/icon/IconDatabase.cpp:
2806 (WebCore::IconDatabase::IconDatabase):
2807 (WebCore::IconDatabase::open): Added new timer setup
2808 (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
2809 (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
2810 (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
2811 (WebCore::IconDatabase::retainIconURL): Added
2812 (WebCore::IconDatabase::releaseIconURL): Added
2813 (WebCore::IconDatabase::forgetPageURL): Added
2814 (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
2815 (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
2816 (WebCore::IconDatabase::setIconURLForPageURL):
2817 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
2818 (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
2819 (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
2820 * loader/icon/IconDatabase.h: Added multiple stuffs
2822 2006-08-21 Brady Eidson <beidson@apple.com>
2824 Reviewed by Maciej's rubberstamp
2826 Removed stale file references from the Xcode.proj
2828 * WebCore.xcodeproj/project.pbxproj:
2830 2006-08-20 Nikolas Zimmermann <zimmermann@kde.org>
2832 Reviewed by Maciej. Landed by rwlbuis.
2834 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
2835 WebKit should have Qt platform support
2837 Removing HelperQt.h usage by creating appropriate operators
2838 constructor in some of the platform classes, as suggested by Darin.
2841 * platform/DeprecatedString.h:
2843 * platform/PlatformString.h:
2844 * platform/qt/ComboBoxQt.cpp:
2845 (WebCore::PlatformComboBox::appendItem):
2846 (WebCore::PlatformComboBox::appendGroupLabel):
2847 (WebCore::PlatformComboBox::setFont):
2848 * platform/qt/LineEditQt.cpp:
2849 (WebCore::PlatformLineEdit::setFont):
2850 (WebCore::PlatformLineEdit::setText):
2851 (WebCore::PlatformLineEdit::text):
2852 (WebCore::PlatformLineEdit::selectedText):
2853 * platform/qt/ListBoxQt.cpp:
2854 (WebCore::ListBox::setFont):
2855 (WebCore::ListBox::appendItem):
2856 * platform/qt/PlatformKeyboardEventQt.cpp:
2857 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2858 * platform/qt/ScrollViewQt.cpp:
2859 * platform/qt/StringQt.cpp: Added.
2860 (WebCore::String::String):
2861 (WebCore::String::operator QString):
2862 (WebCore::DeprecatedString::operator QString):
2863 * platform/qt/TextEditQt.cpp:
2864 * platform/qt/WidgetQt.cpp:
2865 (WebCore::Widget::setFont):
2867 2006-08-18 Steve Falkenburg <sfalken@apple.com>
2869 Rubber stamped by adele.
2871 Fix call to WebFormDelegate's textFieldDidBeginEditing.
2873 * rendering/RenderTextControl.cpp:
2874 (WebCore::RenderTextControl::subtreeHasChanged):
2876 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
2878 Reviewed by Eric. Landed by rwlbuis.
2880 Next chunk of the implementation for:
2881 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2883 WebKit should have Qt platform support
2885 * platform/qt/KeyboardCodes.h: Added.
2886 * platform/qt/PlatformKeyboardEventQt.cpp: Added.
2887 (WebCore::keyIdentifierForQtKeyCode):
2888 (WebCore::windowsKeyCodeForKeyEvent):
2889 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2890 * platform/qt/PlatformMouseEventQt.cpp: Added.
2892 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2894 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
2896 Reviewed by Eric. Landed by rwlbuis.
2898 Next chunk of the implementation for:
2899 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2901 WebKit should have Qt platform support
2903 * platform/qt/AffineTransformQt.cpp: Added.
2904 (WebCore::AffineTransform::AffineTransform):
2905 (WebCore::AffineTransform::setMatrix):
2906 (WebCore::AffineTransform::map):
2907 (WebCore::AffineTransform::mapRect):
2908 (WebCore::AffineTransform::isIdentity):
2909 (WebCore::AffineTransform::m11):
2910 (WebCore::AffineTransform::m12):
2911 (WebCore::AffineTransform::m21):
2912 (WebCore::AffineTransform::m22):
2913 (WebCore::AffineTransform::dx):
2914 (WebCore::AffineTransform::dy):
2915 (WebCore::AffineTransform::reset):
2916 (WebCore::AffineTransform::scale):
2917 (WebCore::AffineTransform::rotate):
2918 (WebCore::AffineTransform::translate):
2919 (WebCore::AffineTransform::shear):
2920 (WebCore::AffineTransform::det):
2921 (WebCore::AffineTransform::invert):
2922 (WebCore::AffineTransform::operator QMatrix):
2923 (WebCore::AffineTransform::operator==):
2924 (WebCore::AffineTransform::operator*=):
2925 (WebCore::AffineTransform::operator*):
2926 * platform/qt/BrowserExtensionQt.cpp: Added.
2927 (WebCore::BrowserExtensionQt::BrowserExtensionQt):
2928 (WebCore::BrowserExtensionQt::canRunModal):
2929 (WebCore::BrowserExtensionQt::createNewWindow):
2930 (WebCore::BrowserExtensionQt::canRunModalNow):
2931 (WebCore::BrowserExtensionQt::runModal):
2932 (WebCore::BrowserExtensionQt::goBackOrForward):
2933 (WebCore::BrowserExtensionQt::historyURL):
2934 (WebCore::BrowserExtensionQt::setTypedIconURL):
2935 (WebCore::BrowserExtensionQt::setIconURL):
2936 (WebCore::BrowserExtensionQt::getHistoryLength):
2937 * platform/qt/BrowserExtensionQt.h: Added.
2938 * platform/qt/CookieJarQt.cpp: Added.
2939 (WebCore::setCookies):
2941 (WebCore::cookiesEnabled):
2942 * platform/qt/PageQt.cpp: Added.
2943 (WebCore::rootWindowForFrame):
2944 (WebCore::Page::windowRect):
2945 (WebCore::Page::setWindowRect):
2946 * platform/qt/PathQt.cpp: Added.
2947 (WebCore::Path::Path):
2948 (WebCore::Path::~Path):
2949 (WebCore::Path::operator=):
2950 (WebCore::Path::contains):
2951 (WebCore::Path::translate):
2952 (WebCore::Path::boundingRect):
2953 (WebCore::Path::moveTo):
2954 (WebCore::Path::addLineTo):
2955 (WebCore::Path::addQuadCurveTo):
2956 (WebCore::Path::addBezierCurveTo):
2957 (WebCore::Path::addArcTo):
2958 (WebCore::Path::closeSubpath):
2959 (WebCore::Path::addArc):
2960 (WebCore::Path::addRect):
2961 (WebCore::Path::addEllipse):
2962 (WebCore::Path::clear):
2963 * platform/qt/ScreenQt.cpp: Added.
2964 (WebCore::screenRect):
2965 (WebCore::screenDepth):
2966 (WebCore::usableScreenRect):
2969 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
2971 Reviewed by Eric. Landed by rwlbuis.
2973 First chunk of the implementation for:
2974 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2976 WebKit should have Qt platform support
2978 * platform/qt/ComboBoxQt.cpp: Added.
2979 (WebCore::PlatformComboBox::PlatformComboBox):
2980 (WebCore::PlatformComboBox::~PlatformComboBox):
2981 (WebCore::PlatformComboBox::setParentWidget):
2982 (WebCore::PlatformComboBox::clear):
2983 (WebCore::PlatformComboBox::appendItem):
2984 (WebCore::PlatformComboBox::appendGroupLabel):
2985 (WebCore::PlatformComboBox::appendSeparator):
2986 (WebCore::PlatformComboBox::setCurrentItem):
2987 (WebCore::PlatformComboBox::sizeHint):
2988 (WebCore::PlatformComboBox::frameGeometry):
2989 (WebCore::PlatformComboBox::setFrameGeometry):
2990 (WebCore::PlatformComboBox::baselinePosition):
2991 (WebCore::PlatformComboBox::setFont):
2992 (WebCore::PlatformComboBox::focusPolicy):
2993 (WebCore::PlatformComboBox::itemSelected):
2994 (WebCore::PlatformComboBox::setWritingDirection):
2995 (WebCore::PlatformComboBox::populate):
2996 (WebCore::PlatformComboBox::populateMenu):
2997 * platform/qt/LineEditQt.cpp: Added.
2998 (WebCore::PlatformLineEdit::PlatformLineEdit):
2999 (WebCore::PlatformLineEdit::~PlatformLineEdit):
3000 (WebCore::PlatformLineEdit::setParentWidget):
3001 (WebCore::PlatformLineEdit::setColors):
3002 (WebCore::PlatformLineEdit::setAlignment):
3003 (WebCore::PlatformLineEdit::setCursorPosition):
3004 (WebCore::PlatformLineEdit::cursorPosition):
3005 (WebCore::PlatformLineEdit::setEdited):
3006 (WebCore::PlatformLineEdit::edited):
3007 (WebCore::PlatformLineEdit::setFont):
3008 (WebCore::PlatformLineEdit::setMaxLength):
3009 (WebCore::PlatformLineEdit::maxLength):
3010 (WebCore::PlatformLineEdit::setReadOnly):
3011 (WebCore::PlatformLineEdit::isReadOnly):
3012 (WebCore::PlatformLineEdit::setText):
3013 (WebCore::PlatformLineEdit::text):
3014 (WebCore::PlatformLineEdit::setWritingDirection):
3015 (WebCore::PlatformLineEdit::selectAll):
3016 (WebCore::PlatformLineEdit::hasSelectedText):
3017 (WebCore::PlatformLineEdit::selectionStart):
3018 (WebCore::PlatformLineEdit::selectedText):
3019 (WebCore::PlatformLineEdit::setSelection):
3020 (WebCore::PlatformLineEdit::sizeForCharacterWidth):
3021 (WebCore::PlatformLineEdit::baselinePosition):
3022 (WebCore::PlatformLineEdit::focusPolicy):
3023 (WebCore::PlatformLineEdit::checksDescendantsForFocus):
3024 (WebCore::PlatformLineEdit::setLiveSearch):
3025 (WebCore::PlatformLineEdit::setAutoSaveName):
3026 (WebCore::PlatformLineEdit::setMaxResults):
3027 (WebCore::PlatformLineEdit::setPlaceholderString):
3028 (WebCore::PlatformLineEdit::addSearchResult):
3029 * platform/qt/ListBoxQt.cpp: Added.
3030 (WebCore::ListBox::ListBox):
3031 (WebCore::ListBox::~ListBox):
3032 (WebCore::ListBox::setParentWidget):
3033 (WebCore::ListBox::sizeForNumberOfLines):
3034 (WebCore::ListBox::setSelectionMode):
3035 (WebCore::ListBox::clear):
3036 (WebCore::ListBox::doneAppendingItems):
3037 (WebCore::ListBox::setSelected):
3038 (WebCore::ListBox::isSelected):
3039 (WebCore::ListBox::setEnabled):
3040 (WebCore::ListBox::isEnabled):
3041 (WebCore::ListBox::setWritingDirection):
3042 (WebCore::ListBox::focusPolicy):
3043 (WebCore::ListBox::checksDescendantsForFocus):
3044 (WebCore::ListBox::clearCachedTextRenderers):
3045 (WebCore::ListBox::setFont):
3046 (WebCore::ListBox::appendItem):
3047 * platform/qt/ScrollViewQt.cpp: Added.
3048 (WebCore::ScrollView::ScrollView):
3049 (WebCore::ScrollView::~ScrollView):
3050 (WebCore::ScrollView::setParentWidget):
3051 (WebCore::ScrollView::updateContents):
3052 (WebCore::ScrollView::visibleWidth):
3053 (WebCore::ScrollView::visibleHeight):
3054 (WebCore::ScrollView::visibleContentRect):
3055 (WebCore::ScrollView::setContentsPos):
3056 (WebCore::ScrollView::resizeContents):
3057 (WebCore::ScrollView::contentsX):
3058 (WebCore::ScrollView::contentsY):
3059 (WebCore::ScrollView::contentsWidth):
3060 (WebCore::ScrollView::contentsHeight):
3061 (WebCore::ScrollView::viewportToContents):
3062 (WebCore::ScrollView::contentsToViewport):
3063 (WebCore::ScrollView::scrollOffset):
3064 (WebCore::ScrollView::scrollBy):
3065 (WebCore::ScrollView::hScrollBarMode):
3066 (WebCore::ScrollView::vScrollBarMode):
3067 (WebCore::ScrollView::suppressScrollBars):
3068 (WebCore::ScrollView::setHScrollBarMode):
3069 (WebCore::ScrollView::setVScrollBarMode):
3070 (WebCore::ScrollView::setScrollBarsMode):
3071 (WebCore::ScrollView::setStaticBackground):
3072 (WebCore::ScrollView::addChild):
3073 (WebCore::ScrollView::removeChild):
3074 (WebCore::ScrollView::scrollPointRecursively):
3075 (WebCore::ScrollView::inWindow):
3076 * platform/qt/TextEditQt.cpp: Added.
3077 (WebCore::PlatformTextEdit::PlatformTextEdit):
3078 (WebCore::PlatformTextEdit::~PlatformTextEdit):
3079 (WebCore::PlatformTextEdit::setParentWidget):
3080 (WebCore::PlatformTextEdit::setColors):
3081 (WebCore::PlatformTextEdit::setAlignment):
3082 (WebCore::PlatformTextEdit::setLineHeight):
3083 (WebCore::PlatformTextEdit::setCursorPosition):
3084 (WebCore::PlatformTextEdit::getCursorPosition):
3085 (WebCore::PlatformTextEdit::setFont):
3086 (WebCore::PlatformTextEdit::setReadOnly):
3087 (WebCore::PlatformTextEdit::isReadOnly):
3088 (WebCore::PlatformTextEdit::setDisabled):
3089 (WebCore::PlatformTextEdit::isDisabled):
3090 (WebCore::PlatformTextEdit::hasSelectedText):
3091 (WebCore::PlatformTextEdit::setText):
3092 (WebCore::PlatformTextEdit::text):
3093 (WebCore::PlatformTextEdit::textWithHardLineBreaks):
3094 (WebCore::PlatformTextEdit::focusPolicy):
3095 (WebCore::PlatformTextEdit::setWordWrap):
3096 (WebCore::PlatformTextEdit::wordWrap):
3097 (WebCore::PlatformTextEdit::setScrollBarModes):
3098 (WebCore::PlatformTextEdit::setWritingDirection):
3099 (WebCore::PlatformTextEdit::selectionStart):
3100 (WebCore::PlatformTextEdit::selectionEnd):
3101 (WebCore::PlatformTextEdit::setSelectionStart):
3102 (WebCore::PlatformTextEdit::setSelectionEnd):
3103 (WebCore::PlatformTextEdit::selectAll):
3104 (WebCore::PlatformTextEdit::setSelectionRange):
3105 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
3106 (WebCore::PlatformTextEdit::checksDescendantsForFocus):
3107 * platform/qt/WidgetQt.cpp: Added.
3108 (WebCore::WidgetPrivate::WidgetPrivate):
3109 (WebCore::WidgetPrivate::~WidgetPrivate):
3110 (WebCore::Widget::Widget):
3111 (WebCore::Widget::~Widget):
3112 (WebCore::Widget::setClient):
3113 (WebCore::Widget::client):
3114 (WebCore::Widget::frameGeometry):
3115 (WebCore::Widget::hasFocus):
3116 (WebCore::Widget::setFocus):
3117 (WebCore::Widget::clearFocus):
3118 (WebCore::Widget::font):
3119 (WebCore::Widget::setFont):
3120 (WebCore::Widget::setCursor):
3121 (WebCore::Widget::show):
3122 (WebCore::Widget::hide):
3123 (WebCore::Widget::setQWidget):
3124 (WebCore::Widget::qwidget):
3125 (WebCore::Widget::setParentWidget):
3126 (WebCore::Widget::parentWidget):
3127 (WebCore::Widget::setFrameGeometry):
3128 (WebCore::Widget::mapFromGlobal):
3129 (WebCore::Widget::scaleFactor):
3130 (WebCore::Widget::lockDrawingFocus):
3131 (WebCore::Widget::unlockDrawingFocus):
3132 (WebCore::Widget::paint):
3133 (WebCore::Widget::enableFlushDrawing):
3134 (WebCore::Widget::isEnabled):
3135 (WebCore::Widget::setIsSelected):
3136 (WebCore::Widget::disableFlushDrawing):
3137 (WebCore::Widget::setEnabled):
3138 (WebCore::Widget::focusPolicy):
3140 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
3142 Reviewed by Eric. Landed by rwlbuis.
3144 First chunk of the implementation for:
3145 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3147 WebKit should have Qt platform support
3149 * platform/qt/ColorQt.cpp: Added.
3150 (WebCore::Color::Color):
3151 (WebCore::Color::operator QColor):
3152 * platform/qt/FloatPointQt.cpp: Added.
3153 (WebCore::FloatPoint::FloatPoint):
3154 (WebCore::FloatPoint::operator QPointF):
3155 * platform/qt/FloatRectQt.cpp: Added.
3156 (WebCore::FloatRect::FloatRect):
3157 (WebCore::FloatRect::operator QRectF):
3158 * platform/qt/IntPointQt.cpp: Added.
3159 (WebCore::IntPoint::IntPoint):
3160 (WebCore::IntPoint::operator QPoint):
3161 * platform/qt/IntRectQt.cpp: Added.
3162 (WebCore::IntRect::IntRect):
3163 (WebCore::IntRect::operator QRect):
3164 * platform/qt/IntSizeQt.cpp: Added.
3165 (WebCore::IntSize::IntSize):
3166 (WebCore::IntSize::operator QSize):
3168 2006-08-18 Nikolas Zimmermann <zimmermann@kde.org>
3170 Reviewed by Eric. Landed by rwlbuis.
3172 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
3173 The Qt platform needs a KCanvas device.
3175 * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
3176 (WebCore::KCanvasClipperQt::applyClip):
3177 * kcanvas/device/qt/KCanvasClipperQt.h: Added.
3178 (WebCore::KCanvasClipperQt::KCanvasClipperQt):
3179 * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
3180 (WebCore::KCanvasPathQt::KCanvasPathQt):
3181 (WebCore::KCanvasPathQt::~KCanvasPathQt):
3182 (WebCore::KCanvasPathQt::isEmpty):
3183 (WebCore::KCanvasPathQt::moveTo):
3184 (WebCore::KCanvasPathQt::lineTo):
3185 (WebCore::KCanvasPathQt::curveTo):
3186 (WebCore::KCanvasPathQt::closeSubpath):
3187 (WebCore::KCanvasPathQt::boundingBox):
3188 (WebCore::KCanvasPathQt::strokeBoundingBox):
3189 (WebCore::KCanvasPathQt::strokeContainsPoint):
3190 (WebCore::KCanvasPathQt::containsPoint):
3191 * kcanvas/device/qt/KCanvasPathQt.h: Added.
3192 (WebCore::KCanvasPathQt::qtPath):
3193 * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
3194 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
3195 (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
3196 (WebCore::KRenderingDeviceContextQt::concatCTM):
3197 (WebCore::KRenderingDeviceContextQt::ctm):
3198 (WebCore::KRenderingDeviceContextQt::mapFromVisual):
3199 (WebCore::KRenderingDeviceContextQt::mapToVisual):
3200 (WebCore::KRenderingDeviceContextQt::clearPath):
3201 (WebCore::KRenderingDeviceContextQt::addPath):
3202 (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
3203 (WebCore::KRenderingDeviceContextQt::painter):
3204 (WebCore::KRenderingDeviceContextQt::pathBBox):
3205 (WebCore::KRenderingDeviceContextQt::setFillRule):
3206 (WebCore::KRenderingDeviceContextQt::fillPath):
3207 (WebCore::KRenderingDeviceContextQt::strokePath):
3208 (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
3209 (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
3210 (WebCore::KRenderingDeviceQt::popContext):
3211 (WebCore::KRenderingDeviceQt::pushContext):
3212 (WebCore::KRenderingDeviceQt::qtContext):
3213 (WebCore::KRenderingDeviceQt::contextForImage):
3214 (WebCore::KRenderingDeviceQt::stringForPath):
3215 (WebCore::KRenderingDeviceQt::createResource):
3216 (WebCore::KRenderingDeviceQt::createPaintServer):
3217 (WebCore::KRenderingDeviceQt::createFilterEffect):
3219 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3221 Reviewed by Eric. Landed by rwlbuis.
3223 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
3224 WebKit should have Qt platform support.
3227 * platform/Cursor.h:
3228 (WebCore::Cursor::Cursor):
3229 * platform/FloatPoint.h:
3230 * platform/FloatRect.h:
3231 * platform/GlyphBuffer.h:
3232 (WebCore::GlyphBuffer::glyphAt):
3233 (WebCore::GlyphBuffer::advanceAt):
3234 (WebCore::GlyphBuffer::add):
3235 * platform/GraphicsContext.h:
3236 * platform/ImageSource.h:
3237 * platform/IntPoint.h:
3238 * platform/IntRect.h:
3239 * platform/IntSize.h:
3240 * platform/ListBox.h:
3242 * platform/PlatformKeyboardEvent.h:
3243 * platform/PlatformMouseEvent.h:
3244 * platform/ResourceLoader.h:
3245 * platform/ResourceLoaderClient.h:
3246 * platform/ResourceLoaderInternal.h:
3247 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3248 * platform/ScrollView.h:
3249 * platform/Widget.h:
3251 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3253 Reviewed by Eric. Landed by rwlbuis.
3255 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
3256 General WebKit Linux build fixes.
3258 * kcanvas/KCanvasFilters.cpp:
3259 (WebCore::operator<<):
3260 * kcanvas/RenderSVGImage.cpp:
3261 * ksvg2/css/SVGCSSStyleSelector.cpp:
3262 * ksvg2/svg/SVGAnimateColorElement.cpp:
3263 * ksvg2/svg/SVGMaskElement.cpp:
3264 * ksvg2/svg/SVGPatternElement.cpp:
3266 * rendering/RenderStyle.h:
3267 (WebCore::RenderStyle::deleteBindingURIs):
3268 * xml/DOMParser.cpp:
3270 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3272 Reviewed by Eric. Landed by rwlbuis.
3274 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
3275 Offer a cmake build system for Qt platform.
3277 * CMakeLists.txt: Added.
3279 2006-08-17 David Harrison <harrison@apple.com>
3281 Reviewed by John Sullivan.
3283 <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
3285 Accessorized RenderMenuList objects.
3287 * bridge/mac/WebCoreAXObject.mm:
3288 (-[WebCoreAXObject mouseButtonListener]):
3291 (-[WebCoreAXObject actionElement]):
3292 Return the HTMLSelectElement.
3294 (-[WebCoreAXObject firstChild]):
3295 (-[WebCoreAXObject lastChild]):
3296 (-[WebCoreAXObject previousSibling]):
3297 (-[WebCoreAXObject nextSibling]):
3298 (-[WebCoreAXObject parentObject]):
3299 (-[WebCoreAXObject parentObjectUnignored]):
3300 (-[WebCoreAXObject isAttachment]):
3301 (-[WebCoreAXObject attachmentView]):
3304 (-[WebCoreAXObject role]):
3305 Return NSAccessibilityPopUpButtonRole.
3307 (-[WebCoreAXObject subrole]):
3310 (-[WebCoreAXObject roleDescription]):
3311 Return NSAccessibilityPopUpButtonRole.
3313 (-[WebCoreAXObject textUnderElement]):
3316 (-[WebCoreAXObject value]):
3317 Return the RenderMenuList::text().
3319 (-[WebCoreAXObject position]):
3322 (-[WebCoreAXObject accessibilityIsIgnored]):
3323 - Ignore popup menu items because AppKit does.
3324 - Remove redundant check for buttonTag (earlier isControl() check suffices).
3326 (-[WebCoreAXObject accessibilityAttributeNames]):
3327 (-[WebCoreAXObject accessibilityActionNames]):
3328 (-[WebCoreAXObject accessibilityAttributeValue:]):
3331 (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
3332 Removed old debugging code that is no longer needed.
3335 (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
3336 (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
3337 (-[WebCoreAXObject removeAXObjectID]):
3340 * html/HTMLSelectElement.cpp:
3341 (WebCore::HTMLSelectElement::accessKeyAction):
3342 Call click() instead of focus().
3344 * rendering/RenderMenuList.cpp:
3345 (WebCore::RenderMenuList::text):
3346 Added for easy access to popup's current text.
3348 * rendering/RenderMenuList.h:
3349 (WebCore::RenderMenuList::isMenuList):
3350 * rendering/RenderObject.h:
3351 (WebCore::RenderObject::isMenuList):
3352 Added so popups can be identified.
3354 2006-08-17 David Harrison <harrison@apple.com>
3358 <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
3360 Test cases added: None. Manual AX testing is way too awkward, and automated testing
3361 is not possible. See following bug...
3362 <rdar://problem/4256882> Need automated testing support for accessibility APIs
3364 * bridge/mac/AXObjectCacheMac.mm:
3365 (WebCore::AXObjectCache::visiblePositionForTextMarker):
3366 Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
3368 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
3372 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
3373 AffineTransform should be multi-platform compatible
3375 * platform/AffineTransform.h:
3376 * platform/cg/AffineTransformCG.cpp:
3377 (WebCore::AffineTransform::m11):
3378 (WebCore::AffineTransform::m12):
3379 (WebCore::AffineTransform::m21):
3380 (WebCore::AffineTransform::m22):
3381 (WebCore::AffineTransform::dx):
3382 (WebCore::AffineTransform::dy):
3384 2006-08-16 David Hyatt <hyatt@apple.com>
3386 Fix an issue with CSS2 system fonts where they did not respect text
3387 zoom. This was most visible with the new control fonts used for form
3388 controls (they stopped swapping between small/mini/regular as you zoomed).
3392 * css/cssstyleselector.cpp:
3393 (WebCore::CSSStyleSelector::applyProperty):
3395 2006-08-15 Justin Garcia <justin.garcia@apple.com>
3397 Reviewed by thatcher
3399 First part of fix for:
3400 <rdar://problem/4384589>
3401 Mail hung on paste text
3404 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
3405 Extra line left after deleting whitespace:pre text
3406 <rdar://problem/4128080> Paste as HTML does not yield equivalent style
3407 <rdar://problem/4046469> Box styles on first element aren't copied/pasted
3408 Copy/paste of arstechnica.com
3410 Here's how we avoid adding redundant style information on paste: insert
3411 the fragment and do a test rendering, save away style information for
3412 every node in the fragment, remove all style information from the fragment,
3413 remove the fragment, insert it into the appropriate place in the document,
3414 then restore only those styles gathered during the test insertion that aren't
3415 redundant. Restoring the styles in this way results in an ApplyStyleCommand
3416 and a layout for nearly every inserted node.
3417 Instead we want to insert the fragment into the document without removing the
3418 style information, then mark style nodes and inline style declarations for
3419 removal if they are redundant, and sweep to remove them. This means that we
3420 can't rely on ReplacementFragment::wasBlock anymore, because blocks will now
3421 have style spans around them. This patch removes the use of wasBlock in
3422 ReplaceSelectionCommand.
3424 * editing/CompositeEditCommand.cpp:
3425 (WebCore::CompositeEditCommand::moveParagraphs): Added code
3426 to remove the line placeholder left after a move from preserveNewline text.
3427 * editing/DeleteSelectionCommand.cpp:
3428 (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if
3429 we're deleting a paragraph in preserveNewline text.
3430 * editing/JSEditor.cpp: Pass true to prevent nesting.
3431 * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
3432 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
3433 (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
3434 (WebCore::RenderingInfo::RenderingInfo): Ditto.
3435 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3436 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
3437 merging rules into one method.
3438 (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
3439 (WebCore::ReplaceSelectionCommand::shouldMerge):
3440 (WebCore::ReplaceSelectionCommand::doApply):
3441 Don't do nesting prevention when pasting into an empty paragraph, this
3442 fixes 4046469, the common cause of paste fidelity bugs, but needs
3443 to be tweaked a little because this can lead to margin/border build-up
3444 on repeated copy/pastes.
3445 Don't track startPos in addition to insertionPos. It was never used.
3446 Fixed a bug where a fragment starting with an interchange newline would
3447 cause content to be put outside of an editable region when pasting at the
3449 Adjust insertionPos before insertion (not during) and do not consult wasBlock
3450 to decide whether or not to do so.
3451 Changed the way we do the start merge: insert the fragment, then stich
3452 paragraphs together, in the same way that we do the end merge. This
3453 doesn't require wasBlock and fixes bugs.
3454 Replaced some uses of insertionPos with endOfInsertedContent.
3455 Fixed a bug in the expansion of the last incoming br (a "collapsed" br
3456 is one where !isStartOfParagraph([br,0])).
3457 Removed the special case code that did the end merge for the preserveNewline
3458 case, since this patch fixes the moveParagraph bug in the preserveNewline case.
3459 Removed some unused variables.
3460 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was
3461 holding a line open should always be displaced by inserted content, unless
3462 the inserted content ends with a br.
3463 (WebCore::ReplaceSelectionCommand::updateNodesInserted):
3464 * editing/ReplaceSelectionCommand.h:
3465 (WebCore::RenderingInfo::style):
3466 * editing/markup.cpp:
3467 (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
3468 annotate is true (when we're creating markup for the pasteboard).
3470 2006-08-16 John Sullivan <sullivan@apple.com>
3472 Reviewed by Brady Eidson
3474 - fixed <rdar://problem/4637156> underlines appearing in white selection text
3476 * rendering/InlineFlowBox.cpp:
3477 (WebCore::InlineFlowBox::paintDecorations):
3478 bail out if phase is PaintPhaseSelection and forceWhiteText is true
3480 2006-08-16 Brady Eidson <beidson@apple.com>
3484 Updated the DB version number and added a helpful comment explaining its meaning
3486 * loader/icon/IconDatabase.cpp:
3488 2006-08-16 Brady Eidson <beidson@apple.com>
3492 Major refactoring of new iconDB:
3493 -Instead of private browsing being handled by in-memory tables, it's now handled
3494 by a separate in-memory database with the same table names. This allows us to
3495 re-use the same SQL on either the main or private-browsing database
3496 -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
3497 "Query" that take a database as the method's argument so the same language can run on
3498 both private and main tables
3499 -Now that we have two DBs, moved the retain/release count to the m_mainDB
3500 -While I was at it, updated the schema to combine the Icon and IconResource table - cuts
3501 down on some high-usage, low value queries which were too expensive
3502 -Ditched the _url -> url convention for escaping urls for SQL. Now its url and escapedURL
3503 -Pruned tons of unused methods from previous revisions
3505 * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used
3506 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
3507 * loader/icon/IconDatabase.cpp:
3508 (WebCore::IconDatabase::IconDatabase): Updated initializer list
3509 (WebCore::IconDatabase::open): Sets up both databases
3510 (WebCore::IconDatabase::close): Closes both databases
3511 (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
3512 (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
3513 (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
3514 (WebCore::IconDatabase::createDatabaseTables): Ditto
3515 (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
3516 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
3517 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
3518 (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
3519 (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes
3520 (WebCore::IconDatabase::releaseIconForPageURL): Ditto