1 2007-10-22 Eric Seidel <eric@webkit.org>
5 Fix build by properly exposing SVG font-face dom bindings.
8 * WebCore.vcproj/WebCore.vcproj: add font-face files to build
9 * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
10 * bindings/js/JSSVGElementWrapperFactory.cpp:
11 * bindings/objc/DOM.mm:
12 (WebCore::createElementClassMap):
13 * bindings/objc/DOMSVG.h:
14 * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
16 2007-10-22 Mark Rowe <mrowe@apple.com>
22 2007-10-22 Darin Adler <darin@apple.com>
24 - a first cut at fixing the Qt and GTK builds
26 * WebCore.pro: Add new .idl and .cpp files.
27 * DerivedSources.make: Re-sorted.
29 2007-10-22 Eric Seidel <eric@webkit.org>
33 Implement <font-face> and friends for SVG.
34 http://bugs.webkit.org/show_bug.cgi?id=10652
36 * DerivedSources.make:
37 * WebCore.xcodeproj/project.pbxproj:
38 * bindings/js/JSSVGElementWrapperFactory.cpp:
40 (WebCore::Document::mappedElementSheet):
41 (WebCore::Document::recalcStyleSelector):
43 * ksvg2/scripts/make_names.pl:
44 * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
45 (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
46 (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
47 (WebCore::SVGDefinitionSrcElement::childrenChanged):
48 * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
49 * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
50 * ksvg2/svg/SVGFontFaceElement.cpp: Added.
51 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
52 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
53 (WebCore::cssPropertyIdForName):
54 (WebCore::mapAttributeToCSSProperty):
55 (WebCore::cssPropertyIdForSVGAttributeName):
56 (WebCore::SVGFontFaceElement::parseMappedAttribute):
57 (WebCore::SVGFontFaceElement::rebuildFontFace):
58 (WebCore::SVGFontFaceElement::childrenChanged):
59 * ksvg2/svg/SVGFontFaceElement.h: Added.
60 * ksvg2/svg/SVGFontFaceElement.idl: Added.
61 * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
62 (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
63 (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
64 (WebCore::SVGFontFaceFormatElement::childrenChanged):
65 * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
66 * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
67 * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
68 (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
69 (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
70 (WebCore::SVGFontFaceNameElement::srcValue):
71 * ksvg2/svg/SVGFontFaceNameElement.h: Added.
72 * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
73 * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
74 (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
75 (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
76 (WebCore::SVGFontFaceSrcElement::srcValue):
77 (WebCore::SVGFontFaceSrcElement::childrenChanged):
78 * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
79 * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
80 * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
81 (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
82 (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
83 (WebCore::SVGFontFaceUriElement::srcValue):
84 (WebCore::SVGFontFaceUriElement::childrenChanged):
85 * ksvg2/svg/SVGFontFaceUriElement.h: Added.
86 * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
87 * ksvg2/svg/svgtags.in:
89 2007-10-22 Jon Honeycutt <jhoneycutt@apple.com>
93 <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
96 We purposefully do not destroy our Java VM when its reference count
97 reaches 0, but we were unloading our JavaPlugin.dll when its reference
98 count reached 0, which lost the reference to the VM. This led to our
99 process trying to create a new VM the next time a page using Java was
100 loaded, and the JNI spec states that a single process is not allowed to
101 create more than one VM. The fix is to avoid unloading the Java plugin
102 via our PluginQuirkDontUnloadPlugin.
104 * plugins/win/PluginViewWin.cpp:
105 (WebCore::PluginViewWin::determineQuirks):
107 2007-10-22 David Hyatt <hyatt@apple.com>
109 Fix for bug 15624, make transforms work properly with opacity.
111 Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
113 Reviewed by Mitz Pettel
115 fast/transforms/transforms-with-opacity.html
116 fast/transforms/skew-with-unitless-zero.html
119 (WebCore::CSSParser::validUnit):
120 * rendering/RenderLayer.cpp:
121 (WebCore::transparencyClipBox):
122 (WebCore::RenderLayer::beginTransparencyLayers):
123 (WebCore::RenderLayer::paintLayer):
124 (WebCore::RenderLayer::calculateClipRects):
125 * rendering/RenderLayer.h:
126 (WebCore::RenderLayer::transform):
128 2007-10-22 Adam Roben <aroben@apple.com>
134 * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
135 * page/Page.cpp: Touched to force the header files to be copied.
137 2007-10-22 Nikolas Zimmermann <zimmermann@kde.org>
141 Move textPath related SVGChar data in it's own structure SVGCharOnPath.
142 Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
144 Saves space for the common case. And allows me to add more data (another float) to support
145 glyph-orientation-* on textPath later on...
147 * rendering/SVGCharacterLayoutInfo.cpp:
148 (WebCore::SVGChar::characterTransform):
149 * rendering/SVGCharacterLayoutInfo.h:
150 * rendering/SVGRootInlineBox.cpp:
151 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
152 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
154 2007-10-22 Alp Toker <alp@atoker.com>
156 Reviewed by Nikolas Zimmermann.
158 Implement more GraphicsContextCairo stubs.
160 Remove a hack "to work around no current point bug" that was breaking
165 * platform/graphics/cairo/CairoPath.h:
166 (WebCore::CairoPath::CairoPath):
167 * platform/graphics/cairo/GraphicsContextCairo.cpp:
168 (WebCore::GraphicsContext::addInnerRoundedRectClip):
169 (WebCore::GraphicsContext::strokeRect):
170 * platform/graphics/cairo/PathCairo.cpp:
171 (WebCore::Path::isEmpty):
172 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
173 (WebCore::SVGPaintServerGradient::setup):
174 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
175 (WebCore::SVGPaintServerSolid::setup):
177 2007-10-22 Simon Hausmann <hausmann@kde.org>
181 Fix compilation from a clean build with the database feature disabled.
182 JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
184 * bindings/js/JSCustomVersionChangeCallback.cpp:
185 * page/InspectorController.cpp:
187 2007-10-22 Andrew Wellington <proton@wiretapped.net>
189 Reviewed by Mark Rowe.
191 Fix for local database support after r26879
192 Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
194 * Configurations/WebCore.xcconfig:
196 * WebCore.vcproj/build-generated-files.sh:
198 2007-10-22 Simon Hausmann <hausmann@kde.org>
202 Disable the Database feature for the qmake build for now.
206 2007-10-22 Simon Hausmann <hausmann@kde.org>
210 Make disabling the database feature (ENABLE_DATABASE=0) work by
211 placing various #ifdefs into the code and making the compilation of
216 (WebCore::Document::~Document):
217 (WebCore::Document::defaultEventHandler):
219 * page/DOMWindow.cpp:
221 * page/DOMWindow.idl:
222 * page/InspectorController.cpp:
223 (WebCore::InspectorController::windowScriptObjectAvailable):
224 (WebCore::InspectorController::populateScriptResources):
225 (WebCore::InspectorController::clearDatabaseScriptResources):
226 (WebCore::InspectorController::didCommitLoad):
227 * page/InspectorController.h:
229 2007-10-22 Alp Toker <alp@atoker.com>
231 Reviewed by Mark Rowe.
233 http://bugs.webkit.org/show_bug.cgi?id=15611
234 [GTK] Text selection behaviour different in Debug and Release builds
236 http://bugs.webkit.org/show_bug.cgi?id=15578
237 [GTK] Text editor caret does not blink
239 Never allow control to reach the end of non-void functions.
241 Return more sensible values, or in some cases, nulls.
243 * page/gtk/EventHandlerGtk.cpp:
244 (WebCore::isKeyboardOptionTab):
245 (WebCore::EventHandler::tabsToAllControls):
246 (WebCore::EventHandler::eventActivatedView):
248 2007-10-22 Holger Freyther <zecke@selfish.org>
250 Reviewed by Simon Hausmann <hausmann@kde.org>.
252 Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
254 * platform/network/qt/ResourceHandleQt.cpp:
255 (WebCore::WebCoreSynchronousLoader::resourceResponse):
256 (WebCore::WebCoreSynchronousLoader::resourceError):
257 (WebCore::WebCoreSynchronousLoader::data):
258 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
259 (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
260 (WebCore::WebCoreSynchronousLoader::didReceiveData):
261 (WebCore::WebCoreSynchronousLoader::didFinishLoading):
262 (WebCore::WebCoreSynchronousLoader::didFail):
263 (WebCore::WebCoreSynchronousLoader::waitForCompletion):
264 (WebCore::ResourceHandle::loadResourceSynchronously):
266 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
268 Reviewed by Lars Knoll <lars@trolltech.com>.
270 Style fix. It is allowed to attempt to delete 0.
272 * platform/qt/ClipboardQt.cpp:
274 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
276 Reviewed by Lars Knoll <lars@trolltech.com>.
278 Make it actually localizable....
280 * platform/qt/Localizations.cpp:
281 (WebCore::submitButtonDefaultLabel):
282 (WebCore::inputElementAltText):
283 (WebCore::searchableIndexIntroduction):
284 (WebCore::fileButtonChooseFileLabel):
285 (WebCore::fileButtonNoFileSelectedLabel):
286 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
287 (WebCore::contextMenuItemTagDownloadLinkToDisk):
288 (WebCore::contextMenuItemTagCopyLinkToClipboard):
289 (WebCore::contextMenuItemTagOpenImageInNewWindow):
290 (WebCore::contextMenuItemTagDownloadImageToDisk):
291 (WebCore::contextMenuItemTagCopyImageToClipboard):
292 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
293 (WebCore::contextMenuItemTagCopy):
294 (WebCore::contextMenuItemTagGoBack):
295 (WebCore::contextMenuItemTagGoForward):
296 (WebCore::contextMenuItemTagStop):
297 (WebCore::contextMenuItemTagReload):
298 (WebCore::contextMenuItemTagCut):
299 (WebCore::contextMenuItemTagPaste):
300 (WebCore::contextMenuItemTagNoGuessesFound):
301 (WebCore::contextMenuItemTagIgnoreSpelling):
302 (WebCore::contextMenuItemTagLearnSpelling):
303 (WebCore::contextMenuItemTagSearchWeb):
304 (WebCore::contextMenuItemTagLookUpInDictionary):
305 (WebCore::contextMenuItemTagOpenLink):
306 (WebCore::contextMenuItemTagIgnoreGrammar):
307 (WebCore::contextMenuItemTagSpellingMenu):
308 (WebCore::contextMenuItemTagShowSpellingPanel):
309 (WebCore::contextMenuItemTagCheckSpelling):
310 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
311 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
312 (WebCore::contextMenuItemTagFontMenu):
313 (WebCore::contextMenuItemTagBold):
314 (WebCore::contextMenuItemTagItalic):
315 (WebCore::contextMenuItemTagUnderline):
316 (WebCore::contextMenuItemTagOutline):
317 (WebCore::contextMenuItemTagWritingDirectionMenu):
318 (WebCore::contextMenuItemTagDefaultDirection):
319 (WebCore::contextMenuItemTagLeftToRight):
320 (WebCore::contextMenuItemTagRightToLeft):
321 (WebCore::contextMenuItemTagInspectElement):
322 (WebCore::searchMenuNoRecentSearchesText):
323 (WebCore::searchMenuRecentSearchesText):
325 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
327 Reviewed by Lars Knoll <lars@trolltech.com>.
329 Adjust the code to obey the Coding Style.
331 * platform/qt/Localizations.cpp:
332 (WebCore::submitButtonDefaultLabel):
333 (WebCore::inputElementAltText):
334 (WebCore::resetButtonDefaultLabel):
335 (WebCore::defaultLanguage):
336 (WebCore::searchableIndexIntroduction):
337 (WebCore::fileButtonChooseFileLabel):
338 (WebCore::fileButtonNoFileSelectedLabel):
339 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
340 (WebCore::contextMenuItemTagDownloadLinkToDisk):
341 (WebCore::contextMenuItemTagCopyLinkToClipboard):
342 (WebCore::contextMenuItemTagOpenImageInNewWindow):
343 (WebCore::contextMenuItemTagDownloadImageToDisk):
344 (WebCore::contextMenuItemTagCopyImageToClipboard):
345 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
346 (WebCore::contextMenuItemTagCopy):
347 (WebCore::contextMenuItemTagGoBack):
348 (WebCore::contextMenuItemTagGoForward):
349 (WebCore::contextMenuItemTagStop):
350 (WebCore::contextMenuItemTagReload):
351 (WebCore::contextMenuItemTagCut):
352 (WebCore::contextMenuItemTagPaste):
353 (WebCore::contextMenuItemTagNoGuessesFound):
354 (WebCore::contextMenuItemTagIgnoreSpelling):
355 (WebCore::contextMenuItemTagLearnSpelling):
356 (WebCore::contextMenuItemTagSearchWeb):
357 (WebCore::contextMenuItemTagLookUpInDictionary):
358 (WebCore::contextMenuItemTagOpenLink):
359 (WebCore::contextMenuItemTagIgnoreGrammar):
360 (WebCore::contextMenuItemTagSpellingMenu):
361 (WebCore::contextMenuItemTagShowSpellingPanel):
362 (WebCore::contextMenuItemTagCheckSpelling):
363 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
364 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
365 (WebCore::contextMenuItemTagFontMenu):
366 (WebCore::contextMenuItemTagBold):
367 (WebCore::contextMenuItemTagItalic):
368 (WebCore::contextMenuItemTagUnderline):
369 (WebCore::contextMenuItemTagOutline):
370 (WebCore::contextMenuItemTagWritingDirectionMenu):
371 (WebCore::contextMenuItemTagDefaultDirection):
372 (WebCore::contextMenuItemTagLeftToRight):
373 (WebCore::contextMenuItemTagRightToLeft):
374 (WebCore::contextMenuItemTagInspectElement):
375 (WebCore::searchMenuNoRecentSearchesText):
376 (WebCore::searchMenuRecentSearchesText):
377 (WebCore::searchMenuClearRecentSearchesText):
378 (WebCore::AXWebAreaText):
379 (WebCore::AXLinkText):
380 (WebCore::AXListMarkerText):
381 (WebCore::AXImageMapText):
382 (WebCore::AXHeadingText):
383 (WebCore::unknownFileSizeText):
385 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
387 Reviewed by Lars Knoll <lars@trolltech.com>.
389 Return a non empty string in more functions.
391 * platform/qt/Localizations.cpp:
392 (WebCore::contextMenuItemTagShowSpellingPanel):
394 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
396 Reviewed by Lars Knoll <lars@trolltech.com>.
398 Shrink the TemporaryLinkStubs and move the
399 Frame::setNeedsReapplyStyles stub to FrameQt.cpp
401 * page/qt/FrameQt.cpp:
402 (WebCore::Frame::setNeedsReapplyStyles):
403 * platform/qt/TemporaryLinkStubs.cpp:
405 2007-10-22 Holger Freyther <zecke@selfish.org>
407 Reviewed by Lars Knoll <lars@trolltech.com>.
409 Implement the WebCore::fileSize function. The
410 implementation assumes that QFileInfo will cache
411 the result of the stat so that info.size() and
412 info.exists() use the same stat result.
414 * platform/qt/FileSystemQt.cpp:
415 (WebCore::deleteFile):
416 * platform/qt/TemporaryLinkStubs.cpp:
418 2007-10-21 Alp Toker <alp@atoker.com>
420 Reviewed by Mark Rowe.
422 Use the portable GLib time function.
424 Use event timestamps rather than the current time where available.
426 Rename SharedTimerLinux.cpp since it isn't Linux-specific.
429 * platform/gtk/MouseEventGtk.cpp:
430 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
431 * platform/gtk/SystemTimeGtk.cpp: Added.
432 (WebCore::currentTime):
433 * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
434 * platform/gtk/SharedTimerLinux.cpp: Removed.
436 2007-10-22 David Hyatt <hyatt@apple.com>
438 Fix for 15596, regression from my transform changes. Preserve null checks on the clip rects calls for parent(),
439 since the method is called on orphaned layers. This is not very well understood.
443 * rendering/RenderLayer.cpp:
444 (WebCore::RenderLayer::calculateClipRects):
445 (WebCore::RenderLayer::calculateRects):
447 2007-10-21 Mark Rowe <mrowe@apple.com>
451 http://bugs.webkit.org/show_bug.cgi?id=15575
452 Bug 15575: [GTK] Implement threading using GThread
454 * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
455 * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
456 (WebCore::iconDatabase):
457 (WebCore::IconDatabase::open):
458 * platform/Threading.h:
459 * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
460 (WebCore::initializeThreading):
461 (WebCore::threadMapMutex):
462 (WebCore::threadMap):
463 (WebCore::establishIdentifierForThread):
464 (WebCore::threadForIdentifier):
465 (WebCore::clearThreadForIdentifier):
466 (WebCore::createThread):
467 (WebCore::waitForThreadCompletion):
468 (WebCore::detachThread):
469 (WebCore::Mutex::Mutex):
470 (WebCore::Mutex::~Mutex):
471 (WebCore::Mutex::lock):
472 (WebCore::Mutex::tryLock):
473 (WebCore::Mutex::unlock):
474 (WebCore::ThreadCondition::ThreadCondition):
475 (WebCore::ThreadCondition::~ThreadCondition):
476 (WebCore::ThreadCondition::wait):
477 (WebCore::ThreadCondition::signal):
478 (WebCore::ThreadCondition::broadcast):
479 * storage/Database.cpp:
480 (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
481 if the icon database is compiled out
483 2007-10-21 Mark Rowe <mrowe@apple.com>
487 * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
488 implicit conversion warning.
490 2007-10-21 Alp Toker <alp@atoker.com>
492 Reviewed by Mark Rowe.
494 Implement spelling and grammar mistake underlining with Pango/Cairo.
496 This change does not add any actual support for spelling or grammar
497 checking to any port.
499 * platform/graphics/cairo/GraphicsContextCairo.cpp:
500 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
502 2007-10-21 Alp Toker <alp@atoker.com>
504 Reviewed by Mark Rowe.
508 Fix a refcounting issue leading to leaks and crashes on canvas
511 Delegate memory management of canvas images to Cairo.
513 Mark unhandled conditions with notImplemented() instead of silently
516 * html/CanvasRenderingContext2D.cpp:
517 (WebCore::CanvasRenderingContext2D::drawImage):
518 * html/CanvasStyle.cpp:
519 (WebCore::CanvasStyle::applyStrokeColor):
520 * html/CanvasStyle.h:
521 * html/HTMLCanvasElement.cpp:
522 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
523 (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
524 (WebCore::HTMLCanvasElement::reset):
525 (WebCore::HTMLCanvasElement::paint):
526 (WebCore::HTMLCanvasElement::createDrawingContext):
527 (WebCore::HTMLCanvasElement::createPlatformImage):
529 2007-10-21 Nikolas Zimmermann <zimmermann@kde.org>
533 Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
535 The SVG layouting code itself doesn't handle these properties yet,
536 it's just about recognizing them in the SVG CSS engine.
538 * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
539 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
540 * ksvg2/css/SVGCSSParser.cpp:
541 (WebCore::CSSParser::parseSVGValue):
542 * ksvg2/css/SVGCSSStyleSelector.cpp:
543 (WebCore::CSSStyleSelector::applySVGProperty):
544 * ksvg2/css/SVGRenderStyle.h:
545 (WebCore::SVGRenderStyle::InheritedFlags::operator==):
546 (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
547 (WebCore::SVGRenderStyle::setBitDefaults):
548 * ksvg2/css/SVGRenderStyleDefs.h:
550 2007-10-21 Christian Dywan <christian@twotoasts.de>
554 http://bugs.webkit.org/show_bug.cgi?id=15589
555 Use glib's path separator on gtk
557 * platform/gtk/FileSystemGtk.cpp:
558 (WebCore::pathByAppendingComponent):
560 2007-10-21 Dan Bernstein <mitz@apple.com>
562 Reviewed by Dave Hyatt.
564 - fix http://bugs.webkit.org/show_bug.cgi?id=15259
565 <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
567 Test: fast/text/word-space.html
569 * rendering/RenderBlock.cpp:
570 (WebCore::stripTrailingSpace): Added word-spacing to the width of the
571 space being stripped out.
572 * rendering/RenderText.cpp:
573 (WebCore::RenderText::trimmedPrefWidths): Changed handling of
574 leading space. Since Font::width includes leading space width but not
575 leading word spacing, this method needs to either remove the width of a
576 space character or add word spacing,
577 depending on stripFrontSpaces.
578 (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
579 trailing word spacing so that it would work in the case where the last
581 * rendering/bidi.cpp:
582 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
583 actually add word spacing to the total width.
585 2007-10-20 David Hyatt <hyatt@apple.com>
587 Land support for the transform CSS property. Basic painting now works properly. There are many open issues
588 that will have to be covered by individual bugs.
593 (WebCore::CSSParser::validUnit):
594 (WebCore::CSSParser::parseTransform):
595 * rendering/RenderLayer.cpp:
596 (WebCore::RenderLayer::RenderLayer):
597 (WebCore::RenderLayer::~RenderLayer):
598 (WebCore::RenderLayer::updateLayerPositions):
599 (WebCore::RenderLayer::updateTransform):
600 (WebCore::transparencyClipBox):
601 (WebCore::RenderLayer::beginTransparencyLayers):
602 (WebCore::RenderLayer::paintLayer):
603 (WebCore::RenderLayer::calculateClipRects):
604 (WebCore::RenderLayer::calculateRects):
605 (WebCore::RenderLayer::childrenClipRect):
606 (WebCore::RenderLayer::selfClipRect):
607 (WebCore::RenderLayer::intersectsDamageRect):
608 (WebCore::RenderLayer::boundingBox):
609 * rendering/RenderLayer.h:
610 * rendering/RenderObject.cpp:
611 (WebCore::RenderObject::containingBlock):
612 (WebCore::RenderObject::container):
613 * rendering/RenderStyle.cpp:
614 (WebCore::RenderStyle::applyTransform):
615 * rendering/RenderStyle.h:
616 (WebCore::TransformOperation::isScaleOperation):
617 (WebCore::TransformOperation::isRotateOperation):
618 (WebCore::TransformOperation::isSkewOperation):
619 (WebCore::TransformOperation::isTranslateOperation):
620 (WebCore::TransformOperation::isMatrixOperation):
621 (WebCore::ScaleTransformOperation::isScaleOperation):
622 (WebCore::RotateTransformOperation::isRotateOperation):
623 (WebCore::SkewTransformOperation::isSkewOperation):
624 (WebCore::TranslateTransformOperation::isTranslateOperation):
625 (WebCore::MatrixTransformOperation::isMatrixOperation):
626 * rendering/RenderTableRow.h:
627 (WebCore::RenderTableRow::requiresLayer):
628 * rendering/RenderTreeAsText.cpp:
629 (WebCore::writeLayers):
631 2007-10-20 Timothy Hatcher <timothy@apple.com>
635 Add basic @font-face to the Web Inspector.
637 * page/InspectorController.cpp:
638 (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
639 * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
640 * page/inspector/ResourcePanel.js: Show a font preview for font resources.
641 * page/inspector/inspector.css: Style for the font preview and font icon.
642 * page/inspector/inspector.js: Add font mime types.
644 2007-10-20 Sam Weinig <sam@webkit.org>
646 Reviewed by Mark Rowe.
649 - http://bugs.webkit.org/show_bug.cgi?id=14393
650 Column on the left side of the Web Inspector should have a smaller minimum width for resizing
651 - http://bugs.webkit.org/show_bug.cgi?id=14394
652 Left pane of the Web Inspector "shakes" when resizing it to maximum width
654 * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
655 and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons
656 move with the sidebar.
658 2007-10-20 Dan Bernstein <mitz@apple.com>
660 Reviewed by Dave Hyatt.
662 - fix http://bugs.webkit.org/show_bug.cgi?id=15208
663 display:table causes the collapsed text to show at a different position when expanded
665 Test: fast/table/insert-before-anonymous-ancestors.html
667 * rendering/RenderTable.cpp:
668 (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
669 that change was supposed to accomplish has since been done in other
672 2007-10-20 Mark Rowe <mrowe@apple.com>
674 Reviewed by Dave Hyatt.
676 Fix http://bugs.webkit.org/show_bug.cgi?id=15584
677 Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
680 (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
681 glyph for the character, fall back to the missing glyph data rather than returning an
684 2007-10-20 Jasper Bryant-Greene <m@ni.ac.nz>
688 Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
689 as suggested by George Wright in #15108 (which this patch will
692 This gives a more sane scrolling behaviour, rather than the
693 jumping to the end or start of the document as occurred previously.
695 * platform/gtk/WheelEventGtk.cpp:
696 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
698 2007-10-20 Alp Toker <alp@atoker.com>
702 Support text boundary detection.
703 Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
704 Split out and implement some TemporaryLinkStubs.
707 * WebCore.vcproj/WebCore.vcproj:
708 * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
709 * platform/gtk/Language.cpp: Added.
710 (WebCore::defaultLanguage):
711 * platform/gtk/TemporaryLinkStubs.cpp:
712 * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
713 (WebCore::currentTextBreakLocaleID):
714 * platform/win/TextBoundariesWin.cpp: Removed.
716 2007-10-20 Mark Rowe <mrowe@apple.com>
718 Reviewed by Tim Hatcher.
720 Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
721 Bug 15574: Web Inspector doesn't work with the new Database feature
723 The executeSql callback is executed in the security domain of the web page that owns the database,
724 while the inspector's window object is in the callback functions scope chain. This is leading to a
725 security violation when the callback attempts to access "document". We can work around this by
726 ensuring that "document" can be found in the scope chain before the window object.
728 * page/inspector/DatabasePanel.js:
730 2007-10-20 Darin Adler <darin@apple.com>
734 - http://bugs.webkit.org/show_bug.cgi?id=15567
735 speed up hashing const char* by removing call to strlen
737 This includes one other fix as well. Both were from a day where I did some
738 profiling to find hot spots when running the page load test.
740 * platform/StringImpl.cpp:
741 (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
742 Also change the argument names to not confusingly use m_ prefixes.
743 (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
746 2007-10-20 Mark Rowe <mrowe@apple.com>
750 Gtk changes needed to enable HTML 5 client-side database storage.
752 * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
753 * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
755 2007-10-20 Mark Rowe <mrowe@apple.com>
759 Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
760 from the main event loop.
763 * platform/gtk/TemporaryLinkStubs.cpp:
764 * platform/gtk/ThreadingGtk.cpp: Added.
765 (WebCore::callFunctionOnMainThread):
766 (WebCore::callOnMainThread):
768 2007-10-20 Nikolas Zimmermann <zimmermann@kde.org>
772 Fix non-functional display="inline" / display="none" for SVG text.
774 Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
775 Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
776 Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
778 * css/svg.css: Remove "important" flag on text/foreignObject display: block property
779 * rendering/RenderSVGBlock.cpp:
780 (WebCore::RenderSVGBlock::setStyle):
782 2007-10-20 Mark Rowe <mrowe@apple.com>
786 Replace #ifdef'd code with the appropriate use of a forwarding header.
788 * ForwardingHeaders/kjs/array_instance.h: Added.
789 * bindings/js/JSDatabaseCustom.cpp:
791 2007-10-20 Nikolas Zimmermann <zimmermann@kde.org>
795 Add support for 'kerning' property in SVG text layout code.
796 Support all textLength/lengthAdjust modes on normal text & textPaths.
798 Support letter & word spacing on textPath.
799 Fix text selection when any spacing (letter/word/kerning) is involved.
801 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
802 Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
803 svg/batik/text/textLayout.svg (kerning support)
804 svg/text/text-spacing-01-b.svg (text selection)
807 (WebCore::WidthIterator::advance):
808 * platform/TextStyle.h:
809 (WebCore::TextStyle::TextStyle):
810 (WebCore::TextStyle::spacingDisabled):
811 (WebCore::TextStyle::disableSpacing):
812 * rendering/SVGCharacterLayoutInfo.cpp:
813 (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
814 (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
815 (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
816 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
817 (WebCore::SVGChar::characterTransform):
818 * rendering/SVGCharacterLayoutInfo.h:
819 (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
820 * rendering/SVGRootInlineBox.cpp:
821 (WebCore::closeTextChunk):
822 (WebCore::calculateKerning):
823 (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
824 (WebCore::svgTextStyleForInlineTextBox):
825 (WebCore::calculateTextAnchorShiftForTextChunk):
826 (WebCore::applyTextAnchorToTextChunk):
827 (WebCore::calculateTextLengthCorrectionForTextChunk):
828 (WebCore::applyTextLengthCorrectionToTextChunk):
829 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
830 (WebCore::SVGRootInlineBox::buildLayoutInformation):
831 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
832 (WebCore::SVGRootInlineBox::buildTextChunks):
833 (WebCore::SVGRootInlineBox::layoutTextChunks):
834 * rendering/SVGRootInlineBox.h:
836 2007-10-20 Rodney Dawes <dobey@wayofthemonkey.com>
840 http://bugs.webkit.org/show_bug.cgi?id=15563
841 Fix conflict with X11 Window type in WebCore
843 * WebCore/bindings/js/JSDocumentCustom.cpp:
844 * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
845 * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
846 * WebCore/bindings/js/kjs_dom.cpp:
847 * WebCore/bindings/js/kjs_events.cpp:
848 * WebCore/bindings/js/kjs_proxy.cpp:
849 * WebCore/history/CachedPage.cpp:
850 * WebCore/page/Chrome.cpp:
851 * WebCore/page/Frame.cpp:
853 2007-10-20 Simon Hausmann <hausmann@kde.org>
855 Build fix, not reviewed.
857 Fix the Qt build by adding the two missing FileSystem functions.
859 * platform/qt/FileSystemQt.cpp:
860 (WebCore::makeAllDirectories):
861 (WebCore::pathByAppendingComponent):
863 2007-10-19 Alp Toker <alp@atoker.com>
867 GTK+ build fix enabling the new local database storage feature.
868 There is also a prospective Qt build fix.
871 * bindings/js/JSDatabaseCustom.cpp:
872 * platform/gtk/FileSystemGtk.cpp:
873 (WebCore::pathByAppendingComponent):
874 (WebCore::makeAllDirectories):
876 2007-10-19 Andrew Wellington <proton@wiretapped.net>
878 Reviewed by Brady Eidson.
882 * WebCore.xcodeproj/project.pbxproj:
884 2007-10-19 Alp Toker <alp@atoker.com>
888 Use platform colors for text selection.
889 Update the cache when the GTK style is changed.
891 * platform/gtk/RenderThemeGtk.cpp:
892 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
893 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
894 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
895 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
896 (WebCore::RenderThemeGtk::gtkStyleSet):
897 (WebCore::RenderThemeGtk::gtkEntry):
898 * platform/gtk/RenderThemeGtk.h:
900 2007-10-19 Adele Peterson <adele@apple.com>
904 Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
906 Test: fast/forms/menulist-no-overflow.html
908 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
910 2007-10-19 Anders Carlsson <andersca@apple.com>
914 Move some SQL-related classes to platform/sql.
916 * WebCore.vcproj/WebCore.vcproj:
917 * WebCore.xcodeproj/project.pbxproj:
918 * loader/icon/SQLDatabase.cpp: Removed.
919 * loader/icon/SQLDatabase.h: Removed.
920 * loader/icon/SQLStatement.cpp: Removed.
921 * loader/icon/SQLStatement.h: Removed.
922 * loader/icon/SQLTransaction.cpp: Removed.
923 * loader/icon/SQLTransaction.h: Removed.
924 * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
925 * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
926 * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
927 * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
928 * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
929 * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
931 2007-10-19 Anders Carlsson <andersca@apple.com>
935 Update to match the latest version of the spec. Now, executeSQL takes an array
936 of SQL parameters instead of them being passed as arguments.
938 * bindings/js/JSDatabaseCustom.cpp:
939 (WebCore::JSDatabase::executeSql):
940 * page/inspector/DatabasePanel.js:
941 * storage/Database.idl:
943 2007-10-19 Brady Eidson <beidson@apple.com>
947 Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
949 * storage/Database.cpp:
950 (WebCore::Database::performOpenAndVerify):
951 * storage/DatabaseTracker.cpp:
952 (WebCore::DatabaseTracker::DatabaseTracker):
954 2007-10-19 Anders Carlsson <andersca@apple.com>
958 * WebCore.vcproj/WebCore.vcproj:
960 2007-10-19 Brady Eidson <beidson@apple.com>
965 (WebCore::Document::Document):
966 (WebCore::Document::~Document):
968 2007-10-19 Anders Carlsson <andersca@apple.com>
972 Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
973 already been locked, so lock the mutex first.
975 * storage/DatabaseThread.cpp:
976 (WebCore::DatabaseThread::databaseThread):
978 2007-10-19 Brady Eidson <beidson@apple.com>
982 * loader/icon/SQLDatabase.cpp:
983 (WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13
985 2007-10-19 Brady Eidson <beidson@apple.com>
989 * loader/icon/SQLDatabase.cpp:
990 (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
991 added to SQLite, but I know they were by 3.4.0
993 2007-10-19 Brady Eidson <beidson@apple.com>
996 Windows specific changes, as well as renaming Queue -> Deque
998 * ForwardingHeaders/wtf/Deque.h: Added.
999 * ForwardingHeaders/wtf/Queue.h: Removed.
1000 * platform/win/FileSystemWin.cpp:
1001 (WebCore::fileSize):
1002 (WebCore::fileExists):
1003 (WebCore::deleteFile):
1004 (WebCore::pathByAppendingComponent):
1005 (WebCore::fileSystemRepresentation):
1006 (WebCore::makeAllDirectories):
1007 (WebCore::homeDirectoryPath):
1008 * storage/Database.h:
1009 * storage/DatabaseThread.cpp:
1010 (WebCore::DatabaseThread::documentGoingAway):
1011 (WebCore::DatabaseThread::databaseGoingAway):
1012 (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
1013 (WebCore::DatabaseThread::scheduleTask):
1014 (WebCore::DatabaseThread::scheduleImmediateTask):
1015 * storage/DatabaseThread.h:
1017 2007-10-19 Brady Eidson <beidson@apple.com>
1019 Reviewed by Tim and Anders
1021 Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
1023 The specification is still in flux but the fundamentals are pretty solid and we can start using and testing
1024 this implementation even while filing bugs to track changes in the spec as it becomes more final
1026 There are some implementation details in this patch that seem unused or useless, but they remain in place
1027 while the spec is in flux and might go one way or another.
1029 * platform/Logging.cpp: Add StorageAPI logging channel
1030 * platform/Logging.h:
1032 * storage/Database.cpp: Added.
1033 (WebCore::Database::databaseInfoTableName):
1034 (WebCore::databaseVersionKey):
1035 (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
1036 (WebCore::Database::Database):
1037 (WebCore::Database::~Database):
1038 (WebCore::Database::openAndVerifyVersion):
1039 (WebCore::retrieveTextResultFromDatabase):
1040 (WebCore::Database::getVersionFromDatabase):
1041 (WebCore::setTextValueInDatabase):
1042 (WebCore::Database::setVersionInDatabase):
1043 (WebCore::Database::databaseThreadGoingAway): May be removed in the future
1044 (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
1045 (WebCore::Database::enableAuthorizer):
1046 (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.
1047 The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
1048 (WebCore::Database::resetAuthorizer):
1049 (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage
1050 (WebCore::Database::scheduleDatabaseCallback):
1051 (WebCore::Database::performOpenAndVerify):
1052 (WebCore::Database::performChangeVersion):
1053 (WebCore::Database::performExecuteSql):
1054 (WebCore::Database::performCloseTransaction):
1055 (WebCore::Database::performGetTableNames):
1056 (WebCore::Database::version): C++ version of the javascript API
1057 (WebCore::Database::changeVersion): Ditto
1058 (WebCore::Database::executeSql): Ditto
1059 (WebCore::Database::closeTransaction): Ditto
1060 (WebCore::Database::tableNames): For internal (WebInspector) use
1061 (WebCore::Database::deliverAllPendingCallbacks):
1062 (WebCore::Database::deliverPendingCallbacks):
1063 * storage/Database.h: Added.
1064 (WebCore::Database::databaseDebugName): For debug logging purposes
1065 * storage/Database.idl: Added.
1067 * storage/DatabaseAuthorizer.cpp: Added.
1068 The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
1069 tracking when effects certain sql statements might have (such as increasing the size of the database)
1070 (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
1071 (WebCore::DatabaseAuthorizer::reset):
1072 (WebCore::DatabaseAuthorizer::createTable):
1073 (WebCore::DatabaseAuthorizer::createTempTable):
1074 (WebCore::DatabaseAuthorizer::dropTable):
1075 (WebCore::DatabaseAuthorizer::dropTempTable):
1076 (WebCore::DatabaseAuthorizer::allowAlterTable):
1077 (WebCore::DatabaseAuthorizer::createIndex):
1078 (WebCore::DatabaseAuthorizer::createTempIndex):
1079 (WebCore::DatabaseAuthorizer::dropIndex):
1080 (WebCore::DatabaseAuthorizer::dropTempIndex):
1081 (WebCore::DatabaseAuthorizer::createTrigger):
1082 (WebCore::DatabaseAuthorizer::createTempTrigger):
1083 (WebCore::DatabaseAuthorizer::dropTrigger):
1084 (WebCore::DatabaseAuthorizer::dropTempTrigger):
1085 (WebCore::DatabaseAuthorizer::createVTable):
1086 (WebCore::DatabaseAuthorizer::dropVTable):
1087 (WebCore::DatabaseAuthorizer::allowDelete):
1088 (WebCore::DatabaseAuthorizer::allowInsert):
1089 (WebCore::DatabaseAuthorizer::allowUpdate):
1090 (WebCore::DatabaseAuthorizer::allowRead):
1091 (WebCore::DatabaseAuthorizer::allowAnalyze):
1092 (WebCore::DatabaseAuthorizer::allowPragma):
1093 (WebCore::DatabaseAuthorizer::allowAttach):
1094 (WebCore::DatabaseAuthorizer::allowDetach):
1095 (WebCore::DatabaseAuthorizer::allowFunction):
1096 (WebCore::DatabaseAuthorizer::disable):
1097 (WebCore::DatabaseAuthorizer::enable):
1098 (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
1099 it should be invisible to scripts
1100 * storage/DatabaseAuthorizer.h: Added.
1101 (WebCore::DatabaseAuthorizer::lastActionWasInsert):
1102 (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
1104 * storage/DatabaseCallback.cpp: Added.
1105 Generic item to queue up for callbacks on the main thread for database activities that take place on
1107 (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
1108 (WebCore::DatabaseChangeVersionCallback::performCallback):
1109 (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
1110 (WebCore::DatabaseExecuteSqlCallback::performCallback):
1111 * storage/DatabaseCallback.h: Added.
1112 (WebCore::DatabaseCallback::~DatabaseCallback):
1113 (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
1114 (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
1116 * storage/DatabaseTask.h: Added.
1117 Generic work-item to be queued up on the background database thread
1118 (WebCore::DatabaseTask::isComplete):
1119 (WebCore::DatabaseOpenTask::exceptionCode):
1120 (WebCore::DatabaseOpenTask::openSuccessful):
1121 (WebCore::DatabaseTableNamesTask::tableNames):
1122 * storage/DatabaseTask.cpp: Added.
1123 (WebCore::DatabaseTask::DatabaseTask):
1124 (WebCore::DatabaseTask::~DatabaseTask):
1125 (WebCore::DatabaseTask::performTask):
1126 (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished
1128 (WebCore::DatabaseTask::waitForSynchronousCompletion):
1130 (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1131 (WebCore::DatabaseOpenTask::doPerformTask):
1133 (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
1134 (WebCore::DatabaseExecuteSqlTask::doPerformTask):
1136 (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
1137 (WebCore::DatabaseChangeVersionTask::doPerformTask):
1139 (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
1140 (WebCore::DatabaseTableNamesTask::doPerformTask):
1142 * storage/DatabaseThread.cpp: Added.
1143 The current design is that each Document will have its own DatabaseThread. This makes scripts on each
1144 individual document more response at the cost of adding more threads and potentially creating concurrency
1145 issues when the same database is open twice from two different documents
1146 (WebCore::DatabaseThread::DatabaseThread):
1147 (WebCore::DatabaseThread::~DatabaseThread):
1148 (WebCore::DatabaseThread::start):
1149 (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
1150 (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
1151 (WebCore::DatabaseThread::databaseThreadStart):
1152 (WebCore::DatabaseThread::databaseThread):
1153 (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
1154 (WebCore::DatabaseThread::scheduleTask):
1155 (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
1156 the main thread requires a task be performed synchronously
1157 (WebCore::DatabaseThread::wakeWorkThread):
1158 * storage/DatabaseThread.h: Added.
1160 * storage/DatabaseTracker.cpp: Added.
1161 The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given
1162 unique database, keep track of the total disk usage per-origin, and policys per database/origin
1163 (WebCore::DatabaseTracker::setDatabasePath):
1164 (WebCore::DatabaseTracker::databasePath):
1165 (WebCore::DatabaseTracker::tracker):
1166 (WebCore::DatabaseTracker::DatabaseTracker):
1167 (WebCore::DatabaseTracker::fullPathForDatabase):
1168 (WebCore::DatabaseTracker::populateOrigins):
1169 (WebCore::DatabaseTracker::origins):
1170 (WebCore::DatabaseTracker::databaseNamesForOrigin):
1171 (WebCore::DatabaseTracker::addDatabase):
1172 (WebCore::DatabaseTracker::deleteAllDatabases):
1173 (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
1174 * storage/DatabaseTracker.h: Added.
1176 * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
1177 (WebCore::SQLCallback::~SQLCallback):
1178 * storage/SQLCallback.idl: Added.
1180 * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
1181 (WebCore::SQLResultSet::SQLResultSet):
1182 (WebCore::SQLResultSet::insertId):
1183 (WebCore::SQLResultSet::rowsAffected):
1184 (WebCore::SQLResultSet::errorCode):
1185 (WebCore::SQLResultSet::error):
1186 (WebCore::SQLResultSet::rows):
1187 (WebCore::SQLResultSet::setInsertId):
1188 (WebCore::SQLResultSet::setRowsAffected):
1189 (WebCore::SQLResultSet::setErrorCode):
1190 (WebCore::SQLResultSet::setErrorMessage):
1191 * storage/SQLResultSet.h: Added.
1192 * storage/SQLResultSet.idl: Added.
1194 * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
1195 (WebCore::SQLResultSetRowList::length):
1196 * storage/SQLResultSetRowList.h: Added.
1197 (WebCore::SQLResultSetRowList::columnNames):
1198 (WebCore::SQLResultSetRowList::values):
1199 (WebCore::SQLResultSetRowList::addColumn):
1200 (WebCore::SQLResultSetRowList::addResult):
1201 * storage/SQLResultSetRowList.idl: Added.
1203 * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
1204 (WebCore::VersionChangeCallback::~VersionChangeCallback):
1205 * storage/VersionChangeCallback.idl: Added.
1207 2007-10-19 Brady Eidson <beidson@apple.com>
1209 Reviewed by Oliver + Same
1211 Forwarding header for the new wtf/Queue.h
1213 * ForwardingHeaders/wtf/Queue.h: Added.
1215 2007-10-19 Anders Carlsson <beidson@apple.com>
1217 Reviewed by Sam Weinig
1219 Most of the Javascript binding support for the Storage API
1221 * bindings/js/JSCustomSQLCallback.cpp: Added.
1222 (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
1223 (WebCore::JSCustomSQLCallback::handleEvent):
1224 * bindings/js/JSCustomSQLCallback.h: Added.
1225 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
1226 handleEvent to a JS function or a JS object with a handleEvent function.
1228 * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
1229 (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
1230 (WebCore::JSCustomVersionChangeCallback::handleEvent):
1231 * bindings/js/JSCustomVersionChangeCallback.h: Added.
1232 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
1233 handleEvent to a JS function or a JS object with a handleEvent function.
1235 * bindings/js/JSDatabaseCustom.cpp: Added.
1236 (WebCore::JSDatabase::executeSql):
1237 Custom implementation of executeSql that takes an array of parameters.
1239 (WebCore::JSDatabase::changeVersion):
1240 Custom implementation of changeVersion.
1242 * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
1243 (WebCore::JSSQLResultSetRowList::item):
1244 Custom method that returns a JS object that corresponds to a given row in the database.
1246 * bindings/scripts/CodeGeneratorJS.pm:
1248 * page/DOMWindow.cpp:
1249 (WebCore::DOMWindow::openDatabase):
1251 * page/DOMWindow.idl:
1252 Add openDatabase implementation.
1254 2007-10-19 Brady Eidson <beidson@apple.com>
1258 Added tons of utility to the FileSystem abstractions, including moving
1259 some stuff over from IconDatabase
1261 * platform/FileSystem.h:
1263 * platform/cf/FileSystemCF.cpp: Added.
1264 (WebCore::fileSystemRepresentation):
1266 * platform/mac/FileSystemMac.mm:
1268 * platform/posix/FileSystemPOSIX.cpp: Added.
1269 (WebCore::fileExists):
1270 (WebCore::deleteFile):
1271 (WebCore::fileSize):
1272 (WebCore::pathByAppendingComponent):
1273 (WebCore::makeAllDirectories):
1275 2007-10-19 Timothy Hatcher <timothy@apple.com>
1277 Reviewed by Adam Roben
1279 Preliminary Web Inspector support for the Storage API
1280 (This patch does not include the support artwork)
1282 * page/InspectorController.cpp:
1283 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
1284 (WebCore::InspectorDatabaseResource::setScriptObject):
1285 (WebCore::databaseTableNames): Return the table names for a Database object.
1286 (WebCore::InspectorController::setWindowVisible):
1287 (WebCore::InspectorController::windowScriptObjectAvailable):
1288 (WebCore::InspectorController::populateScriptResources):
1289 (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
1290 (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
1291 (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
1292 (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
1293 (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
1294 * page/InspectorController.h:
1295 * page/inspector/Database.js: Added.
1296 * page/inspector/DatabasePanel.js: Added.
1297 * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
1298 * page/inspector/inspector.css: Add styles for the database panel.
1299 * page/inspector/inspector.html: Include DatabasePanel.js
1300 * page/inspector/inspector.js: Support for adding and removing Database resources.
1302 2007-10-19 Brady Eidson <beidson@apple.com>
1304 Reviewed by Tim Hatcher
1306 Added support for Chrome prompts required by the Storage API
1309 (WebCore::Chrome::runDatabaseSizeLimitPrompt):
1311 * page/ChromeClient.h:
1312 * platform/graphics/svg/SVGImageEmptyClients.h:
1314 2007-10-19 Brady Eidson <beidson@apple.com>
1316 Contributions and Review by Anders
1318 Various SQLite tweaks in preparation for the storage API
1320 * loader/icon/SQLDatabase.cpp:
1321 (WebCore::SQLDatabase::~SQLDatabase):
1322 (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
1323 (WebCore::SQLDatabase::setAuthorizer):
1324 (WebCore::SQLDatabase::lock):
1325 (WebCore::SQLDatabase::unlock):
1326 * loader/icon/SQLDatabase.h:
1328 * loader/icon/SQLStatement.cpp:
1329 (WebCore::SQLStatement::prepare): Switch to prepare16_v2
1330 (WebCore::SQLStatement::bindDouble): Added
1331 (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
1332 (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
1333 * loader/icon/SQLStatement.h:
1334 (WebCore::SQLStatement::isPrepared):
1336 * platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer
1337 * platform/sql/SQLAuthorizer.h: Added.
1338 (WebCore::SQLAuthorizer::~SQLAuthorizer):
1339 (WebCore::SQLAuthorizer::createTable):
1340 (WebCore::SQLAuthorizer::createTempTable):
1341 (WebCore::SQLAuthorizer::dropTable):
1342 (WebCore::SQLAuthorizer::dropTempTable):
1343 (WebCore::SQLAuthorizer::allowAlterTable):
1344 (WebCore::SQLAuthorizer::createIndex):
1345 (WebCore::SQLAuthorizer::createTempIndex):
1346 (WebCore::SQLAuthorizer::dropIndex):
1347 (WebCore::SQLAuthorizer::dropTempIndex):
1348 (WebCore::SQLAuthorizer::createTrigger):
1349 (WebCore::SQLAuthorizer::createTempTrigger):
1350 (WebCore::SQLAuthorizer::dropTrigger):
1351 (WebCore::SQLAuthorizer::dropTempTrigger):
1352 (WebCore::SQLAuthorizer::createView):
1353 (WebCore::SQLAuthorizer::createTempView):
1354 (WebCore::SQLAuthorizer::dropView):
1355 (WebCore::SQLAuthorizer::dropTempView):
1356 (WebCore::SQLAuthorizer::createVTable):
1357 (WebCore::SQLAuthorizer::dropVTable):
1358 (WebCore::SQLAuthorizer::allowDelete):
1359 (WebCore::SQLAuthorizer::allowInsert):
1360 (WebCore::SQLAuthorizer::allowUpdate):
1361 (WebCore::SQLAuthorizer::allowTransaction):
1362 (WebCore::SQLAuthorizer::allowSelect):
1363 (WebCore::SQLAuthorizer::allowRead):
1364 (WebCore::SQLAuthorizer::allowAttach):
1365 (WebCore::SQLAuthorizer::allowDetach):
1366 (WebCore::SQLAuthorizer::allowReindex):
1367 (WebCore::SQLAuthorizer::allowAnalyze):
1368 (WebCore::SQLAuthorizer::allowFunction):
1370 * platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types.
1371 For now, just a String or a double
1372 (WebCore::SQLValue::SQLValue):
1373 (WebCore::SQLValue::string):
1374 (WebCore::SQLValue::number):
1375 * platform/sql/SQLValue.h: Added.
1376 (WebCore::SQLValue::):
1377 (WebCore::SQLValue::SQLValue):
1378 (WebCore::SQLValue::type):
1380 2007-10-19 Brady Eidson <beidson@apple.com>
1384 Changed IconDatabase over to use new FileSystem apis
1386 * loader/icon/IconDatabase.cpp:
1387 (WebCore::IconDatabase::open):
1389 2007-10-19 David Hyatt <hyatt@apple.com>
1391 Fix for ebay parser crash.
1395 fast/invalid/table-residual-style-crash.html added as a test
1397 * html/HTMLParser.cpp:
1398 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1400 2007-10-19 Sam Weinig <sam@webkit.org>
1402 Fix Windows, Qt and GTK builds.
1405 * WebCore.vcproj/WebCore.vcproj:
1407 2007-10-19 Sam Weinig <sam@webkit.org>
1411 Encapsulate the same origin check into the new SecurityOrigin class.
1413 * WebCore.xcodeproj/project.pbxproj:
1414 * bindings/js/kjs_window.cpp:
1415 (KJS::Window::isSafeScript):
1417 (WebCore::Document::Document):
1418 (WebCore::Document::defaultEventHandler):
1420 (WebCore::Document::securityOrigin):
1421 * loader/FrameLoader.cpp:
1422 (WebCore::FrameLoader::begin):
1423 (WebCore::FrameLoader::setOpener):
1424 * loader/FrameLoader.h:
1425 * platform/SecurityOrigin.cpp: Added.
1426 (WebCore::SecurityOrigin::SecurityOrigin):
1427 (WebCore::SecurityOrigin::clear):
1428 (WebCore::SecurityOrigin::isEmpty):
1429 (WebCore::SecurityOrigin::setForFrame):
1430 (WebCore::SecurityOrigin::setDomainFromDOM):
1431 (WebCore::SecurityOrigin::allowsAccessFrom):
1432 (WebCore::SecurityOrigin::isSecureTransitionTo):
1433 * platform/SecurityOrigin.h: Added.
1435 2007-10-19 Simon Hausmann <hausmann@kde.org>
1437 Fix the Qt/Windows build: Added missing FontSelector.h include.
1439 * platform/qt/FontQt.cpp:
1441 2007-10-19 Simon Hausmann <hausmann@kde.org>
1445 Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
1447 * platform/Threading.h:
1449 2007-10-19 Simon Hausmann <hausmann@kde.org>
1453 Fix the Qt/Windows build, don't use cat but use the perl print trick
1458 2007-10-18 Justin Garcia <justin.garcia@apple.com>
1460 Reviewed by Kevin McCullough.
1462 <rdar://problem/5483526>
1463 GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
1465 * editing/TextIterator.cpp:
1466 (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
1467 between every VisiblePosition. We weren't emitting a space after some tables, because
1468 we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
1471 2007-10-18 Dan Bernstein <dan.bernstein@apple.com>
1473 Reviewed by Adam Roben.
1475 - fix <rdar://problem/5313523>
1476 REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
1478 * platform/network/mac/ResourceResponseMac.mm:
1479 (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
1480 <rdar://problem/5321972> by testing for the case of a response
1481 with a MIME type of application/octet-stream and a Content-Type header
1482 starting with text/plain and setting the MIME type to text/plain in
1485 2007-10-18 Mark Rowe <mrowe@apple.com>
1487 Fix the no-SVG build.
1489 * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
1490 LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
1492 2007-10-18 Darin Adler <darin@apple.com>
1496 - some small tweaks to the threading implementation
1498 I had trouble building on Windows. Either the problem went away by itself
1499 or one of these changes fixed it.
1501 * platform/Threading.h: Eliminated the use of friend, and shared a single
1502 declaration for the initializeThreading function.
1504 * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
1507 * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
1508 constructors. Also added a typedef for the type of the function queue.
1509 (WebCore::functionQueueMutex): Added function.
1510 (WebCore::functionQueue): Ditto.
1511 (WebCore::callFunctionsOnMainThread): Use functions instead of using the
1513 (WebCore::callOnMainThread): Ditto.
1515 * css/CSSParser.cpp: Had to touch this file to make things build.
1517 2007-10-18 Adam Roben <aroben@apple.com>
1519 Fix <rdar://5547462> Need to copy Inspector resources in Production builds
1521 I also added an excludes file for the xcopy command to avoid copying
1526 * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
1528 * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
1530 * WebCore.vcproj/xcopy.excludes: Added.
1532 2007-10-18 Darin Adler <darin@apple.com>
1536 - fix http://bugs.webkit.org/show_bug.cgi?id=15541
1537 REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
1539 * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
1541 2007-10-18 Nikolas Zimmermann <zimmermann@kde.org>
1543 Build fix. Not reviewed.
1545 Hopefully fix win build by including wtf/MathExtras.h.
1547 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1549 2007-10-18 Dan Bernstein <dan.bernstein@apple.com>
1551 Reviewed by Nikolas Zimmermann.
1553 - fix http://bugs.webkit.org/show_bug.cgi?id=15367
1554 Assertion failure inspecting a document including soft hyphen code (0xad)
1556 Test: fast/text/word-break-soft-hyphen.html
1558 * rendering/RenderText.cpp:
1559 (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as
1560 word boundaries. This fixes the bug and is consistent with the fact that
1561 run rounding does occur at soft hyphens.
1563 2007-10-18 Nikolas Zimmermann <zimmermann@kde.org>
1567 Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
1568 Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
1570 Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
1571 to avoid excessive mallocs (in the testcase above 1000000x1000000)
1573 * ksvg2/svg/SVGMaskElement.cpp:
1574 (WebCore::SVGMaskElement::drawMaskerContent):
1575 * ksvg2/svg/SVGPatternElement.cpp:
1576 (WebCore::SVGPatternElement::buildPattern):
1577 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1578 (WebCore::SVGPaintServerGradient::teardown):
1579 (WebCore::SVGPaintServerGradient::setup):
1580 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1581 (WebCore::SVGResourceMasker::applyMask):
1582 * rendering/SVGRenderSupport.cpp:
1583 (WebCore::clampImageBufferSizeToViewport):
1584 * rendering/SVGRenderSupport.h:
1586 2007-10-18 Alexey Proskuryakov <ap@webkit.org>
1590 * css/CSSStyleSelector.cpp:
1591 (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
1593 2007-10-18 Alexey Proskuryakov <ap@webkit.org>
1597 * css/CSSStyleSelector.cpp:
1598 (WebCore::CSSStyleSelector::applyProperty):
1600 2007-10-18 Alexey Proskuryakov <ap@webkit.org>
1604 Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
1605 and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
1607 * WebCore.xcodeproj/project.pbxproj:
1608 * css/CSSComputedStyleDeclaration.cpp:
1609 (WebCore::getPositionOffsetValue):
1610 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1611 * css/CSSPrimitiveValue.cpp:
1612 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1613 (WebCore::CSSPrimitiveValue::init):
1614 * css/CSSPrimitiveValue.h:
1615 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1616 * css/CSSPrimitiveValueMappings.h: Added.
1617 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1618 (WebCore::CSSPrimitiveValue::operator EBorderStyle):
1619 (WebCore::CSSPrimitiveValue::operator CompositeOperator):
1620 (WebCore::CSSPrimitiveValue::operator EAppearance):
1621 (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
1622 (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
1623 (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
1624 (WebCore::CSSPrimitiveValue::operator EBoxDirection):
1625 (WebCore::CSSPrimitiveValue::operator EBoxLines):
1626 (WebCore::CSSPrimitiveValue::operator EBoxOrient):
1627 (WebCore::CSSPrimitiveValue::operator ECaptionSide):
1628 (WebCore::CSSPrimitiveValue::operator EClear):
1629 (WebCore::CSSPrimitiveValue::operator ECursor):
1630 (WebCore::CSSPrimitiveValue::operator EDisplay):
1631 (WebCore::CSSPrimitiveValue::operator EEmptyCell):
1632 (WebCore::CSSPrimitiveValue::operator EFloat):
1633 (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
1634 (WebCore::CSSPrimitiveValue::operator EListStylePosition):
1635 (WebCore::CSSPrimitiveValue::operator EListStyleType):
1636 (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
1637 (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
1638 (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
1639 (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
1640 (WebCore::CSSPrimitiveValue::operator ENBSPMode):
1641 (WebCore::CSSPrimitiveValue::operator EOverflow):
1642 (WebCore::CSSPrimitiveValue::operator EPageBreak):
1643 (WebCore::CSSPrimitiveValue::operator EPosition):
1644 (WebCore::CSSPrimitiveValue::operator EResize):
1645 (WebCore::CSSPrimitiveValue::operator ETableLayout):
1646 (WebCore::CSSPrimitiveValue::operator ETextAlign):
1647 (WebCore::CSSPrimitiveValue::operator ETextSecurity):
1648 (WebCore::CSSPrimitiveValue::operator ETextTransform):
1649 (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
1650 (WebCore::CSSPrimitiveValue::operator EUserDrag):
1651 (WebCore::CSSPrimitiveValue::operator EUserModify):
1652 (WebCore::CSSPrimitiveValue::operator EUserSelect):
1653 (WebCore::CSSPrimitiveValue::operator EVisibility):
1654 (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
1655 (WebCore::CSSPrimitiveValue::operator EWordBreak):
1656 (WebCore::CSSPrimitiveValue::operator EWordWrap):
1657 (WebCore::CSSPrimitiveValue::operator LineCap):
1658 (WebCore::CSSPrimitiveValue::operator LineJoin):
1659 (WebCore::CSSPrimitiveValue::operator TextDirection):
1660 (WebCore::CSSPrimitiveValue::operator WindRule):
1661 (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
1662 (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
1663 (WebCore::CSSPrimitiveValue::operator EColorRendering):
1664 (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
1665 (WebCore::CSSPrimitiveValue::operator EImageRendering):
1666 (WebCore::CSSPrimitiveValue::operator EPointerEvents):
1667 (WebCore::CSSPrimitiveValue::operator EShapeRendering):
1668 (WebCore::CSSPrimitiveValue::operator ETextAnchor):
1669 (WebCore::CSSPrimitiveValue::operator ETextRendering):
1670 (WebCore::CSSPrimitiveValue::operator EWritingMode):
1671 * css/CSSStyleSelector.cpp:
1672 (WebCore::CSSStyleSelector::checkSelector):
1673 (WebCore::CSSStyleSelector::checkOneSelector):
1674 (WebCore::CSSRuleSet::addRulesFromSheet):
1675 (WebCore::convertToLength):
1676 (WebCore::CSSStyleSelector::applyDeclarations):
1677 (WebCore::CSSStyleSelector::applyProperty):
1678 (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1679 (WebCore::CSSStyleSelector::mapBackgroundClip):
1680 (WebCore::CSSStyleSelector::mapBackgroundComposite):
1681 (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1682 (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1683 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1684 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1685 * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
1686 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1687 * ksvg2/css/SVGCSSStyleSelector.cpp:
1688 (WebCore::CSSStyleSelector::applySVGProperty):
1690 2007-10-18 Eric Seidel <eric@webkit.org>
1694 Fix crashers in SVGViewSpec::parseViewSpec
1695 http://bugs.webkit.org/show_bug.cgi?id=15504
1697 Test is blocked by bug 15503, landed as:
1698 * svg/dom/viewspec-parser.html-disabled
1700 * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
1701 * ksvg2/svg/SVGViewSpec.cpp:
1702 (WebCore::SVGViewSpec::parseViewSpec):
1703 * ksvg2/svg/SVGViewSpec.idl: Added.
1705 2007-10-17 Rob Buis <buis@kde.org>
1707 Reviewed by Darin, Adam, and Maciej.
1709 http://bugs.webkit.org/show_bug.cgi?id=12988
1710 First element (in document order) is not returned when other duplicate ID-ed elements were created first
1712 Reset the element id cache when an id is added and there is a duplicate for that id.
1715 (WebCore::Document::addElementById):
1717 2007-10-17 Mark Rowe <mrowe@apple.com>
1721 * Configurations/WebCore.xcconfig: Make it possible to include CoreGraphics header files.
1723 2007-10-17 Adam Roben <aroben@apple.com>
1725 Fix an ASSERT on launch on Windows
1727 Fix dictated to me by Brady.
1729 * loader/icon/IconDatabase.cpp:
1730 (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
1731 m_syncLock before going into the loop.
1733 2007-10-17 Adam Roben <aroben@apple.com>
1739 * platform/graphics/AffineTransform.h: Don't #include
1740 ApplicationServices.h.
1741 * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
1742 needed now that we're not #including ApplicationServices.h.
1744 2007-10-17 Mark Rowe <mrowe@apple.com>
1746 Gtk build fix. Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
1747 multiple-definition link errors.
1750 * platform/Threading.h:
1751 * platform/ThreadingNone.cpp: Added.
1752 (WebCore::createThread):
1753 (WebCore::waitForThreadCompletion):
1754 (WebCore::detachThread):
1755 (WebCore::Mutex::Mutex):
1756 (WebCore::Mutex::~Mutex):
1757 (WebCore::Mutex::lock):
1758 (WebCore::Mutex::tryLock):
1759 (WebCore::Mutex::unlock):
1760 (WebCore::ThreadCondition::ThreadCondition):
1762 2007-10-17 Anders Carlsson <andersca@apple.com>
1766 * WebCore.xcodeproj/project.pbxproj:
1767 * WebCore.vcproj/WebCore.vcproj:
1770 #define USE_PTHREADS on Windows.
1772 * loader/icon/IconDatabase.cpp:
1773 (WebCore::IconDatabase::getOrCreateIconRecord):
1774 (WebCore::IconDatabase::getOrCreatePageURLRecord):
1775 Update for mutex changes.
1777 * platform/Threading.h:
1779 (WebCore::ThreadSafeShared::ThreadSafeShared):
1780 (WebCore::ThreadSafeShared::ref):
1781 (WebCore::ThreadSafeShared::deref):
1782 (WebCore::ThreadSafeShared::hasOneRef):
1783 (WebCore::ThreadSafeShared::refCount):
1784 (WebCore::ThreadSafeShared::isThreadSafe):
1785 Add a new Shared base class that uses a mutex to manage its refcount.
1787 (WebCore::createThread):
1788 (WebCore::waitForThreadCompletion):
1789 (WebCore::detachThread):
1790 New functions for thread creation.
1792 (WebCore::Mutex::Mutex):
1793 (WebCore::Mutex::~Mutex):
1794 (WebCore::Mutex::lock):
1795 (WebCore::Mutex::tryLock):
1796 (WebCore::Mutex::unlock):
1797 Move the definitions to ThreadingPthreads.cpp
1799 (WebCore::ThreadCondition::ThreadCondition):
1800 (WebCore::ThreadCondition::~ThreadCondition):
1801 (WebCore::ThreadCondition::wait):
1802 (WebCore::ThreadCondition::signal):
1803 (WebCore::ThreadCondition::broadcast):
1804 Move the definitions to ThreadingPthreads.cpp
1806 * platform/pthreads: Added.
1807 * platform/pthreads/ThreadingPthreads.cpp: Added.
1808 Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
1810 2007-10-17 David Hyatt <hyatt@apple.com>
1812 Add support for creating a layer when a transform is in effect. Add support to RenderStyle for
1813 handing back a computed AffineTransform.
1815 Reviewed by Mitz Pettel
1817 * css/CSSStyleSelector.cpp:
1818 (WebCore::CSSStyleSelector::adjustRenderStyle):
1819 * rendering/RenderBox.cpp:
1820 (WebCore::RenderBox::setStyle):
1821 * rendering/RenderObject.cpp:
1822 (WebCore::RenderObject::RenderObject):
1823 (WebCore::RenderObject::requiresLayer):
1824 (WebCore::RenderObject::setStyle):
1825 * rendering/RenderObject.h:
1826 (WebCore::RenderObject::hasTransform):
1827 (WebCore::RenderObject::setHasTransform):
1828 * rendering/RenderStyle.cpp:
1829 (WebCore::RenderStyle::applyTransform):
1830 * rendering/RenderStyle.h:
1831 (WebCore::RenderStyle::hasTransform):
1832 * rendering/RenderTableCell.cpp:
1833 (WebCore::RenderTableCell::requiresLayer):
1834 * rendering/RenderTableRow.h:
1835 (WebCore::RenderTableRow::requiresLayer):
1837 2007-10-17 David Hyatt <hyatt@apple.com>
1839 Add support for mapping of the transform CSS property into RenderStyles. Everything is now ready for the front
1842 Reviewed by Mitz Pettel
1844 * WebCore.xcodeproj/project.pbxproj:
1845 * css/CSSStyleSelector.cpp:
1846 (WebCore::CSSStyleSelector::applyProperty):
1847 * css/CSSTransformValue.h:
1848 (WebCore::CSSTransformValue::type):
1849 (WebCore::CSSTransformValue::values):
1850 * platform/graphics/AffineTransform.cpp:
1851 (WebCore::AffineTransform::skew):
1852 * platform/graphics/AffineTransform.h:
1853 * rendering/RenderStyle.cpp:
1854 (WebCore::StyleTransformData::StyleTransformData):
1855 (WebCore::StyleTransformData::operator==):
1856 (WebCore::StyleTransformData::transformDataEquivalent):
1857 * rendering/RenderStyle.h:
1858 (WebCore::TransformOperation::~TransformOperation):
1859 (WebCore::TransformOperation::operator!=):
1860 (WebCore::TransformOperation::isScaleOperation):
1861 (WebCore::TransformOperation::isRotateOperation):
1862 (WebCore::TransformOperation::isSkewOperation):
1863 (WebCore::TransformOperation::isTranslateOperation):
1864 (WebCore::TransformOperation::isMatrixOperation):
1865 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
1866 (WebCore::ScaleTransformOperation::isScaleOperation):
1867 (WebCore::ScaleTransformOperation::operator==):
1868 (WebCore::ScaleTransformOperation::apply):
1869 (WebCore::RotateTransformOperation::RotateTransformOperation):
1870 (WebCore::RotateTransformOperation::isRotateOperation):
1871 (WebCore::RotateTransformOperation::operator==):
1872 (WebCore::RotateTransformOperation::apply):
1873 (WebCore::SkewTransformOperation::SkewTransformOperation):
1874 (WebCore::SkewTransformOperation::isSkewOperation):
1875 (WebCore::SkewTransformOperation::operator==):
1876 (WebCore::SkewTransformOperation::apply):
1877 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
1878 (WebCore::TranslateTransformOperation::isTranslateOperation):
1879 (WebCore::TranslateTransformOperation::operator==):
1880 (WebCore::TranslateTransformOperation::apply):
1881 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
1882 (WebCore::MatrixTransformOperation::isMatrixOperation):
1883 (WebCore::MatrixTransformOperation::operator==):
1884 (WebCore::MatrixTransformOperation::apply):
1885 (WebCore::StyleTransformData::operator!=):
1886 (WebCore::RenderStyle::transform):
1887 (WebCore::RenderStyle::setTransform):
1888 (WebCore::RenderStyle::initialTransform):
1890 2007-10-17 Adam Roben <aroben@apple.com>
1892 * page/Frame.cpp: I had to touch this file when fixing the Windows
1893 build. Checking it in in case it helps others, too.
1895 2007-10-17 Eric Seidel <eric@webkit.org>
1897 Reviewed by Mark Rowe.
1899 Remove a couple more uses of svg_dynamic_cast.
1901 No functional changes, no tests.
1903 * ksvg2/svg/SVGPatternElement.cpp:
1904 (WebCore::SVGPatternElement::buildPattern):
1906 2007-10-17 Mark Rowe <mrowe@apple.com>
1908 Reviewed by Eric and Geoff.
1910 <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
1911 http://bugs.webkit.org/show_bug.cgi?id=15191
1913 * loader/DocLoader.cpp:
1914 (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
1916 2007-10-17 Justin Garcia <justin.garcia@apple.com>
1918 Reviewed by Harrison.
1920 <rdar://problem/5481523>
1921 GoogleDocs: Safari hangs when indenting a particular table twice
1923 Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
1924 It is now more difficult to create selections that cause hangs. Those are covered by:
1925 <rdar://problem/5543472>
1927 * editing/IndentOutdentCommand.cpp:
1928 (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
1929 in the document, instead of the first Position.
1930 Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
1931 Tell TextIterator::rangeLength that we're doing selection preservation, so that it
1932 will emit characters between all VisiblePositions.
1933 (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
1934 passed to rangeFromLocationAndLength were reversed.
1935 Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
1937 * editing/TextIterator.cpp:
1938 (WebCore::CharacterIterator::CharacterIterator):
1939 (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
1940 to forSelectionPreservation, to match the name of the boolean inside TextIterator and
1941 to match its meaning after r25522.
1942 (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
1944 2007-10-16 Darin Adler <darin@apple.com>
1948 - fix http://bugs.webkit.org/show_bug.cgi?id=15536
1949 need to cache missing glyph so we're not slow on pages that show missing glyphs
1951 - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
1952 (related to font data caching)
1954 * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
1955 for fontData rather than for glyph to detect non-cached entries in the glyph data.
1957 * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
1958 * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
1959 * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
1960 Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
1961 to return the proper value for haveGlyphs.
1963 2007-10-16 Mark Rowe <mrowe@apple.com>
1965 Gtk build fix. Replace use of assert with ASSERT_NOT_REACHED.
1967 * platform/gtk/FontCacheGtk.cpp:
1968 (WebCore::FontCache::platformInit):
1970 2007-10-16 Darin Adler <darin@apple.com>
1974 - fix http://bugs.webkit.org/show_bug.cgi?id=15534
1975 WebScriptObject.h has some formatting and editorial mistakes
1977 * bindings/objc/WebScriptObject.h: Fix wording and formatting.
1979 2007-10-16 Darin Adler <darin@apple.com>
1981 - try to fix the Qt build
1983 * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
1984 that are used in some Qt-specific source files.
1986 2007-10-16 Darin Adler <darin@apple.com>
1990 - fix http://bugs.webkit.org/show_bug.cgi?id=15525
1991 transpose (control-T) should do the last two characters on a line if at end of line
1992 - remove unused CommandByName class
1993 - move transpose command implementation here from Mac OS X WebKit
1996 * editing/Editor.cpp:
1997 (WebCore::execTranspose): Added.
1998 (WebCore::Editor::transpose): Added. This has the transpose implementation from
1999 WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
2000 a special case for the end of a paragraph.
2002 * page/Frame.h: Removed unused command() function member.
2003 * page/FramePrivate.h: Removed unused m_command data member.
2004 * page/Frame.cpp: Ditto.
2006 * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
2007 * page/mac/WebCoreFrameBridge.mm: Ditto.
2009 * WebCore.pro: Removed CommandByName.h/cpp.
2010 * WebCore.vcproj/WebCore.vcproj: Ditto.
2011 * WebCore.xcodeproj/project.pbxproj: Ditto.
2013 * editing/CommandByName.cpp: Removed.
2014 * editing/CommandByName.h: Removed.
2016 2007-10-16 Darin Adler <darin@apple.com>
2018 Reviewed by Maciej and Geoff (and looked over by Eric).
2020 - http://bugs.webkit.org/show_bug.cgi?id=15519
2021 eliminate use of <ctype.h> for processing ASCII
2023 * ForwardingHeaders/wtf/ASCIICType.h: Added.
2024 * ForwardingHeaders/wtf/DisallowCType.h: Added.
2026 * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
2027 * config.h: Include DisallowCType.h.
2029 * css/CSSParser.cpp:
2030 (WebCore::ParseString::lower):
2031 * css/CSSPrimitiveValue.cpp:
2032 (WebCore::isCSSTokenizerIdentifier):
2033 * css/CSSStyleDeclaration.cpp:
2034 (WebCore::propertyID):
2035 * html/HTMLSelectElement.cpp:
2036 (WebCore::stripLeadingWhiteSpace):
2037 * html/HTMLTokenizer.cpp:
2038 (WebCore::tagMatch):
2039 * loader/FTPDirectoryParser.cpp:
2040 (WebCore::parseOneFTPLine):
2041 * loader/TextResourceDecoder.cpp:
2042 (WebCore::TextResourceDecoder::checkForHeadCharset):
2043 * platform/DeprecatedCString.cpp:
2044 (WebCore::DeprecatedCString::lower):
2045 (WebCore::DeprecatedCString::upper):
2046 (WebCore::DeprecatedCString::find):
2047 (WebCore::DeprecatedCString::contains):
2048 * platform/DeprecatedString.cpp:
2049 (WebCore::equalCaseInsensitive):
2050 (WebCore::isCharacterAllowedInBase):
2051 (WebCore::DeprecatedString::find):
2052 (WebCore::DeprecatedString::contains):
2053 (WebCore::toIntegralType):
2054 * platform/DeprecatedString.h:
2055 (WebCore::DeprecatedChar::isSpace):
2056 (WebCore::DeprecatedChar::lower):
2057 (WebCore::DeprecatedChar::upper):
2058 * platform/KURL.cpp:
2059 (WebCore::KURL::parse):
2060 * platform/StringImpl.cpp:
2062 (WebCore::StringImpl::containsOnlyWhitespace):
2063 (WebCore::StringImpl::isLower):
2064 (WebCore::StringImpl::lower):
2065 (WebCore::StringImpl::find):
2066 (WebCore::StringImpl::reverseFind):
2067 (WebCore::equalIgnoringCase):
2068 * platform/TextEncodingRegistry.cpp:
2069 (WebCore::TextEncodingNameHash::equal):
2070 (WebCore::TextEncodingNameHash::hash):
2071 (WebCore::atomicCanonicalTextEncodingName):
2072 * platform/mac/KeyEventMac.mm:
2073 (WebCore::keyIdentifierForKeyEvent):
2074 * platform/win/KeyEventWin.cpp:
2075 (WebCore::keyIdentifierForWindowsKeyCode):
2076 * platform/win/PopupMenuWin.cpp:
2077 (WebCore::isASCIIPrintable):
2078 (WebCore::PopupWndProc):
2079 * plugins/win/PluginViewWin.cpp:
2080 (WebCore::capitalizeRFC822HeaderFieldName):
2081 * rendering/RenderText.cpp:
2082 (WebCore::RenderText::widthFromCache):
2083 Use ASCIICType.h functions instead of ctype.h ones.
2085 2007-10-16 Mitz Pettel <mitz@webkit.org>
2087 Reviewed by Dave Hyatt.
2089 - fix http://bugs.webkit.org/show_bug.cgi?id=15296
2090 REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
2092 Test: fast/block/float/marquee-shrink-to-avoid-floats.html
2094 * rendering/RenderObject.cpp:
2095 (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
2097 2007-10-16 Beth Dakin <bdakin@apple.com>
2101 Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders
2102 Amazon seller page way too small
2104 The font size at Amazon was way too small because the calls to
2105 getComputedStyle and getPropertyValue did not cause the div to
2106 attach because there was a pending stylesheet. The fix is to call
2107 updateLayoutIgnorePendingStylesheets() instead of just
2110 * css/CSSComputedStyleDeclaration.cpp:
2111 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2113 2007-10-16 David Hyatt <hyatt@apple.com>
2115 Get transform-origin(x/y) mapped into the front end RenderStyle. Adds a new StyleTransformData struct that
2116 holds transform-origin (and that will also eventually hold the parsed transform operations as well).
2120 * css/CSSStyleSelector.cpp:
2121 (WebCore::CSSStyleSelector::applyProperty):
2122 * rendering/RenderStyle.cpp:
2123 (WebCore::StyleTransformData::StyleTransformData):
2124 (WebCore::StyleTransformData::operator==):
2125 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2126 (WebCore::StyleRareNonInheritedData::operator==):
2127 (WebCore::RenderStyle::RenderStyle):
2128 (WebCore::RenderStyle::diff):
2129 * rendering/RenderStyle.h:
2130 (WebCore::StyleTransformData::operator!=):
2131 (WebCore::RenderStyle::transformOriginX):
2132 (WebCore::RenderStyle::transformOriginY):
2133 (WebCore::RenderStyle::setTransformOriginX):
2134 (WebCore::RenderStyle::setTransformOriginY):
2135 (WebCore::RenderStyle::initialTransformOriginX):
2136 (WebCore::RenderStyle::initialTransformOriginY):
2138 2007-10-16 Adele Peterson <adele@apple.com>
2142 Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
2144 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): When switching between types of select elements, call setRecalcListItems
2145 since recalcListItems updates the default selection in different ways for the different controls.
2147 2007-10-16 Alice Liu <alice.liu@apple.com>
2149 rubber-stamped by Darin.
2151 flipping my previous fix around so that mac is special-cased instead of win.
2154 (WebCore::Document::defaultEventHandler):
2156 2007-10-16 David Hyatt <hyatt@apple.com>
2158 Clean up transform parsing. Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
2159 to simplify the code.
2163 * css/CSSParser.cpp:
2164 (WebCore::CSSParser::parseValue):
2165 (WebCore::CSSParser::parseTransform):
2168 2007-10-16 Alice Liu <alice.liu@apple.com>
2172 fixed <rdar://5085596> Accesskeys don't work
2175 (WebCore::Document::defaultEventHandler):
2176 accesskey modifier is platform-depedent.
2178 2007-10-15 Mark Rowe <mrowe@apple.com>
2182 <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL
2184 A race condition between icon database import and Safari asking for an icon for the empty URL
2185 was resulting in a PageURLRecord being created for a URL that can never be retained. By enforcing
2186 that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.
2188 * loader/icon/IconDatabase.cpp:
2189 (WebCore::IconDatabase::iconForPageURL):
2190 (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
2191 (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.
2193 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
2197 Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
2198 over m_deliveryData instead of its data buffer
2200 * plugins/win/PluginStreamWin.cpp:
2201 (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
2203 (WebCore::PluginStreamWin::deliverData): Fix memmove() call
2204 (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
2205 * plugins/win/PluginStreamWin.h: Use OwnPtr
2207 2007-10-15 Steve Falkenburg <sfalken@apple.com>
2211 Add missing null check.
2213 * platform/network/cf/AuthenticationCF.cpp:
2216 2007-10-15 Mark Rowe <mrowe@apple.com>
2218 Fix the no-SVG build again. Add new transform CSS properties to the switch statements.
2220 * css/CSSComputedStyleDeclaration.cpp:
2221 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2222 * css/CSSStyleSelector.cpp:
2223 (WebCore::CSSStyleSelector::applyProperty):
2225 2007-10-15 Darin Adler <darin@apple.com>
2229 - http://bugs.webkit.org/show_bug.cgi?id=15518
2230 Remove the unused attemptFontSubstitution feature and do some
2231 cleanup of glyphDataForCharacter.
2234 * platform/Font.cpp:
2235 (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
2236 and cluster parameters to the glyphDataForCharacter function.
2237 (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
2238 attemptFontSubstitution parameter. Removed the isUpper check before calling
2239 toUpper in the small caps code path. Split up the inner loop into separate
2240 copies for non-small-caps and small caps. Broke out the system fallback
2241 page handling so it's not inside the loop. Changed system fallback so it uses
2242 the character and breaks it up into UTF-16 as needed, instead of using a
2243 passed-in "character cluster".
2245 * platform/TextStyle.h:
2246 (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
2247 (WebCore::TextStyle::applyWordRounding): Ditto.
2249 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
2253 Remove an operator precedence warning on Windows
2255 * editing/markup.cpp:
2256 (WebCore::escapeContentText): Use (a) | (b)
2257 (WebCore::appendEscapedContent): Use (a) | (b)
2259 2007-10-15 Kevin McCullough <kmccullough@apple.com>
2263 - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
2264 - Now we take the doc into account when resizing.
2265 - Also I found an issue where we would resize to outside the window, because
2266 the resize would be smaller than the window size but the location of the
2267 window would make the resize go off-screen. Now we move the window back into the screen.
2269 * bindings/js/kjs_window.cpp:
2270 (KJS::adjustWindowRect):
2271 (KJS::WindowFunc::callAsFunction):
2273 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
2277 <rdar://5510700> Repro crash loading embedded Windows Media Player
2280 Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
2281 will crash if it receives its resource requests out of order, whereas we
2282 were immediately fulfilling untargeted, non-JavaScript requests and
2283 scheduling targeted or JavaScript resource requests. Implement his
2284 suggested fix, which is to schedule PluginRequests for all resource
2287 * plugins/win/PluginViewWin.cpp:
2288 (WebCore::getString):
2289 (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
2290 has no target, create a stream for it
2291 (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
2294 2007-10-15 Mark Rowe <mrowe@apple.com>
2296 Gtk and Qt build fix. Add new .cpp file to project.
2300 2007-10-15 John Sullivan <sullivan@apple.com>
2302 * platform/mac/FontDataMac.mm:
2303 D'oh! Added missing #import to fix build
2305 2007-10-15 John Sullivan <sullivan@apple.com>
2309 * platform/mac/FontDataMac.mm:
2310 (WebCore::FontData::smallCapsFontData):
2311 replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS
2313 2007-10-15 David Hyatt <hyatt@apple.com>
2315 The CSS WG has been discussing the concept of rotation. In the latest draft specification, two properties
2316 have been introduced: rotation and rotation-point. I believe these properties should be generalized to
2317 allow for arbitrary transformations (e.g., translation, skew, rotate, scale).
2319 This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
2320 They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
2321 for arbitrary affine transforms rather than just rotation.
2323 Reviewed by Beth Dakin
2325 * WebCore.xcodeproj/project.pbxproj:
2326 * WebCore.vcproj/WebCore.vcproj:
2327 * css/CSSComputedStyleDeclaration.cpp:
2328 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2329 * css/CSSParser.cpp:
2330 (WebCore::CSSParser::parseValue):
2331 (WebCore::TransformParseContext:::m_list):
2332 (WebCore::TransformParseContext::list):
2333 (WebCore::TransformParseContext::failed):
2334 (WebCore::TransformParseContext::addValue):
2335 (WebCore::TransformOperationInfo::TransformOperationInfo):
2336 (WebCore::TransformOperationInfo::type):
2337 (WebCore::TransformOperationInfo::argCount):
2338 (WebCore::TransformOperationInfo::unit):
2339 (WebCore::TransformOperationInfo::unknown):
2340 (WebCore::TransformOperationInfo::hasCorrectArgCount):
2341 (WebCore::CSSParser::parseTransform):
2342 (WebCore::CSSParser::parseTransformOrigin):
2344 * css/CSSPropertyNames.in:
2345 * css/CSSTransformValue.cpp: Added.
2346 (WebCore::CSSTransformValue::CSSTransformValue):
2347 (WebCore::CSSTransformValue::~CSSTransformValue):
2348 (WebCore::CSSTransformValue::addValue):
2349 (WebCore::CSSTransformValue::cssText):
2350 * css/CSSTransformValue.h: Added.
2351 (WebCore::CSSTransformValue::):
2353 2007-10-15 Mark Rowe <mrowe@apple.com>
2357 Fix the no-SVG build.
2359 * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
2360 * rendering/RenderObject.cpp:
2361 (WebCore::objectIsRelayoutBoundary):
2363 2007-10-15 Darin Adler <darin@apple.com>
2367 - fix http://bugs.webkit.org/show_bug.cgi?id=15520
2368 alert(undefined) should say "undefined" in the alert
2370 Test: fast/dom/Window/alert-undefined.html
2372 * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
2373 It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
2376 2007-10-15 Adele Peterson <adele@apple.com>
2380 Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
2381 <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking
2383 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0. In general,
2384 we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.
2386 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
2390 Return a more appropriate error from NPN_RequestRange, which is
2391 currently unimplemented
2393 * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE
2396 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
2400 Add a missing function pointer to the m_browserFuncs structure
2402 * plugins/win/PluginPackageWin.cpp:
2403 (WebCore::PluginPackageWin::load):
2405 2007-10-15 Simon Hausmann <hausmann@kde.org>
2409 Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.
2412 * loader/CachedFont.cpp:
2413 * platform/qt/FontCacheQt.cpp: Removed.
2414 * platform/qt/FontCustomPlatformData.cpp: Removed.
2415 * platform/qt/FontCustomPlatformData.h: Removed.
2416 * platform/qt/FontDataQt.cpp: Removed.
2417 * platform/qt/FontPlatformData.h: Removed.
2418 * platform/qt/FontQt.cpp:
2419 * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
2421 2007-10-15 Simon Hausmann <hausmann@kde.org>
2425 Adapt to the latest API changes in the SVG API/Code.
2427 * platform/graphics/svg/qt/RenderPathQt.cpp:
2428 (WebCore::RenderPath::strokeContains):
2429 (WebCore::getPathStroke):
2430 * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
2431 (WebCore::SVGPaintServer::setPenProperties):
2432 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
2434 2007-10-14 Nikolas Zimmermann <zimmermann@kde.org>
2438 Fix bad abstraction in ImageBuffer class.
2439 While the class itself is platform-aware and thus it's location in platform/graphics
2440 is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.
2442 As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
2443 implicit platform/ <-> rendering/ dependencies.
2446 * WebCore.vcproj/WebCore.vcproj:
2447 * WebCore.xcodeproj/project.pbxproj:
2448 * ksvg2/svg/SVGMaskElement.cpp:
2449 (WebCore::SVGMaskElement::drawMaskerContent):
2450 * ksvg2/svg/SVGPatternElement.cpp:
2451 (WebCore::SVGPatternElement::buildPattern):
2452 * platform/graphics/ImageBuffer.cpp: Removed.
2453 * platform/graphics/ImageBuffer.h:
2454 (WebCore::ImageBuffer::size):
2455 * platform/graphics/svg/SVGImage.cpp:
2456 (WebCore::SVGImage::nativeImageForCurrentFrame):
2457 * rendering/SVGRenderSupport.cpp:
2458 (WebCore::renderSubtreeToImage):
2459 * rendering/SVGRenderSupport.h:
2461 2007-10-14 Peter Kasting <zerodpx@gmail.com>
2465 http://bugs.webkit.org/show_bug.cgi?id=15210
2466 Draw the image outline even for broken images.
2468 * rendering/RenderImage.cpp:
2469 (WebCore::RenderImage::paint):
2471 2007-10-14 Kevin Ollivier <kevino@theolliviers.com>
2475 Add support for MSVC7, and fix cases where PLATFORM(WIN) should
2476 be PLATFORM(WIN_OS) for other ports building on Windows.
2478 * dom/XMLTokenizer.cpp:
2479 * page/FrameTree.cpp:
2480 * platform/StaticConstructors.h:
2481 * platform/String.cpp:
2483 2007-10-14 Maxime Britto <mbritto@pleyo.com>
2487 Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
2488 http://bugs.webkit.org/show_bug.cgi?id=15212
2490 * loader/FrameLoader.cpp:
2491 (WebCore::FrameLoader::goBackOrForward):
2493 2007-10-14 Mitz Pettel <mitz@webkit.org>
2497 - fix http://bugs.webkit.org/show_bug.cgi?id=15181
2498 text-transform: uppercase not working in input (submit, reset, button) elements
2499 <rdar://problem/5474647>
2501 Test: fast/forms/button-text-transform.html
2503 Text transformations require access to the original text. The button's inner
2504 text was an anonymous RenderText, meaning it did not have a node to retrieve
2505 the original text from. The patch fixes this by changing the inner text into a
2506 RenderTextFragment, which stores its own original text.
2508 * rendering/RenderButton.cpp:
2509 (WebCore::RenderButton::setText):
2510 * rendering/RenderButton.h:
2512 2007-10-14 Eric Seidel <eric@webkit.org>
2516 REGRESSION: Javascript bug in getElementsByName
2517 http://bugs.webkit.org/show_bug.cgi?id=15274
2519 Test: fast/dom/getelementbyname-invalidation.html
2521 * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override
2523 2007-10-14 Mitz Pettel <mitz@webkit.org>
2527 - http://bugs.webkit.org/show_bug.cgi?id=15303
2528 Remove now-redundant code to restore dialog arguments after clear
2530 This patch reverts the kjs_window.* parts of r25576 because following
2531 r25783, window properties, including dialog arguments, are not cleared
2532 when the newly created modal dialog transitions to the document.
2534 * bindings/js/kjs_window.cpp:
2535 (KJS::WindowPrivate::WindowPrivate):
2536 (KJS::createWindow):
2537 (KJS::showModalDialog):
2538 (KJS::Window::clear):
2539 (KJS::WindowFunc::callAsFunction):
2540 (KJS::Window::setReturnValueSlot):
2541 * bindings/js/kjs_window.h:
2543 2007-10-14 Mitz Pettel <mitz@webkit.org>
2545 Reviewed by Dave Hyatt.
2547 - fix http://bugs.webkit.org/show_bug.cgi?id=15309
2548 <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild
2550 Test: fast/table/generated-caption.html
2552 * rendering/RenderTable.cpp:
2553 (WebCore::RenderTable::addChild): Changed to make sure that the child is
2554 not added into generated after content. Also made adding a child before
2555 a table caption work correctly instead of adding the child after the caption.
2557 2007-10-14 Peter Kasting <zerodpx@gmail.com>
2561 http://bugs.webkit.org/show_bug.cgi?id=15141
2562 Feed GIF reader data from the point in the stream it expects. Also,
2563 mirror the reader's failure state up to the wrapping decoder.
2565 * platform/image-decoders/gif/GIFImageReader.cpp:
2566 (GIFImageReader::read):
2568 2007-10-14 Peter Kasting <zerodpx@gmail.com>
2572 http://bugs.webkit.org/show_bug.cgi?id=15142
2573 Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
2574 even if more data has arrived since the last decoding pass.
2576 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2577 (WebCore::GIFImageDecoder::frameBufferAtIndex):
2579 == Rolled over to ChangeLog-2007-10-14 ==